diff options
-rw-r--r-- | runtime/doc/eval.txt | 32 | ||||
-rw-r--r-- | runtime/doc/usr_41.txt | 7 | ||||
-rw-r--r-- | src/nvim/testdir/Makefile | 3 | ||||
-rw-r--r-- | src/nvim/testdir/test_undolevels.vim | 46 | ||||
-rw-r--r-- | src/nvim/version.c | 2 |
5 files changed, 74 insertions, 16 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 91b4760ca5..38ac74f0af 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.4. Last change: 2015 Nov 29 +*eval.txt* For Vim version 7.4. Last change: 2015 Nov 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1376,7 +1376,7 @@ v:errmsg Last given error message. It's allowed to set this variable. < "errmsg" also works, for backwards compatibility. *v:errors* *errors-variable* -v:errors Errors found by assert functions, such as |assertTrue()|. +v:errors Errors found by assert functions, such as |assert_true()|. This is a list of strings. The assert functions append an item when an assert fails. To remove old results make it empty: > @@ -1737,13 +1737,13 @@ append( {lnum}, {string}) Number append {string} below line {lnum} append( {lnum}, {list}) Number append lines {list} below line {lnum} argc() Number number of files in the argument list argidx() Number current index in the argument list -arglistid( [{winnr}, [ {tabnr}]]) +arglistid( [{winnr} [, {tabnr}]]) Number argument list id argv( {nr}) String {nr} entry of the argument list argv( ) List the argument list -assertEqual( {exp}, {act}) none assert that {exp} equals {act} -assertFalse( {actual}) none assert that {actual} is false -assertTrue( {actual}) none assert that {actual} is true +assert_equal( {exp}, {act} [, {msg}]) none assert that {exp} equals {act} +assert_false( {actual} [, {msg}]) none assert that {actual} is false +assert_true( {actual} [, {msg}]) none assert that {actual} is true asin( {expr}) Float arc sine of {expr} atan( {expr}) Float arc tangent of {expr} atan2( {expr}, {expr}) Float arc tangent of {expr1} / {expr2} @@ -2173,30 +2173,36 @@ argv([{nr}]) The result is the {nr}th file in the argument list of the < Without the {nr} argument a |List| with the whole |arglist| is returned. - *assertEqual()* -assertEqual({expected}, {actual}) + *assert_equal()* +assert_equal({expected}, {actual}, [, {msg}]) When {expected} and {actual} are not equal an error message is added to |v:errors|. There is no automatic conversion, the String "4" is different from the Number 4. And the number 4 is different from the Float 4.0. The value of 'ignorecase' is not used here, case always matters. + When {msg} is omitted an error in the form "Expected + {expected} but got {actual}" is produced. Example: > - assertEqual('foo', 'bar') + assert_equal('foo', 'bar') < Will result in a string to be added to |v:errors|: test.vim line 12: Expected 'foo' but got 'bar' ~ -assertFalse({actual}) *assertFalse()* +assert_false({actual}, [, {msg}]) *assert_false()* When {actual} is not false an error message is added to - |v:errors|, like with |assertEqual()|.. + |v:errors|, like with |assert_equal()|.. A value is false when it is zero. When "{actual}" is not a number the assert fails. + When {msg} is omitted an error in the form "Expected False but + got {actual}" is produced. -assertTrue({actual}) *assertTrue()* +assert_true({actual}, [, {msg}]) *assert_true()* When {actual} is not true an error message is added to - |v:errors|, like with |assertEqual()|.. + |v:errors|, like with |assert_equal()|.. A value is true when it is a non-zeron number. When {actual} is not a number the assert fails. + When {msg} is omitted an error in the form "Expected True but + got {actual}" is produced. asin({expr}) *asin()* Return the arc sine of {expr} measured in radians, as a |Float| diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt index fe9d9b4d62..c6b143ca0e 100644 --- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -1,4 +1,4 @@ -*usr_41.txt* For Vim version 7.4. Last change: 2014 Aug 16 +*usr_41.txt* For Vim version 7.4. Last change: 2015 Nov 30 VIM USER MANUAL - by Bram Moolenaar @@ -888,6 +888,11 @@ Mappings: *mapping-functions* maparg() get rhs of a mapping wildmenumode() check if the wildmode is active +Testing: *test-functions* + assert_equal() assert that two expressions values are equal + assert_false() assert that an expression is false + assert_true() assert that an expression is true + Various: *various-functions* mode() get current editing mode visualmode() last visual mode used diff --git a/src/nvim/testdir/Makefile b/src/nvim/testdir/Makefile index 57d356705e..23a9b97d91 100644 --- a/src/nvim/testdir/Makefile +++ b/src/nvim/testdir/Makefile @@ -31,7 +31,8 @@ SCRIPTS := test_eval.out \ test_command_count.out \ test_cdo.out \ -NEW_TESTS = test_assert.res +NEW_TESTS = test_assert.res \ + test_undolevels.res SCRIPTS_GUI := test16.out diff --git a/src/nvim/testdir/test_undolevels.vim b/src/nvim/testdir/test_undolevels.vim new file mode 100644 index 0000000000..427cece24c --- /dev/null +++ b/src/nvim/testdir/test_undolevels.vim @@ -0,0 +1,46 @@ +" Tests for 'undolevels' + +set nocompatible viminfo+=nviminfo + +func FillBuffer() + for i in range(1,13) + put=i + " Set 'undolevels' to split undo. + exe "setg ul=" . &g:ul + endfor +endfunc + +func Test_global_local_undolevels() + new one + set undolevels=5 + call FillBuffer() + " will only undo the last 5 changes, end up with 13 - (5 + 1) = 7 lines + earlier 10 + call assert_equal(5, &g:undolevels) + call assert_equal(-123456, &l:undolevels) + call assert_equal('7', getline('$')) + + new two + setlocal undolevels=2 + call FillBuffer() + " will only undo the last 2 changes, end up with 13 - (2 + 1) = 10 lines + earlier 10 + call assert_equal(5, &g:undolevels) + call assert_equal(2, &l:undolevels) + call assert_equal('10', getline('$')) + + setlocal ul=10 + call assert_equal(5, &g:undolevels) + call assert_equal(10, &l:undolevels) + + " Setting local value in "two" must not change local value in "one" + wincmd p + call assert_equal(5, &g:undolevels) + call assert_equal(-123456, &l:undolevels) + + new three + setglobal ul=50 + call assert_equal(50, &g:undolevels) + call assert_equal(-123456, &l:undolevels) + +endfunc diff --git a/src/nvim/version.c b/src/nvim/version.c index e1b16d099b..45f3c39466 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -124,7 +124,7 @@ static int included_patches[] = { // 948 NA // 947, // 946, - // 945, + 945, 944, // 943, // 942, |