aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Edmund Lazo <janedmundlazo@hotmail.com>2018-08-09 16:03:35 -0400
committerJan Edmund Lazo <janedmundlazo@hotmail.com>2018-08-09 16:06:00 -0400
commit1c1722105c025869eab8dbd67fd289afdf0c6a4b (patch)
treed2487ad0ec258c9a681a58bd578e6bbef9d12676
parent6853690c78c8fcbe0d5d3265cf9badaa7307c7cf (diff)
downloadrneovim-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
-rw-r--r--src/nvim/testdir/test_undo.vim44
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