aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/eval.txt32
-rw-r--r--runtime/doc/usr_41.txt7
-rw-r--r--src/nvim/testdir/Makefile3
-rw-r--r--src/nvim/testdir/test_undolevels.vim46
-rw-r--r--src/nvim/version.c2
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,