]> granicus.if.org Git - vim/commitdiff
patch 7.4.945 v7.4.945
authorBram Moolenaar <Bram@vim.org>
Mon, 30 Nov 2015 20:38:24 +0000 (21:38 +0100)
committerBram Moolenaar <Bram@vim.org>
Mon, 30 Nov 2015 20:38:24 +0000 (21:38 +0100)
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.

Filelist
runtime/doc/eval.txt
runtime/doc/usr_41.txt
src/testdir/Makefile
src/testdir/test100.in
src/testdir/test100.ok
src/testdir/test_assert.vim
src/testdir/test_undolevels.vim [new file with mode: 0644]
src/version.c

index 71d75cbc23a6049c9c0fb618aae87b323e2b89fe..6ad49e24d7880c4471252e30ab78a1c9a3d2cfb3 100644 (file)
--- 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 \
index aae05227b0317481c03fc9f181d42e4a3e7df214..9442996be15b91c930c554d522750ee70da96691 100644 (file)
@@ -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|
index 28bdbad8963414b3cf626970e55ec794f797cab8..eb1d5f7fb58c7a4b4172f3052a7b7fd3357bb6ed 100644 (file)
@@ -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
index 03384aa416000ca5061070f10ea1df0ec7edbcc3..3f65f435df227ffe5bef8e179b4cb7674166e6b6 100644 (file)
@@ -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
 
index 7bd88fe9c9ffd622dde3aefe55e4f4347eef60e4..9b140a4d274c961c9268d26782082ff2b09ac91a 100644 (file)
@@ -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'
 :"
index 477106b8f2146265b0076234868dce204b533ef7..4048dee4c64a64c2890b205960f285f40895a722 100644 (file)
@@ -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
index 61c77c57576459b4f8d34bcade7d7a34315ee71e..049ce988593fce1a71ad042798ab51e58d9759ac 100644 (file)
@@ -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 (file)
index 0000000..427cece
--- /dev/null
@@ -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
index 58cbf1d7bd14f465b711c95ca56431b2e5c792cc..89a2986077bb72f5d2bb467167554c1fd850231b 100644 (file)
@@ -741,6 +741,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    945,
 /**/
     944,
 /**/