summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2015-11-30 21:38:24 +0100
committerBram Moolenaar <Bram@vim.org>2015-11-30 21:38:24 +0100
commit683fa185a4b4ed7595e5942901548b8239ed5cdb (patch)
tree72dc382b7d35b2efe9cc966a3049f8a61d462559
parent43345546ae63710441f066648b8485fb545b3801 (diff)
downloadvim-git-683fa185a4b4ed7595e5942901548b8239ed5cdb.tar.gz
patch 7.4.945v7.4.945
Problem: New style testing is incomplete. Solution: Add the runtest script to the list of distributed files. Add the new functions to the function overview. Rename the functions to match Vim function style. Move undolevels testing into a new style test script.
-rw-r--r--Filelist1
-rw-r--r--runtime/doc/eval.txt32
-rw-r--r--runtime/doc/usr_41.txt7
-rw-r--r--src/testdir/Makefile3
-rw-r--r--src/testdir/test100.in41
-rw-r--r--src/testdir/test100.ok41
-rw-r--r--src/testdir/test_assert.vim18
-rw-r--r--src/testdir/test_undolevels.vim46
-rw-r--r--src/version.c2
9 files changed, 87 insertions, 104 deletions
diff --git a/Filelist b/Filelist
index 71d75cbc2..6ad49e24d 100644
--- a/Filelist
+++ b/Filelist
@@ -87,6 +87,7 @@ SRC_ALL = \
src/testdir/README.txt \
src/testdir/*.in \
src/testdir/sautest/autoload/*.vim \
+ src/testdir/runtest.vim \
src/testdir/test[0-9]*.ok \
src/testdir/test[0-9]*a.ok \
src/testdir/test_[a-z]*.ok \
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index aae05227b..9442996be 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
@@ -1380,7 +1380,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: >
@@ -1742,13 +1742,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}
@@ -2166,30 +2166,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 28bdbad89..eb1d5f7fb 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/testdir/Makefile b/src/testdir/Makefile
index 03384aa41..3f65f435d 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -68,7 +68,8 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
test_utf8.out \
test_writefile.out
-NEW_TESTS = test_assert.res
+NEW_TESTS = test_assert.res \
+ test_undolevels.res
SCRIPTS_GUI = test16.out
diff --git a/src/testdir/test100.in b/src/testdir/test100.in
index 7bd88fe9c..9b140a4d2 100644
--- a/src/testdir/test100.in
+++ b/src/testdir/test100.in
@@ -1,45 +1,8 @@
-Tests for 'undolevel' and 'lispwords' settings being global-local
+Tests for 'lispwords' settings being global-local
STARTTEST
:so small.vim
-:set nocompatible viminfo+=nviminfo ul=5
-:fu! FillBuffer()
- :for i in range(1,13)
- :put=i
- :exe "setg ul=" . &g:ul
- :endfor
-:endfu
-:fu! UndoLevel()
- :redir @a | setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |redir end
- :$put a
-:endfu
-:new one
-:0put ='ONE: expecting global undolevels: 5, local undolevels: -123456 (default)'
-:call FillBuffer()
-:earlier 10
-:call UndoLevel()
-:set ff=unix
-:%w! test.out
-:new two
-:0put ='TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)'
-:setlocal ul=2
-:call FillBuffer()
-:earlier 10
-:call UndoLevel()
-:setlocal ul=10
-:call UndoLevel()
-:set ff=unix
-:%w >> test.out
-:wincmd p
-:redir >>test.out | echo "global value shouldn't be changed and still be 5!" | echo 'ONE: expecting global undolevels: 5, local undolevels: -123456 (default)'|:setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |echo "" |redir end
-:new three
-:setglobal ul=50
-:1put ='global value should be changed to 50'
-:2put ='THREE: expecting global undolevels: 50, local undolevels: -123456 (default)'
-:call UndoLevel()
-:set ff=unix
-:%w >> test.out
-:"sleep 10
+:set nocompatible viminfo+=nviminfo
:"
:" Testing 'lispwords'
:"
diff --git a/src/testdir/test100.ok b/src/testdir/test100.ok
index 477106b8f..4048dee4c 100644
--- a/src/testdir/test100.ok
+++ b/src/testdir/test100.ok
@@ -1,44 +1,3 @@
-ONE: expecting global undolevels: 5, local undolevels: -123456 (default)
-1
-2
-3
-4
-5
-6
-7
-
-
- undolevels=5 global
- undolevels=-123456 local
-TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-
-
- undolevels=5 global
- undolevels=2 local
-
- undolevels=5 global
- undolevels=10 local
-
-global value shouldn't be changed and still be 5!
-ONE: expecting global undolevels: 5, local undolevels: -123456 (default)
- undolevels=5 global
- undolevels=-123456 local
-
-global value should be changed to 50
-THREE: expecting global undolevels: 50, local undolevels: -123456 (default)
-
- undolevels=50 global
- undolevels=-123456 local
Testing 'lispwords' local value
lispwords=foo,bar,baz
diff --git a/src/testdir/test_assert.vim b/src/testdir/test_assert.vim
index 61c77c575..049ce9885 100644
--- a/src/testdir/test_assert.vim
+++ b/src/testdir/test_assert.vim
@@ -1,19 +1,19 @@
" Test that the methods used for testing work.
-func Test_assertFalse()
- call assertFalse(0)
+func Test_assert_false()
+ call assert_false(0)
endfunc
-func Test_assertTrue()
- call assertTrue(1)
- call assertTrue(123)
+func Test_assert_true()
+ call assert_true(1)
+ call assert_true(123)
endfunc
-func Test_assertEqual()
+func Test_assert_equal()
let s = 'foo'
- call assertEqual('foo', s)
+ call assert_equal('foo', s)
let n = 4
- call assertEqual(4, n)
+ call assert_equal(4, n)
let l = [1, 2, 3]
- call assertEqual([1, 2, 3], l)
+ call assert_equal([1, 2, 3], l)
endfunc
diff --git a/src/testdir/test_undolevels.vim b/src/testdir/test_undolevels.vim
new file mode 100644
index 000000000..427cece24
--- /dev/null
+++ b/src/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/version.c b/src/version.c
index 58cbf1d7b..89a298607 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 945,
+/**/
944,
/**/
943,