mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 8.0.0708: some tests are old style
Problem: Some tests are old style. Solution: Change a few tests from old style to new style. (pschuh, closes #1813)
This commit is contained in:
18
src/Makefile
18
src/Makefile
@@ -2092,25 +2092,23 @@ test1 \
|
||||
test_autoformat_join \
|
||||
test_changelist \
|
||||
test_close_count \
|
||||
test_comparators \
|
||||
test_erasebackword \
|
||||
test_eval \
|
||||
test_fixeol \
|
||||
test_getcwd \
|
||||
test_insertcount \
|
||||
test_listchars \
|
||||
test_search_mbyte \
|
||||
test_wordcount \
|
||||
test3 test4 test5 test6 test7 test8 test9 \
|
||||
test11 test12 test14 test15 test17 test18 test19 \
|
||||
test20 test21 test22 test23 test24 test25 test26 test27 test28 test29 \
|
||||
test20 test21 test22 test25 test27 test28 test29 \
|
||||
test30 test31 test32 test33 test34 test36 test37 test38 test39 \
|
||||
test40 test41 test42 test43 test44 test45 test48 test49 \
|
||||
test50 test51 test52 test53 test54 test55 test56 test57 test59 \
|
||||
test60 test64 test66 test67 test68 test69 \
|
||||
test70 test72 test73 test74 test75 test77 test78 test79 \
|
||||
test60 test64 test66 test68 test69 \
|
||||
test70 test72 test73 test74 test77 test78 test79 \
|
||||
test80 test83 test84 test85 test86 test87 test88 \
|
||||
test91 test94 test95 test97 test98 test99 \
|
||||
test91 test94 test95 test98 test99 \
|
||||
test100 test101 test103 test104 test107 test108:
|
||||
cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
@@ -2134,6 +2132,7 @@ test_arglist \
|
||||
test_clientserver \
|
||||
test_cmdline \
|
||||
test_command_count \
|
||||
test_comparators \
|
||||
test_crypt \
|
||||
test_cscope \
|
||||
test_cursor_func \
|
||||
@@ -2142,9 +2141,12 @@ test_arglist \
|
||||
test_digraph \
|
||||
test_display \
|
||||
test_edit \
|
||||
test_escaped_glob \
|
||||
test_ex_undo \
|
||||
test_ex_z \
|
||||
test_exec_while_if \
|
||||
test_execute_func \
|
||||
test_exists_autocmd \
|
||||
test_expand \
|
||||
test_expand_dllpath \
|
||||
test_expr \
|
||||
@@ -2163,6 +2165,7 @@ test_arglist \
|
||||
test_fold \
|
||||
test_functions \
|
||||
test_ga \
|
||||
test_getcwd \
|
||||
test_gf \
|
||||
test_glob2regpat \
|
||||
test_global \
|
||||
@@ -2191,6 +2194,7 @@ test_arglist \
|
||||
test_lua \
|
||||
test_makeencoding \
|
||||
test_man \
|
||||
test_maparg \
|
||||
test_mapping \
|
||||
test_marks \
|
||||
test_match \
|
||||
@@ -2209,6 +2213,7 @@ test_arglist \
|
||||
test_partial \
|
||||
test_paste \
|
||||
test_perl \
|
||||
test_plus_arg_edit \
|
||||
test_popup \
|
||||
test_profile \
|
||||
test_put \
|
||||
@@ -2219,6 +2224,7 @@ test_arglist \
|
||||
test_quickfix \
|
||||
test_quotestar \
|
||||
test_recover \
|
||||
test_regex_char_classes \
|
||||
test_regexp_latin \
|
||||
test_regexp_utf8 \
|
||||
test_reltime \
|
||||
|
@@ -24,9 +24,6 @@ SCRIPTS_ALL = \
|
||||
test19.out \
|
||||
test20.out \
|
||||
test22.out \
|
||||
test23.out \
|
||||
test24.out \
|
||||
test26.out \
|
||||
test28.out \
|
||||
test29.out \
|
||||
test31.out \
|
||||
@@ -51,12 +48,10 @@ SCRIPTS_ALL = \
|
||||
test60.out \
|
||||
test64.out \
|
||||
test66.out \
|
||||
test67.out \
|
||||
test68.out \
|
||||
test69.out \
|
||||
test70.out \
|
||||
test73.out \
|
||||
test75.out \
|
||||
test77.out \
|
||||
test79.out \
|
||||
test80.out \
|
||||
@@ -75,11 +70,9 @@ SCRIPTS_ALL = \
|
||||
test_autoformat_join.out \
|
||||
test_changelist.out \
|
||||
test_close_count.out \
|
||||
test_comparators.out \
|
||||
test_erasebackword.out \
|
||||
test_eval.out \
|
||||
test_fixeol.out \
|
||||
test_getcwd.out \
|
||||
test_insertcount.out \
|
||||
test_listchars.out \
|
||||
test_search_mbyte.out \
|
||||
@@ -99,8 +92,7 @@ SCRIPTS_MORE1 = \
|
||||
SCRIPTS_MORE2 = \
|
||||
test12.out \
|
||||
test25.out \
|
||||
test49.out \
|
||||
test97.out
|
||||
test49.out
|
||||
|
||||
|
||||
# Tests that run on most systems, but not MingW and Cygwin.
|
||||
|
@@ -69,7 +69,7 @@ fixff:
|
||||
-$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=dos|upd" +q *.in *.ok
|
||||
-$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=unix|upd" +q \
|
||||
dotest.in test60.ok test_listchars.ok \
|
||||
test_getcwd.ok test_wordcount.ok
|
||||
test_wordcount.ok
|
||||
|
||||
clean:
|
||||
-@if exist *.out $(DEL) *.out
|
||||
|
@@ -80,7 +80,6 @@ SCRIPT = test1.out test3.out test4.out test5.out \
|
||||
test7.out test8.out test9.out \
|
||||
test14.out test15.out \
|
||||
test19.out test20.out test22.out \
|
||||
test23.out test24.out test26.out \
|
||||
test28.out test29.out test30.out test31.out test32.out \
|
||||
test33.out test34.out test36.out test37.out \
|
||||
test38.out test39.out test40.out test41.out test42.out \
|
||||
@@ -88,8 +87,8 @@ SCRIPT = test1.out test3.out test4.out test5.out \
|
||||
test48.out test49.out test51.out test53.out test54.out \
|
||||
test55.out test56.out test57.out test60.out \
|
||||
test64.out \
|
||||
test66.out test67.out test68.out test69.out \
|
||||
test72.out test75.out \
|
||||
test66.out test68.out test69.out \
|
||||
test72.out \
|
||||
test77a.out test78.out test79.out test80.out \
|
||||
test84.out test88.out \
|
||||
test91.out test94.out \
|
||||
@@ -101,11 +100,9 @@ SCRIPT = test1.out test3.out test4.out test5.out \
|
||||
test_breakindent.out \
|
||||
test_changelist.out \
|
||||
test_close_count.out \
|
||||
test_comparators.out \
|
||||
test_erasebackword.out \
|
||||
test_eval.out \
|
||||
test_fixeol.out \
|
||||
test_getcwd.out \
|
||||
test_insertcount.out \
|
||||
test_listchars.out \
|
||||
test_listlbr.out \
|
||||
@@ -131,7 +128,7 @@ SCRIPT = test1.out test3.out test4.out test5.out \
|
||||
# test83: ?
|
||||
# test85: no Lua interface
|
||||
# test89: bug - findfile() does not work on VMS (just in the current directory)
|
||||
# test97, test102: Just ODS-5 supports space and special chars in the filename.
|
||||
# test102: Just ODS-5 supports space and special chars in the filename.
|
||||
# On ODS-2 tests fail.
|
||||
|
||||
.IFDEF WANT_GUI
|
||||
@@ -156,7 +153,7 @@ SCRIPT_MZSCH = test70.out
|
||||
.ENDIF
|
||||
|
||||
.IFDEF HAVE_ODS5
|
||||
SCRIPT_ODS5 = test97.out test102.out
|
||||
SCRIPT_ODS5 = test102.out
|
||||
.ENDIF
|
||||
|
||||
.IFDEF HAVE_GZIP
|
||||
|
@@ -8,7 +8,7 @@ Scripts = test1.out test2.out test3.out test4.out test5.out test6.out
|
||||
test7.out test8.out test9.out test11.out
|
||||
test12.out test13.out test14.out test15.out test17.out
|
||||
test18.out test19.out test20.out test21.out test22.out
|
||||
test23.out test24.out test25.out test26.out test27.out
|
||||
test25.out test27.out
|
||||
test28.out test29.out test30.out test31.out test32.out
|
||||
test33.out test34.out test36.out test37.out
|
||||
test38.out test39.out test40.out test41.out test42.out
|
||||
|
@@ -1,15 +0,0 @@
|
||||
Tests for complicated + argument to :edit command
|
||||
|
||||
STARTTEST
|
||||
:$-1w! Xfile1
|
||||
:$w! Xfile2
|
||||
:edit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
|
||||
:w! test.out
|
||||
:e Xfile1
|
||||
:w >> test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
The result should be in Xfile1: "fooPIPEbar", in Xfile2: "fooSLASHbar"
|
||||
foo|bar
|
||||
foo/bar
|
@@ -1,2 +0,0 @@
|
||||
fooSLASHbar
|
||||
fooPIPEbar
|
Binary file not shown.
@@ -1,32 +0,0 @@
|
||||
start
|
||||
test text test text
|
||||
test text test text
|
||||
test text test text
|
||||
test text test text
|
||||
test text test text
|
||||
test text test text
|
||||
test text test text x61
|
||||
test text test text x60-x64
|
||||
test text test text x78 5
|
||||
test text test text o143
|
||||
test text test text o140-o144
|
||||
test text test text o41 7
|
||||
test text test text \%x42
|
||||
test text test text \%o103
|
||||
test text test text [\x00]
|
||||
test text test text [\x00-\x10]
|
||||
test text test text [\x-z]
|
||||
test text test text [\u-z]
|
||||
xx xx a
|
||||
xx aaaaa xx a
|
||||
xx aaaaa xx a
|
||||
xx Aaa xx
|
||||
xx Aaaa xx
|
||||
xx Aaa xx
|
||||
xx foobar xA xx
|
||||
xx an A xx
|
||||
XX 9;
|
||||
YY 77;
|
||||
xyz
|
||||
bcd
|
||||
BB
|
@@ -1,44 +0,0 @@
|
||||
Test for :execute, :while and :if
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
mt:let i = 0
|
||||
:while i < 12
|
||||
: let i = i + 1
|
||||
: if has("ebcdic")
|
||||
: execute "normal o" . i . "\047"
|
||||
: else
|
||||
: execute "normal o" . i . "\033"
|
||||
: endif
|
||||
: if i % 2
|
||||
: normal Ax
|
||||
: if i == 9
|
||||
: break
|
||||
: endif
|
||||
: if i == 5
|
||||
: continue
|
||||
: else
|
||||
: let j = 9
|
||||
: while j > 0
|
||||
: if has("ebcdic")
|
||||
: execute "normal" j . "a" . j . "\x27"
|
||||
: else
|
||||
: execute "normal" j . "a" . j . "\x1b"
|
||||
: endif
|
||||
: let j = j - 1
|
||||
: endwhile
|
||||
: endif
|
||||
: endif
|
||||
: if i == 9
|
||||
: if has("ebcdic")
|
||||
: execute "normal Az\047"
|
||||
: else
|
||||
: execute "normal Az\033"
|
||||
: endif
|
||||
: endif
|
||||
:endwhile
|
||||
:unlet i j
|
||||
:'t,$w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
@@ -1,10 +0,0 @@
|
||||
|
||||
1x999999999888888887777777666666555554444333221
|
||||
2
|
||||
3x999999999888888887777777666666555554444333221
|
||||
4
|
||||
5x
|
||||
6
|
||||
7x999999999888888887777777666666555554444333221
|
||||
8
|
||||
9x
|
@@ -1,33 +0,0 @@
|
||||
Test that groups and patterns are tested correctly when calling exists() for
|
||||
autocommands.
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:let results=[]
|
||||
:augroup auexists
|
||||
:augroup END
|
||||
:call add(results, "##BufEnter: " . exists("##BufEnter"))
|
||||
:call add(results, "#BufEnter: " . exists("#BufEnter"))
|
||||
:au BufEnter * let g:entered=1
|
||||
:call add(results, "#BufEnter: " . exists("#BufEnter"))
|
||||
:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
|
||||
:augroup auexists
|
||||
:au BufEnter * let g:entered=1
|
||||
:augroup END
|
||||
:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
|
||||
:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
|
||||
:au BufEnter *.test let g:entered=1
|
||||
:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
|
||||
:edit testfile.test
|
||||
:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
|
||||
:au BufEnter <buffer> let g:entered=1
|
||||
:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
|
||||
:edit testfile2.test
|
||||
:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
|
||||
:e! test.out
|
||||
:call append(0, results)
|
||||
:$d
|
||||
:w
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
@@ -1,10 +0,0 @@
|
||||
##BufEnter: 1
|
||||
#BufEnter: 0
|
||||
#BufEnter: 1
|
||||
#auexists#BufEnter: 0
|
||||
#auexists#BufEnter: 1
|
||||
#BufEnter#*.test: 0
|
||||
#BufEnter#*.test: 1
|
||||
#BufEnter#<buffer>: 0
|
||||
#BufEnter#<buffer>: 1
|
||||
#BufEnter#<buffer>: 0
|
@@ -1,41 +0,0 @@
|
||||
Tests for maparg().
|
||||
Also test utf8 map with a 0x80 byte.
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:so mbyte.vim
|
||||
:set cpo-=<
|
||||
:set encoding=utf8
|
||||
:" Test maparg() with a string result
|
||||
:map foo<C-V> is<F4>foo
|
||||
:vnoremap <script> <buffer> <expr> <silent> bar isbar
|
||||
:call append('$', maparg('foo<C-V>'))
|
||||
:call append('$', string(maparg('foo<C-V>', '', 0, 1)))
|
||||
:call append('$', string(maparg('bar', '', 0, 1)))
|
||||
:map <buffer> <nowait> foo bar
|
||||
:call append('$', string(maparg('foo', '', 0, 1)))
|
||||
:"
|
||||
:map abc x<char-114>x
|
||||
:call append('$', maparg('abc'))
|
||||
:map abc y<S-char-114>y
|
||||
:call append('$', maparg('abc'))
|
||||
:"
|
||||
Go:"
|
||||
:" Outside of the range, minimum
|
||||
:inoremap <Char-0x1040> a
|
||||
:execute "normal a\u1040\<Esc>"
|
||||
:" Inside of the range, minimum
|
||||
:inoremap <Char-0x103f> b
|
||||
:execute "normal a\u103f\<Esc>"
|
||||
:" Inside of the range, maximum
|
||||
:inoremap <Char-0xf03f> c
|
||||
:execute "normal a\uf03f\<Esc>"
|
||||
:" Outside of the range, maximum
|
||||
:inoremap <Char-0xf040> d
|
||||
:execute "normal a\uf040\<Esc>"
|
||||
:"
|
||||
:/^eof/+1,$w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
eof
|
@@ -1,7 +0,0 @@
|
||||
is<F4>foo
|
||||
{'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'nowait': 0, 'expr': 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0}
|
||||
{'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'nowait': 0, 'expr': 1, 'sid': 0, 'rhs': 'isbar', 'buffer': 1}
|
||||
{'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, 'sid': 0, 'rhs': 'bar', 'buffer': 1}
|
||||
xrx
|
||||
yRy
|
||||
abcd
|
@@ -1,23 +0,0 @@
|
||||
Test whether glob()/globpath() return correct results with certain escaped
|
||||
characters.
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:" make sure glob() doesn't use the shell
|
||||
:set shell=doesnotexist
|
||||
:" consistent sorting of file names
|
||||
:set nofileignorecase
|
||||
:e! test.out
|
||||
:$put =glob('Xxx\{')
|
||||
:$put =glob('Xxx\$')
|
||||
:w! Xxx{
|
||||
:w! Xxx\$
|
||||
:$put =glob('Xxx\{')
|
||||
:$put =glob('Xxx\$')
|
||||
:"
|
||||
:$put =string(globpath('sautest/autoload', '*.vim'))
|
||||
:$put =string(globpath('sautest/autoload', '*.vim', 0, 1))
|
||||
:w
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
@@ -1,8 +0,0 @@
|
||||
|
||||
|
||||
|
||||
Xxx{
|
||||
Xxx$
|
||||
'sautest/autoload/Test104.vim
|
||||
sautest/autoload/footest.vim'
|
||||
['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim']
|
@@ -1,21 +0,0 @@
|
||||
" Test for expression comparators. vim: set ft=vim :
|
||||
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:try
|
||||
: let oldisident=&isident
|
||||
: set isident+=#
|
||||
: if 1 is#1
|
||||
: $put ='ok'
|
||||
: else
|
||||
: $put ='ng'
|
||||
: endif
|
||||
:finally
|
||||
: let &isident=oldisident
|
||||
:endtry
|
||||
:"
|
||||
:/^marker/+1,$wq! test.out
|
||||
ENDTEST
|
||||
|
||||
marker
|
@@ -1 +0,0 @@
|
||||
ok
|
9
src/testdir/test_comparators.vim
Normal file
9
src/testdir/test_comparators.vim
Normal file
@@ -0,0 +1,9 @@
|
||||
function Test_Comparators()
|
||||
try
|
||||
let oldisident=&isident
|
||||
set isident+=#
|
||||
call assert_equal(1, 1 is#1)
|
||||
finally
|
||||
let &isident=oldisident
|
||||
endtry
|
||||
endfunction
|
25
src/testdir/test_escaped_glob.vim
Normal file
25
src/testdir/test_escaped_glob.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
" Test whether glob()/globpath() return correct results with certain escaped
|
||||
" characters.
|
||||
|
||||
function SetUp()
|
||||
" make sure glob() doesn't use the shell
|
||||
set shell=doesnotexist
|
||||
" consistent sorting of file names
|
||||
set nofileignorecase
|
||||
endfunction
|
||||
|
||||
function Test_glob()
|
||||
call assert_equal("", glob('Xxx\{'))
|
||||
call assert_equal("", glob('Xxx\$'))
|
||||
w! Xxx{
|
||||
w! Xxx\$
|
||||
call assert_equal("Xxx{", glob('Xxx\{'))
|
||||
call assert_equal("Xxx$", glob('Xxx\$'))
|
||||
endfunction
|
||||
|
||||
function Test_globpath()
|
||||
call assert_equal("sautest/autoload/Test104.vim\nsautest/autoload/footest.vim",
|
||||
\ globpath('sautest/autoload', '*.vim'))
|
||||
call assert_equal(['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim'],
|
||||
\ globpath('sautest/autoload', '*.vim', 0, 1))
|
||||
endfunction
|
53
src/testdir/test_exec_while_if.vim
Normal file
53
src/testdir/test_exec_while_if.vim
Normal file
@@ -0,0 +1,53 @@
|
||||
" Test for :execute, :while and :if
|
||||
|
||||
function Test_exec_while_if()
|
||||
new
|
||||
|
||||
let i = 0
|
||||
while i < 12
|
||||
let i = i + 1
|
||||
if has("ebcdic")
|
||||
execute "normal o" . i . "\047"
|
||||
else
|
||||
execute "normal o" . i . "\033"
|
||||
endif
|
||||
if i % 2
|
||||
normal Ax
|
||||
if i == 9
|
||||
break
|
||||
endif
|
||||
if i == 5
|
||||
continue
|
||||
else
|
||||
let j = 9
|
||||
while j > 0
|
||||
if has("ebcdic")
|
||||
execute "normal" j . "a" . j . "\x27"
|
||||
else
|
||||
execute "normal" j . "a" . j . "\x1b"
|
||||
endif
|
||||
let j = j - 1
|
||||
endwhile
|
||||
endif
|
||||
endif
|
||||
if i == 9
|
||||
if has("ebcdic")
|
||||
execute "normal Az\047"
|
||||
else
|
||||
execute "normal Az\033"
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
unlet i j
|
||||
|
||||
call assert_equal(["",
|
||||
\ "1x999999999888888887777777666666555554444333221",
|
||||
\ "2",
|
||||
\ "3x999999999888888887777777666666555554444333221",
|
||||
\ "4",
|
||||
\ "5x",
|
||||
\ "6",
|
||||
\ "7x999999999888888887777777666666555554444333221",
|
||||
\ "8",
|
||||
\ "9x"], getline(1, 10))
|
||||
endfunction
|
26
src/testdir/test_exists_autocmd.vim
Normal file
26
src/testdir/test_exists_autocmd.vim
Normal file
@@ -0,0 +1,26 @@
|
||||
" Test that groups and patterns are tested correctly when calling exists() for
|
||||
" autocommands.
|
||||
|
||||
function Test_AutoCommands()
|
||||
let results=[]
|
||||
augroup auexists
|
||||
augroup END
|
||||
call assert_true(exists("##BufEnter"))
|
||||
call assert_false(exists("#BufEnter"))
|
||||
au BufEnter * let g:entered=1
|
||||
call assert_true(exists("#BufEnter"))
|
||||
call assert_false(exists("#auexists#BufEnter"))
|
||||
augroup auexists
|
||||
au BufEnter * let g:entered=1
|
||||
augroup END
|
||||
call assert_true(exists("#auexists#BufEnter"))
|
||||
call assert_false(exists("#BufEnter#*.test"))
|
||||
au BufEnter *.test let g:entered=1
|
||||
call assert_true(exists("#BufEnter#*.test"))
|
||||
edit testfile.test
|
||||
call assert_false(exists("#BufEnter#<buffer>"))
|
||||
au BufEnter <buffer> let g:entered=1
|
||||
call assert_true(exists("#BufEnter#<buffer>"))
|
||||
edit testfile2.test
|
||||
call assert_false(exists("#BufEnter#<buffer>"))
|
||||
endfunction
|
@@ -1,96 +0,0 @@
|
||||
Tests for getcwd(), haslocaldir(), and :lcd vim: set ft=vim :
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:" Do all test in a separate window to avoid E211 when we recursively
|
||||
:" delete the Xtopdir directory during cleanup
|
||||
:"
|
||||
:" This will cause a few errors, do it silently.
|
||||
:set visualbell
|
||||
:set nocp viminfo+=nviminfo
|
||||
:"
|
||||
:" On windows a swapfile in Xtopdir prevents it from being cleaned up.
|
||||
:set noswapfile
|
||||
:"
|
||||
:function! GetCwdInfo(win, tab)
|
||||
: let tab_changed = 0
|
||||
: let mod = ":t"
|
||||
: if a:tab > 0 && a:tab != tabpagenr()
|
||||
: let tab_changed = 1
|
||||
: exec "tabnext " . a:tab
|
||||
: endif
|
||||
: let bufname = fnamemodify(bufname(winbufnr(a:win)), mod)
|
||||
: if tab_changed
|
||||
: tabprevious
|
||||
: endif
|
||||
: if a:win == 0 && a:tab == 0
|
||||
: let dirname = fnamemodify(getcwd(), mod)
|
||||
: let lflag = haslocaldir()
|
||||
: elseif a:tab == 0
|
||||
: let dirname = fnamemodify(getcwd(a:win), mod)
|
||||
: let lflag = haslocaldir(a:win)
|
||||
: else
|
||||
: let dirname = fnamemodify(getcwd(a:win, a:tab), mod)
|
||||
: let lflag = haslocaldir(a:win, a:tab)
|
||||
: endif
|
||||
: return bufname . ' ' . dirname . ' ' . lflag
|
||||
:endfunction
|
||||
:" On windows a stale "Xtopdir" directory may exist, remove it so that
|
||||
:" we start from a clean state.
|
||||
:call delete("Xtopdir", "rf")
|
||||
:let r=[]
|
||||
:new
|
||||
:let cwd=getcwd()
|
||||
:let test_out = cwd . '/test.out'
|
||||
:call mkdir('Xtopdir')
|
||||
:cd Xtopdir
|
||||
:call mkdir('Xdir1')
|
||||
:call mkdir('Xdir2')
|
||||
:call mkdir('Xdir3')
|
||||
:new a
|
||||
:new b
|
||||
:new c
|
||||
:3wincmd w
|
||||
:lcd Xdir1
|
||||
:call add(r, GetCwdInfo(0, 0))
|
||||
:wincmd W
|
||||
:call add(r, GetCwdInfo(0, 0))
|
||||
:wincmd W
|
||||
:lcd Xdir3
|
||||
:call add(r, GetCwdInfo(0, 0))
|
||||
:call add(r, GetCwdInfo(bufwinnr("a"), 0))
|
||||
:call add(r, GetCwdInfo(bufwinnr("b"), 0))
|
||||
:call add(r, GetCwdInfo(bufwinnr("c"), 0))
|
||||
:wincmd W
|
||||
:call add(r, GetCwdInfo(bufwinnr("a"), tabpagenr()))
|
||||
:call add(r, GetCwdInfo(bufwinnr("b"), tabpagenr()))
|
||||
:call add(r, GetCwdInfo(bufwinnr("c"), tabpagenr()))
|
||||
:"
|
||||
:tabnew x
|
||||
:new y
|
||||
:new z
|
||||
:3wincmd w
|
||||
:call add(r, GetCwdInfo(0, 0))
|
||||
:wincmd W
|
||||
:lcd Xdir2
|
||||
:call add(r, GetCwdInfo(0, 0))
|
||||
:wincmd W
|
||||
:lcd Xdir3
|
||||
:call add(r, GetCwdInfo(0, 0))
|
||||
:call add(r, GetCwdInfo(bufwinnr("x"), 0))
|
||||
:call add(r, GetCwdInfo(bufwinnr("y"), 0))
|
||||
:call add(r, GetCwdInfo(bufwinnr("z"), 0))
|
||||
:let tp_nr = tabpagenr()
|
||||
:tabrewind
|
||||
:call add(r, GetCwdInfo(3, tp_nr))
|
||||
:call add(r, GetCwdInfo(2, tp_nr))
|
||||
:call add(r, GetCwdInfo(1, tp_nr))
|
||||
:"
|
||||
:call writefile(r, test_out, "a")
|
||||
:q
|
||||
:exec "cd " . cwd
|
||||
:call delete("Xtopdir", "rf")
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
|
@@ -1,18 +0,0 @@
|
||||
a Xdir1 1
|
||||
b Xtopdir 0
|
||||
c Xdir3 1
|
||||
a Xdir1 1
|
||||
b Xtopdir 0
|
||||
c Xdir3 1
|
||||
a Xdir1 1
|
||||
b Xtopdir 0
|
||||
c Xdir3 1
|
||||
x Xtopdir 0
|
||||
y Xdir2 1
|
||||
z Xdir3 1
|
||||
x Xtopdir 0
|
||||
y Xdir2 1
|
||||
z Xdir3 1
|
||||
x Xtopdir 0
|
||||
y Xdir2 1
|
||||
z Xdir3 1
|
91
src/testdir/test_getcwd.vim
Normal file
91
src/testdir/test_getcwd.vim
Normal file
@@ -0,0 +1,91 @@
|
||||
function! GetCwdInfo(win, tab)
|
||||
let tab_changed = 0
|
||||
let mod = ":t"
|
||||
if a:tab > 0 && a:tab != tabpagenr()
|
||||
let tab_changed = 1
|
||||
exec "tabnext " . a:tab
|
||||
endif
|
||||
let bufname = fnamemodify(bufname(winbufnr(a:win)), mod)
|
||||
if tab_changed
|
||||
tabprevious
|
||||
endif
|
||||
if a:win == 0 && a:tab == 0
|
||||
let dirname = fnamemodify(getcwd(), mod)
|
||||
let lflag = haslocaldir()
|
||||
elseif a:tab == 0
|
||||
let dirname = fnamemodify(getcwd(a:win), mod)
|
||||
let lflag = haslocaldir(a:win)
|
||||
else
|
||||
let dirname = fnamemodify(getcwd(a:win, a:tab), mod)
|
||||
let lflag = haslocaldir(a:win, a:tab)
|
||||
endif
|
||||
return bufname . ' ' . dirname . ' ' . lflag
|
||||
endfunction
|
||||
|
||||
" Do all test in a separate window to avoid E211 when we recursively
|
||||
" delete the Xtopdir directory during cleanup
|
||||
function SetUp()
|
||||
set visualbell
|
||||
set nocp viminfo+=nviminfo
|
||||
|
||||
" On windows a swapfile in Xtopdir prevents it from being cleaned up.
|
||||
set noswapfile
|
||||
|
||||
" On windows a stale "Xtopdir" directory may exist, remove it so that
|
||||
" we start from a clean state.
|
||||
call delete("Xtopdir", "rf")
|
||||
new
|
||||
call mkdir('Xtopdir')
|
||||
cd Xtopdir
|
||||
call mkdir('Xdir1')
|
||||
call mkdir('Xdir2')
|
||||
call mkdir('Xdir3')
|
||||
endfunction
|
||||
|
||||
let g:cwd=getcwd()
|
||||
function TearDown()
|
||||
q
|
||||
exec "cd " . g:cwd
|
||||
call delete("Xtopdir", "rf")
|
||||
endfunction
|
||||
|
||||
function Test_GetCwd()
|
||||
new a
|
||||
new b
|
||||
new c
|
||||
3wincmd w
|
||||
lcd Xdir1
|
||||
call assert_equal("a Xdir1 1", GetCwdInfo(0, 0))
|
||||
wincmd W
|
||||
call assert_equal("b Xtopdir 0", GetCwdInfo(0, 0))
|
||||
wincmd W
|
||||
lcd Xdir3
|
||||
call assert_equal("c Xdir3 1", GetCwdInfo(0, 0))
|
||||
call assert_equal("a Xdir1 1", GetCwdInfo(bufwinnr("a"), 0))
|
||||
call assert_equal("b Xtopdir 0", GetCwdInfo(bufwinnr("b"), 0))
|
||||
call assert_equal("c Xdir3 1", GetCwdInfo(bufwinnr("c"), 0))
|
||||
wincmd W
|
||||
call assert_equal("a Xdir1 1", GetCwdInfo(bufwinnr("a"), tabpagenr()))
|
||||
call assert_equal("b Xtopdir 0", GetCwdInfo(bufwinnr("b"), tabpagenr()))
|
||||
call assert_equal("c Xdir3 1", GetCwdInfo(bufwinnr("c"), tabpagenr()))
|
||||
|
||||
tabnew x
|
||||
new y
|
||||
new z
|
||||
3wincmd w
|
||||
call assert_equal("x Xtopdir 0", GetCwdInfo(0, 0))
|
||||
wincmd W
|
||||
lcd Xdir2
|
||||
call assert_equal("y Xdir2 1", GetCwdInfo(0, 0))
|
||||
wincmd W
|
||||
lcd Xdir3
|
||||
call assert_equal("z Xdir3 1", GetCwdInfo(0, 0))
|
||||
call assert_equal("x Xtopdir 0", GetCwdInfo(bufwinnr("x"), 0))
|
||||
call assert_equal("y Xdir2 1", GetCwdInfo(bufwinnr("y"), 0))
|
||||
call assert_equal("z Xdir3 1", GetCwdInfo(bufwinnr("z"), 0))
|
||||
let tp_nr = tabpagenr()
|
||||
tabrewind
|
||||
call assert_equal("x Xtopdir 0", GetCwdInfo(3, tp_nr))
|
||||
call assert_equal("y Xdir2 1", GetCwdInfo(2, tp_nr))
|
||||
call assert_equal("z Xdir3 1", GetCwdInfo(1, tp_nr))
|
||||
endfunc
|
52
src/testdir/test_maparg.vim
Normal file
52
src/testdir/test_maparg.vim
Normal file
@@ -0,0 +1,52 @@
|
||||
" Tests for maparg().
|
||||
" Also test utf8 map with a 0x80 byte.
|
||||
if !has("multi_byte")
|
||||
finish
|
||||
endif
|
||||
|
||||
function s:SID()
|
||||
return str2nr(matchstr(expand('<sfile>'), '<SNR>\zs\d\+\ze_SID$'))
|
||||
endfun
|
||||
|
||||
function Test_maparg()
|
||||
new
|
||||
set cpo-=<
|
||||
set encoding=utf8
|
||||
" Test maparg() with a string result
|
||||
map foo<C-V> is<F4>foo
|
||||
vnoremap <script> <buffer> <expr> <silent> bar isbar
|
||||
let sid = s:SID()
|
||||
call assert_equal("is<F4>foo", maparg('foo<C-V>'))
|
||||
call assert_equal({'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>',
|
||||
\ 'mode': ' ', 'nowait': 0, 'expr': 0, 'sid': sid, 'rhs': 'is<F4>foo',
|
||||
\ 'buffer': 0}, maparg('foo<C-V>', '', 0, 1))
|
||||
call assert_equal({'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v',
|
||||
\ 'nowait': 0, 'expr': 1, 'sid': sid, 'rhs': 'isbar', 'buffer': 1},
|
||||
\ maparg('bar', '', 0, 1))
|
||||
map <buffer> <nowait> foo bar
|
||||
call assert_equal({'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ',
|
||||
\ 'nowait': 1, 'expr': 0, 'sid': sid, 'rhs': 'bar', 'buffer': 1},
|
||||
\ maparg('foo', '', 0, 1))
|
||||
|
||||
map abc x<char-114>x
|
||||
call assert_equal(maparg('abc'), "xrx")
|
||||
map abc y<S-char-114>y
|
||||
call assert_equal(maparg('abc'), "yRy")
|
||||
endfunction
|
||||
|
||||
function Test_range_map()
|
||||
new
|
||||
" Outside of the range, minimum
|
||||
inoremap <Char-0x1040> a
|
||||
execute "normal a\u1040\<Esc>"
|
||||
" Inside of the range, minimum
|
||||
inoremap <Char-0x103f> b
|
||||
execute "normal a\u103f\<Esc>"
|
||||
" Inside of the range, maximum
|
||||
inoremap <Char-0xf03f> c
|
||||
execute "normal a\uf03f\<Esc>"
|
||||
" Outside of the range, maximum
|
||||
inoremap <Char-0xf040> d
|
||||
execute "normal a\uf040\<Esc>"
|
||||
call assert_equal("abcd", getline(1))
|
||||
endfunction
|
8
src/testdir/test_plus_arg_edit.vim
Normal file
8
src/testdir/test_plus_arg_edit.vim
Normal file
@@ -0,0 +1,8 @@
|
||||
" Tests for complicated + argument to :edit command
|
||||
function Test_edit()
|
||||
call writefile(["foo|bar"], "Xfile1")
|
||||
call writefile(["foo/bar"], "Xfile2")
|
||||
edit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
|
||||
call assert_equal(["fooPIPEbar"], readfile("Xfile1"))
|
||||
call assert_equal(["fooSLASHbar"], readfile("Xfile2"))
|
||||
endfunction
|
58
src/testdir/test_regex_char_classes.vim
Normal file
58
src/testdir/test_regex_char_classes.vim
Normal file
@@ -0,0 +1,58 @@
|
||||
" Tests for regexp with backslash and other special characters inside []
|
||||
" Also test backslash for hex/octal numbered character.
|
||||
|
||||
function RunSTest(value, calls, expected)
|
||||
new
|
||||
call feedkeys("i" . a:value, "mx")
|
||||
exec a:calls
|
||||
call assert_equal(a:expected, getline(1), printf("wrong result for %s", a:calls))
|
||||
quit!
|
||||
endfunction
|
||||
|
||||
function RunXTest(value, search_exp, expected)
|
||||
new
|
||||
call feedkeys("i" . a:value, "mx")
|
||||
call feedkeys("gg" . a:search_exp . "\nx", "mx")
|
||||
call assert_equal(a:expected, getline(1), printf("wrong result for %s", a:search_exp))
|
||||
quit!
|
||||
endfunction
|
||||
|
||||
|
||||
function Test_x_search()
|
||||
let res = "test text test text"
|
||||
call RunXTest("test \\text test text", "/[\\x]", res)
|
||||
call RunXTest("test \ttext test text", "/[\\t\\]]", res)
|
||||
call RunXTest("test text ]test text", "/[]y]", res)
|
||||
call RunXTest("test ]text test text", "/[\\]]", res)
|
||||
call RunXTest("test text te^st text", "/[y^]", res)
|
||||
call RunXTest("test te$xt test text", "/[$y]", res)
|
||||
call RunXTest("test taext test text", "/[\\x61]", res)
|
||||
call RunXTest("test tbext test text","/[\\x60-\\x64]", res)
|
||||
call RunXTest("test 5text test text","/[\\x785]", res)
|
||||
call RunXTest("testc text test text","/[\\o143]", res)
|
||||
call RunXTest("tesdt text test text","/[\\o140-\\o144]", res)
|
||||
call RunXTest("test7 text test text", "/[\\o417]", res)
|
||||
call RunXTest("test text tBest text", "/\\%x42", res)
|
||||
call RunXTest("test text teCst text", "/\\%o103", res)
|
||||
call RunXTest("test text \<C-V>x00test text", "/[\\x00]", res)
|
||||
endfunction
|
||||
|
||||
function Test_s_search()
|
||||
let res = "test text test text"
|
||||
call RunSTest("test te\<C-V>x00xt t\<C-V>x04est t\<C-V>x10ext", "s/[\\x00-\\x10]//g", res)
|
||||
call RunSTest("test \\xyztext test text", "s/[\\x-z]\\+//", res)
|
||||
call RunSTest("test text tev\\uyst text", "s/[\\u-z]\\{2,}//", res)
|
||||
call RunSTest("xx aaaaa xx a", "s/\\(a\\)\\+//", "xx xx a")
|
||||
call RunSTest("xx aaaaa xx a", "s/\\(a*\\)\\+//", "xx aaaaa xx a")
|
||||
call RunSTest("xx aaaaa xx a", "s/\\(a*\\)*//", "xx aaaaa xx a")
|
||||
call RunSTest("xx aaaaa xx", "s/\\(a\\)\\{2,3}/A/", "xx Aaa xx")
|
||||
call RunSTest("xx aaaaa xx", "s/\\(a\\)\\{-2,3}/A/", "xx Aaaa xx")
|
||||
call RunSTest("xx aaa12aa xx", "s/\\(a\\)*\\(12\\)\\@>/A/", "xx Aaa xx")
|
||||
call RunSTest("xx foobar xbar xx", "s/\\(foo\\)\\@<!bar/A/", "xx foobar xA xx")
|
||||
call RunSTest("xx an file xx", "s/\\(an\\_s\\+\\)\\@<=file/A/", "xx an A xx")
|
||||
call RunSTest("x= 9;", "s/^\\(\\h\\w*\\%(->\\|\\.\\)\\=\\)\\+=/XX/", "XX 9;")
|
||||
call RunSTest("hh= 77;", "s/^\\(\\h\\w*\\%(->\\|\\.\\)\\=\\)\\+=/YY/", "YY 77;")
|
||||
call RunSTest(" aaa ", "s/aaa/xyz/", " xyz ")
|
||||
call RunSTest(" xyz", "s/~/bcd/", " bcd")
|
||||
call RunSTest(" bcdbcdbcd", "s/~\\+/BB/", " BB")
|
||||
endfunction
|
@@ -764,6 +764,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
708,
|
||||
/**/
|
||||
707,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user