Patch 7.4.945 (after 7.4.944)
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.
Files: Filelist, runtime/doc/usr_41.txt, runtime/doc/eval.txt,
src/testdir/test_assert.vim, src/testdir/Makefile,
src/testdir/test_undolevels.vim, src/testdir/test100.in,
src/testdir/test100.ok
*** ../vim-7.4.944/Filelist 2015-11-02 12:50:49.752534446 +0100
--- Filelist 2015-11-29 17:36:43.198130329 +0100
***************
*** 87,92 ****
--- 87,93 ----
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 \
*** ../vim-7.4.944/runtime/doc/usr_41.txt 2014-06-17 17:48:21.768628007
+0200
--- runtime/doc/usr_41.txt 2015-11-30 20:43:14.879729497 +0100
***************
*** 884,889 ****
--- 888,898 ----
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
*** ../vim-7.4.944/runtime/doc/eval.txt 2015-11-29 17:34:30.455580245 +0100
--- runtime/doc/eval.txt 2015-11-30 20:42:59.263900121 +0100
***************
*** 1380,1386 ****
< "errmsg" also works, for backwards compatibility.
*v:errors* *errors-variable*
! v:errors Errors found by assert functions, such as |assertTrue()|.
This is a list of strings.
The assert functions append an item when an assert fails.
To remove old results make it empty: >
--- 1380,1386 ----
< "errmsg" also works, for backwards compatibility.
*v:errors* *errors-variable*
! 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: >
***************
*** 1740,1752 ****
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}]])
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
asin( {expr}) Float arc sine of {expr}
atan( {expr}) Float arc tangent of {expr}
atan2( {expr}, {expr}) Float arc tangent of {expr1} / {expr2}
--- 1742,1754 ----
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}]])
Number argument list id
argv( {nr}) String {nr} entry of the argument list
argv( ) List the argument list
! 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}
***************
*** 2164,2193 ****
< Without the {nr} argument a |List| with the whole |arglist| is
returned.
! *assertEqual()*
! assertEqual({expected}, {actual})
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.
Example: >
! assertEqual('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()*
When {actual} is not false an error message is added to
! |v:errors|, like with |assertEqual()|..
A value is false when it is zero. When "{actual}" is not a
number the assert fails.
! assertTrue({actual}) *assertTrue()*
When {actual} is not true an error message is added to
! |v:errors|, like with |assertEqual()|..
A value is true when it is a non-zeron number. When {actual}
is not a number the assert fails.
asin({expr}) *asin()*
Return the arc sine of {expr} measured in radians, as a |Float|
--- 2166,2201 ----
< Without the {nr} argument a |List| with the whole |arglist| is
returned.
! *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: >
! assert_equal('foo', 'bar')
< Will result in a string to be added to |v:errors|:
test.vim line 12: Expected 'foo' but got 'bar' ~
! assert_false({actual}, [, {msg}]) *assert_false()*
When {actual} is not false an error message is added to
! |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.
! assert_true({actual}, [, {msg}]) *assert_true()*
When {actual} is not true an error message is added to
! |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|
*** ../vim-7.4.944/src/testdir/test_assert.vim 2015-11-29 17:34:30.447580332
+0100
--- src/testdir/test_assert.vim 2015-11-30 20:38:01.451155011 +0100
***************
*** 1,19 ****
" Test that the methods used for testing work.
! func Test_assertFalse()
! call assertFalse(0)
endfunc
! func Test_assertTrue()
! call assertTrue(1)
! call assertTrue(123)
endfunc
! func Test_assertEqual()
let s = 'foo'
! call assertEqual('foo', s)
let n = 4
! call assertEqual(4, n)
let l = [1, 2, 3]
! call assertEqual([1, 2, 3], l)
endfunc
--- 1,19 ----
" Test that the methods used for testing work.
! func Test_assert_false()
! call assert_false(0)
endfunc
! func Test_assert_true()
! call assert_true(1)
! call assert_true(123)
endfunc
! func Test_assert_equal()
let s = 'foo'
! call assert_equal('foo', s)
let n = 4
! call assert_equal(4, n)
let l = [1, 2, 3]
! call assert_equal([1, 2, 3], l)
endfunc
*** ../vim-7.4.944/src/testdir/Makefile 2015-11-29 17:34:30.447580332 +0100
--- src/testdir/Makefile 2015-11-30 21:08:14.595330850 +0100
***************
*** 68,74 ****
test_utf8.out \
test_writefile.out
! NEW_TESTS = test_assert.res
SCRIPTS_GUI = test16.out
--- 68,75 ----
test_utf8.out \
test_writefile.out
! NEW_TESTS = test_assert.res \
! test_undolevels.res
SCRIPTS_GUI = test16.out
*** ../vim-7.4.944/src/testdir/test_undolevels.vim 2015-11-30
21:34:32.514090437 +0100
--- src/testdir/test_undolevels.vim 2015-11-30 21:23:59.493009966 +0100
***************
*** 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
*** ../vim-7.4.944/src/testdir/test100.in 2014-10-09 15:37:02.492904600
+0200
--- src/testdir/test100.in 2015-11-30 21:24:32.932644981 +0100
***************
*** 1,45 ****
! Tests for 'undolevel' and '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
:"
:" Testing 'lispwords'
:"
--- 1,8 ----
! Tests for 'lispwords' settings being global-local
STARTTEST
:so small.vim
! :set nocompatible viminfo+=nviminfo
:"
:" Testing 'lispwords'
:"
*** ../vim-7.4.944/src/testdir/test100.ok 2014-03-12 18:55:52.104906804
+0100
--- src/testdir/test100.ok 2015-11-30 21:24:57.588375881 +0100
***************
*** 1,44 ****
- 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
--- 1,3 ----
*** ../vim-7.4.944/src/version.c 2015-11-29 17:34:30.455580245 +0100
--- src/version.c 2015-11-30 21:25:31.272008262 +0100
***************
*** 743,744 ****
--- 743,746 ----
{ /* Add new patch number below this line */
+ /**/
+ 945,
/**/
--
hundred-and-one symptoms of being an internet addict:
164. You got out to buy software, instead of going out for a beer.
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.