aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlonerover <pathfinder1644@yahoo.com>2017-03-13 20:16:40 +0800
committerlonerover <pathfinder1644@yahoo.com>2017-03-13 20:24:48 +0800
commit76829898bdcbf7f19ea2c6099c45c414510c6a38 (patch)
tree4d19b148b4ef692b8c1045f78a5fe3b88c6427ff
parentec4c12570caa10a97c8a11e2fd1892fcb6068387 (diff)
downloadrneovim-76829898bdcbf7f19ea2c6099c45c414510c6a38.tar.gz
rneovim-76829898bdcbf7f19ea2c6099c45c414510c6a38.tar.bz2
rneovim-76829898bdcbf7f19ea2c6099c45c414510c6a38.zip
vim-patch:7.4.2305
Problem: Marks, writefile and nested function tests are old style. Solution: Turn them into new style tests. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/19a1669ffc796e30a83c5600f82f12ebf63a2261
-rw-r--r--src/nvim/testdir/Makefile4
-rw-r--r--src/nvim/testdir/test_marks.vim26
-rw-r--r--src/nvim/testdir/test_nested_function.vim32
-rw-r--r--src/nvim/testdir/test_writefile.vim16
-rw-r--r--src/nvim/version.c2
5 files changed, 78 insertions, 2 deletions
diff --git a/src/nvim/testdir/Makefile b/src/nvim/testdir/Makefile
index 740a10f153..9f9ecbc6c9 100644
--- a/src/nvim/testdir/Makefile
+++ b/src/nvim/testdir/Makefile
@@ -24,7 +24,6 @@ SCRIPTS ?= \
test64.out \
test73.out \
test79.out \
- test_marks.out \
# Tests using runtest.vim.
# Keep test_alot*.res as the last one, sort the others.
@@ -44,8 +43,10 @@ NEW_TESTS ?= \
test_increment_dbcs.res \
test_lambda.res \
test_langmap.res \
+ test_marks.res \
test_match.res \
test_matchadd_conceal.res \
+ test_nested_function.res \
test_quickfix.res \
test_signs.res \
test_syntax.res \
@@ -55,6 +56,7 @@ NEW_TESTS ?= \
test_viml.res \
test_visual.res \
test_window_id.res \
+ test_writefile.res \
test_alot.res
SCRIPTS_GUI := test16.out
diff --git a/src/nvim/testdir/test_marks.vim b/src/nvim/testdir/test_marks.vim
new file mode 100644
index 0000000000..d00b1ddc88
--- /dev/null
+++ b/src/nvim/testdir/test_marks.vim
@@ -0,0 +1,26 @@
+
+" Test that a deleted mark is restored after delete-undo-redo-undo.
+function! Test_Restore_DelMark()
+ enew!
+ call append(0, [" textline A", " textline B", " textline C"])
+ normal! 2gg
+ set nocp viminfo+=nviminfo
+ exe "normal! i\<C-G>u\<Esc>"
+ exe "normal! maddu\<C-R>u"
+ let pos = getpos("'a")
+ call assert_equal(2, pos[1])
+ call assert_equal(1, pos[2])
+ enew!
+endfunction
+
+" Test that CTRL-A and CTRL-X updates last changed mark '[, '].
+function! Test_Incr_Marks()
+ enew!
+ call append(0, ["123 123 123", "123 123 123", "123 123 123"])
+ normal! gg
+ execute "normal! \<C-A>`[v`]rAjwvjw\<C-X>`[v`]rX"
+ call assert_equal("AAA 123 123", getline(1))
+ call assert_equal("123 XXXXXXX", getline(2))
+ call assert_equal("XXX 123 123", getline(3))
+ enew!
+endfunction
diff --git a/src/nvim/testdir/test_nested_function.vim b/src/nvim/testdir/test_nested_function.vim
new file mode 100644
index 0000000000..f881730529
--- /dev/null
+++ b/src/nvim/testdir/test_nested_function.vim
@@ -0,0 +1,32 @@
+"Tests for nested functions
+"
+function! NestedFunc()
+ fu! Func1()
+ let g:text .= 'Func1 '
+ endfunction
+ call Func1()
+ fu! s:func2()
+ let g:text .= 's:func2 '
+ endfunction
+ call s:func2()
+ fu! s:_func3()
+ let g:text .= 's:_func3 '
+ endfunction
+ call s:_func3()
+ let fn = 'Func4'
+ fu! {fn}()
+ let g:text .= 'Func4 '
+ endfunction
+ call {fn}()
+ let fn = 'func5'
+ fu! s:{fn}()
+ let g:text .= 's:func5'
+ endfunction
+ call s:{fn}()
+endfunction
+
+function! Test_nested_functions()
+ let g:text = ''
+ call NestedFunc()
+ call assert_equal('Func1 s:func2 s:_func3 Func4 s:func5', g:text)
+endfunction
diff --git a/src/nvim/testdir/test_writefile.vim b/src/nvim/testdir/test_writefile.vim
new file mode 100644
index 0000000000..d820c580ac
--- /dev/null
+++ b/src/nvim/testdir/test_writefile.vim
@@ -0,0 +1,16 @@
+
+function! Test_WriteFile()
+ let f = tempname()
+ call writefile(["over","written"], f, "b")
+ call writefile(["hello","world"], f, "b")
+ call writefile(["!", "good"], f, "a")
+ call writefile(["morning"], f, "ab")
+ call writefile(["", "vimmers"], f, "ab")
+ let l = readfile(f)
+ call assert_equal("hello", l[0])
+ call assert_equal("world!", l[1])
+ call assert_equal("good", l[2])
+ call assert_equal("morning", l[3])
+ call assert_equal("vimmers", l[4])
+ call delete(f)
+endfunction
diff --git a/src/nvim/version.c b/src/nvim/version.c
index d2a2457dd4..e3da66af05 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -135,7 +135,7 @@ static int included_patches[] = {
// 2308 NA
// 2307,
// 2306,
- // 2305,
+ 2305,
// 2304 NA
// 2303,
// 2302 NA