vim-patch:7.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.

683fa185a4
This commit is contained in:
watiko 2015-12-13 20:15:48 +09:00
parent 593df501b3
commit 008c014cbe
5 changed files with 74 additions and 16 deletions

View 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 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. < "errmsg" also works, for backwards compatibility.
*v:errors* *errors-variable* *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. This is a list of strings.
The assert functions append an item when an assert fails. The assert functions append an item when an assert fails.
To remove old results make it empty: > 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} append( {lnum}, {list}) Number append lines {list} below line {lnum}
argc() Number number of files in the argument list argc() Number number of files in the argument list
argidx() Number current index in the argument list argidx() Number current index in the argument list
arglistid( [{winnr}, [ {tabnr}]]) arglistid( [{winnr} [, {tabnr}]])
Number argument list id Number argument list id
argv( {nr}) String {nr} entry of the argument list argv( {nr}) String {nr} entry of the argument list
argv( ) List the argument list argv( ) List the argument list
assertEqual( {exp}, {act}) none assert that {exp} equals {act} assert_equal( {exp}, {act} [, {msg}]) none assert that {exp} equals {act}
assertFalse( {actual}) none assert that {actual} is false assert_false( {actual} [, {msg}]) none assert that {actual} is false
assertTrue( {actual}) none assert that {actual} is true assert_true( {actual} [, {msg}]) none assert that {actual} is true
asin( {expr}) Float arc sine of {expr} asin( {expr}) Float arc sine of {expr}
atan( {expr}) Float arc tangent of {expr} atan( {expr}) Float arc tangent of {expr}
atan2( {expr}, {expr}) Float arc tangent of {expr1} / {expr2} 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 < Without the {nr} argument a |List| with the whole |arglist| is
returned. returned.
*assertEqual()* *assert_equal()*
assertEqual({expected}, {actual}) assert_equal({expected}, {actual}, [, {msg}])
When {expected} and {actual} are not equal an error message is When {expected} and {actual} are not equal an error message is
added to |v:errors|. added to |v:errors|.
There is no automatic conversion, the String "4" is different There is no automatic conversion, the String "4" is different
from the Number 4. And the number 4 is different from the from the Number 4. And the number 4 is different from the
Float 4.0. The value of 'ignorecase' is not used here, case Float 4.0. The value of 'ignorecase' is not used here, case
always matters. always matters.
When {msg} is omitted an error in the form "Expected
{expected} but got {actual}" is produced.
Example: > Example: >
assertEqual('foo', 'bar') assert_equal('foo', 'bar')
< Will result in a string to be added to |v:errors|: < Will result in a string to be added to |v:errors|:
test.vim line 12: Expected 'foo' but got 'bar' ~ 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 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 A value is false when it is zero. When "{actual}" is not a
number the assert fails. 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 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} A value is true when it is a non-zeron number. When {actual}
is not a number the assert fails. 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()* asin({expr}) *asin()*
Return the arc sine of {expr} measured in radians, as a |Float| Return the arc sine of {expr} measured in radians, as a |Float|

View 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 VIM USER MANUAL - by Bram Moolenaar
@ -888,6 +888,11 @@ Mappings: *mapping-functions*
maparg() get rhs of a mapping maparg() get rhs of a mapping
wildmenumode() check if the wildmode is active 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* Various: *various-functions*
mode() get current editing mode mode() get current editing mode
visualmode() last visual mode used visualmode() last visual mode used

View File

@ -31,7 +31,8 @@ SCRIPTS := test_eval.out \
test_command_count.out \ test_command_count.out \
test_cdo.out \ test_cdo.out \
NEW_TESTS = test_assert.res NEW_TESTS = test_assert.res \
test_undolevels.res
SCRIPTS_GUI := test16.out SCRIPTS_GUI := test16.out

View File

@ -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

View File

@ -124,7 +124,7 @@ static int included_patches[] = {
// 948 NA // 948 NA
// 947, // 947,
// 946, // 946,
// 945, 945,
944, 944,
// 943, // 943,
// 942, // 942,