diff options
author | Jan Edmund Lazo <janedmundlazo@hotmail.com> | 2018-08-09 16:03:35 -0400 |
---|---|---|
committer | Jan Edmund Lazo <janedmundlazo@hotmail.com> | 2018-08-09 16:06:00 -0400 |
commit | 1c1722105c025869eab8dbd67fd289afdf0c6a4b (patch) | |
tree | d2487ad0ec258c9a681a58bd578e6bbef9d12676 /src | |
parent | 6853690c78c8fcbe0d5d3265cf9badaa7307c7cf (diff) | |
download | rneovim-1c1722105c025869eab8dbd67fd289afdf0c6a4b.tar.gz rneovim-1c1722105c025869eab8dbd67fd289afdf0c6a4b.tar.bz2 rneovim-1c1722105c025869eab8dbd67fd289afdf0c6a4b.zip |
vim-patch:8.1.0025: no test for the undofile() function
Problem: No test for the undofile() function.
Solution: Add test. (Dominique Pelle, closes vim/vim#2958)
https://github.com/vim/vim/commit/e5fa11186fde4a19e505eba403d3af8c61d11304
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/testdir/test_undo.vim | 44 |
1 files changed, 38 insertions, 6 deletions
diff --git a/src/nvim/testdir/test_undo.vim b/src/nvim/testdir/test_undo.vim index 3e6e276751..3dfb190a16 100644 --- a/src/nvim/testdir/test_undo.vim +++ b/src/nvim/testdir/test_undo.vim @@ -85,7 +85,7 @@ endfunc func FillBuffer() for i in range(1,13) put=i - " Set 'undolevels' to split undo. + " Set 'undolevels' to split undo. exe "setg ul=" . &g:ul endfor endfunc @@ -195,19 +195,19 @@ func Test_undolist() new set ul=100 - let a=execute('undolist') + let a = execute('undolist') call assert_equal("\nNothing to undo", a) " 1 leaf (2 changes). call feedkeys('achange1', 'xt') call feedkeys('achange2', 'xt') - let a=execute('undolist') + let a = execute('undolist') call assert_match("^\nnumber changes when *saved\n *2 *2 .*$", a) " 2 leaves. call feedkeys('u', 'xt') call feedkeys('achange3\<Esc>', 'xt') - let a=execute('undolist') + let a = execute('undolist') call assert_match("^\nnumber changes when *saved\n *2 *2 *.*\n *3 *2 .*$", a) close! endfunc @@ -330,7 +330,7 @@ endfunc " Also test this in an empty buffer. func Test_cmd_in_reg_undo() enew! - let @a="Ox\<Esc>jAy\<Esc>kdd" + let @a = "Ox\<Esc>jAy\<Esc>kdd" edit +/^$ test_undo.vim normal @au call assert_equal(0, &modified) @@ -339,7 +339,7 @@ func Test_cmd_in_reg_undo() normal @au call assert_equal(0, &modified) only! - let @a='' + let @a = '' endfunc func Test_redo_empty_line() @@ -357,3 +357,35 @@ func Test_undo_append() norm o quit endfunc + +funct Test_undofile() + " Test undofile() without setting 'undodir'. + if has('persistent_undo') + call assert_equal(fnamemodify('.Xundofoo.un~', ':p'), undofile('Xundofoo')) + else + call assert_equal('', undofile('Xundofoo')) + endif + call assert_equal('', undofile('')) + + " Test undofile() with 'undodir' set to to an existing directory. + call mkdir('Xundodir') + set undodir=Xundodir + let cwd = getcwd() + if has('win32') + " Replace windows drive such as C:... into C%... + let cwd = substitute(cwd, '^\([A-Z]\):', '\1%', 'g') + endif + let cwd = substitute(cwd . '/Xundofoo', '/', '%', 'g') + if has('persistent_undo') + call assert_equal('Xundodir/' . cwd, undofile('Xundofoo')) + else + call assert_equal('', undofile('Xundofoo')) + endif + call assert_equal('', undofile('')) + call delete('Xundodir', 'd') + + " Test undofile() with 'undodir' set to a non-existing directory. + call assert_equal('', undofile('Xundofoo')) + + set undodir& +endfunc |