forked from aniani/vim
patch 8.1.1285: test17 is old style
Problem: Test17 is old style. Solution: Turn into new style test. (Yegappan Lakshmanan, closes #4347)
This commit is contained in:
@@ -2175,7 +2175,7 @@ test_libvterm:
|
||||
# These do not depend on the executable, compile it when needed.
|
||||
test1 \
|
||||
test_eval \
|
||||
test3 test17 \
|
||||
test3 \
|
||||
test29 test30 test37 test39 \
|
||||
test42 test44 test48 test49 \
|
||||
test52 test59 \
|
||||
|
@@ -44,7 +44,6 @@ SCRIPTS_MORE2 = \
|
||||
|
||||
# Tests that run on most systems, but not on VMS
|
||||
SCRIPTS_MORE4 = \
|
||||
test17.out \
|
||||
test30.out \
|
||||
test59.out \
|
||||
test72.out \
|
||||
@@ -82,6 +81,7 @@ NEW_TESTS = \
|
||||
test_channel \
|
||||
test_charsearch \
|
||||
test_charsearch_utf8 \
|
||||
test_checkpath \
|
||||
test_cindent \
|
||||
test_clientserver \
|
||||
test_close_count \
|
||||
@@ -302,6 +302,7 @@ NEW_TESTS_RES = \
|
||||
test_changelist.res \
|
||||
test_channel.res \
|
||||
test_charsearch.res \
|
||||
test_checkpath.res \
|
||||
test_cindent.res \
|
||||
test_clientserver.res \
|
||||
test_close_count.res \
|
||||
|
@@ -83,7 +83,6 @@ SCRIPT = test1.out test3.out \
|
||||
test_eval.out
|
||||
|
||||
# Known problems:
|
||||
# test17: ?
|
||||
#
|
||||
# test30: bug, most probably - a problem around mac format
|
||||
#
|
||||
@@ -102,7 +101,7 @@ GUI_OPTION = -g
|
||||
.ENDIF
|
||||
|
||||
.IFDEF WANT_UNIX
|
||||
SCRIPT_UNIX = test10.out test17.out test27.out test49.out
|
||||
SCRIPT_UNIX = test10.out test27.out test49.out
|
||||
.ENDIF
|
||||
|
||||
.IFDEF WANT_WIN
|
||||
|
@@ -1,135 +0,0 @@
|
||||
Tests for:
|
||||
- "gf" on ${VAR},
|
||||
- ":checkpath!" with various 'include' settings.
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:if has("ebcdic")
|
||||
: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}
|
||||
:else
|
||||
: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}
|
||||
:endif
|
||||
:"
|
||||
:if has("unix")
|
||||
:let $CDIR = "."
|
||||
/CDIR
|
||||
:else
|
||||
:if has("amiga")
|
||||
:let $TDIR = "/testdir"
|
||||
:else
|
||||
:let $TDIR = "."
|
||||
:endif
|
||||
/TDIR
|
||||
:endif
|
||||
:" Dummy writing for making that sure gf doesn't fail even if the current
|
||||
:" file is modified. It can be occurred when executing the following command
|
||||
:" directly on Windows without fixing the 'fileformat':
|
||||
:" > nmake -f Make_dos.mak test17.out
|
||||
:w! test.out
|
||||
gf
|
||||
:set ff=unix
|
||||
:w! test.out
|
||||
:brewind
|
||||
ENDTEST
|
||||
|
||||
${CDIR}/test17a.in
|
||||
$TDIR/test17a.in
|
||||
|
||||
STARTTEST
|
||||
:" check for 'include' without \zs or \ze
|
||||
:lang C
|
||||
:call delete("./Xbase.a")
|
||||
:call delete("Xdir1", "rf")
|
||||
:!mkdir Xdir1
|
||||
:!mkdir "Xdir1/dir2"
|
||||
:e! Xdir1/dir2/foo.a
|
||||
i#include "bar.a":
|
||||
:w
|
||||
:e Xdir1/dir2/bar.a
|
||||
i#include "baz.a":
|
||||
:w
|
||||
:e Xdir1/dir2/baz.a
|
||||
i#include "foo.a":
|
||||
:w
|
||||
:e Xbase.a
|
||||
:set path=Xdir1/dir2
|
||||
i#include <foo.a>:
|
||||
:w
|
||||
:redir! >>test.out
|
||||
:checkpath!
|
||||
:redir END
|
||||
:brewind
|
||||
ENDTEST
|
||||
|
||||
STARTTEST
|
||||
:" check for 'include' with \zs and \ze
|
||||
:call delete("./Xbase.b")
|
||||
:call delete("Xdir1", "rf")
|
||||
:!mkdir Xdir1
|
||||
:!mkdir "Xdir1/dir2"
|
||||
:let &include='^\s*%inc\s*/\zs[^/]\+\ze'
|
||||
:function! DotsToSlashes()
|
||||
: return substitute(v:fname, '\.', '/', 'g') . '.b'
|
||||
:endfunction
|
||||
:let &includeexpr='DotsToSlashes()'
|
||||
:e! Xdir1/dir2/foo.b
|
||||
i%inc /bar/:
|
||||
:w
|
||||
:e Xdir1/dir2/bar.b
|
||||
i%inc /baz/:
|
||||
:w
|
||||
:e Xdir1/dir2/baz.b
|
||||
i%inc /foo/:
|
||||
:w
|
||||
:e Xbase.b
|
||||
:set path=Xdir1/dir2
|
||||
i%inc /foo/:
|
||||
:w
|
||||
:redir! >>test.out
|
||||
:checkpath!
|
||||
:redir END
|
||||
:brewind
|
||||
ENDTEST
|
||||
|
||||
STARTTEST
|
||||
:" check for 'include' with \zs and no \ze
|
||||
:call delete("./Xbase.c")
|
||||
:call delete("Xdir1", "rf")
|
||||
:!mkdir Xdir1
|
||||
:!mkdir "Xdir1/dir2"
|
||||
:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
|
||||
:function! StripNewlineChar()
|
||||
: if v:fname =~ '\n$'
|
||||
: return v:fname[:-2]
|
||||
: endif
|
||||
: return v:fname
|
||||
:endfunction
|
||||
:let &includeexpr='StripNewlineChar()'
|
||||
:e! Xdir1/dir2/foo.c
|
||||
i%inc bar.c:
|
||||
:w
|
||||
:e Xdir1/dir2/bar.c
|
||||
i%inc baz.c:
|
||||
:w
|
||||
:e Xdir1/dir2/baz.c
|
||||
i%inc foo.c:
|
||||
:w
|
||||
:e Xdir1/dir2/FALSE.c
|
||||
i%inc foo.c:
|
||||
:w
|
||||
:e Xbase.c
|
||||
:set path=Xdir1/dir2
|
||||
i%inc FALSE.c foo.c:
|
||||
:w
|
||||
:redir! >>test.out
|
||||
:checkpath!
|
||||
:redir END
|
||||
:brewind
|
||||
:" change "\" to "/" for Windows and fix 'fileformat'
|
||||
:e test.out
|
||||
:%s#\\#/#g
|
||||
:set ff&
|
||||
:w
|
||||
:q
|
||||
ENDTEST
|
||||
|
@@ -1,33 +0,0 @@
|
||||
This file is just to test "gf" in test 17.
|
||||
The contents is not important.
|
||||
Just testing!
|
||||
|
||||
|
||||
--- Included files in path ---
|
||||
Xdir1/dir2/foo.a
|
||||
Xdir1/dir2/foo.a -->
|
||||
Xdir1/dir2/bar.a
|
||||
Xdir1/dir2/bar.a -->
|
||||
Xdir1/dir2/baz.a
|
||||
Xdir1/dir2/baz.a -->
|
||||
"foo.a" (Already listed)
|
||||
|
||||
|
||||
--- Included files in path ---
|
||||
Xdir1/dir2/foo.b
|
||||
Xdir1/dir2/foo.b -->
|
||||
Xdir1/dir2/bar.b
|
||||
Xdir1/dir2/bar.b -->
|
||||
Xdir1/dir2/baz.b
|
||||
Xdir1/dir2/baz.b -->
|
||||
foo (Already listed)
|
||||
|
||||
|
||||
--- Included files in path ---
|
||||
Xdir1/dir2/foo.c
|
||||
Xdir1/dir2/foo.c -->
|
||||
Xdir1/dir2/bar.c
|
||||
Xdir1/dir2/bar.c -->
|
||||
Xdir1/dir2/baz.c
|
||||
Xdir1/dir2/baz.c -->
|
||||
foo.c (Already listed)
|
@@ -1,3 +0,0 @@
|
||||
This file is just to test "gf" in test 17.
|
||||
The contents is not important.
|
||||
Just testing!
|
104
src/testdir/test_checkpath.vim
Normal file
104
src/testdir/test_checkpath.vim
Normal file
@@ -0,0 +1,104 @@
|
||||
" Tests for the :checkpath command
|
||||
|
||||
" Test for 'include' without \zs or \ze
|
||||
func Test_checkpath1()
|
||||
call mkdir("Xdir1/dir2", "p")
|
||||
call writefile(['#include "bar.a"'], 'Xdir1/dir2/foo.a')
|
||||
call writefile(['#include "baz.a"'], 'Xdir1/dir2/bar.a')
|
||||
call writefile(['#include "foo.a"'], 'Xdir1/dir2/baz.a')
|
||||
call writefile(['#include <foo.a>'], 'Xbase.a')
|
||||
|
||||
edit Xbase.a
|
||||
set path=Xdir1/dir2
|
||||
let res = split(execute("checkpath!"), "\n")
|
||||
call assert_equal([
|
||||
\ '--- Included files in path ---',
|
||||
\ 'Xdir1/dir2/foo.a',
|
||||
\ 'Xdir1/dir2/foo.a -->',
|
||||
\ ' Xdir1/dir2/bar.a',
|
||||
\ ' Xdir1/dir2/bar.a -->',
|
||||
\ ' Xdir1/dir2/baz.a',
|
||||
\ ' Xdir1/dir2/baz.a -->',
|
||||
\ ' "foo.a" (Already listed)'], res)
|
||||
|
||||
enew
|
||||
call delete("./Xbase.a")
|
||||
call delete("Xdir1", "rf")
|
||||
set path&
|
||||
endfunc
|
||||
|
||||
func DotsToSlashes()
|
||||
return substitute(v:fname, '\.', '/', 'g') . '.b'
|
||||
endfunc
|
||||
|
||||
" Test for 'include' with \zs and \ze
|
||||
func Test_checkpath2()
|
||||
call mkdir("Xdir1/dir2", "p")
|
||||
call writefile(['%inc /bar/'], 'Xdir1/dir2/foo.b')
|
||||
call writefile(['%inc /baz/'], 'Xdir1/dir2/bar.b')
|
||||
call writefile(['%inc /foo/'], 'Xdir1/dir2/baz.b')
|
||||
call writefile(['%inc /foo/'], 'Xbase.b')
|
||||
|
||||
let &include='^\s*%inc\s*/\zs[^/]\+\ze'
|
||||
let &includeexpr='DotsToSlashes()'
|
||||
|
||||
edit Xbase.b
|
||||
set path=Xdir1/dir2
|
||||
let res = split(execute("checkpath!"), "\n")
|
||||
call assert_equal([
|
||||
\ '--- Included files in path ---',
|
||||
\ 'Xdir1/dir2/foo.b',
|
||||
\ 'Xdir1/dir2/foo.b -->',
|
||||
\ ' Xdir1/dir2/bar.b',
|
||||
\ ' Xdir1/dir2/bar.b -->',
|
||||
\ ' Xdir1/dir2/baz.b',
|
||||
\ ' Xdir1/dir2/baz.b -->',
|
||||
\ ' foo (Already listed)'], res)
|
||||
|
||||
enew
|
||||
call delete("./Xbase.b")
|
||||
call delete("Xdir1", "rf")
|
||||
set path&
|
||||
set include&
|
||||
set includeexpr&
|
||||
endfunc
|
||||
|
||||
func StripNewlineChar()
|
||||
if v:fname =~ '\n$'
|
||||
return v:fname[:-2]
|
||||
endif
|
||||
return v:fname
|
||||
endfunc
|
||||
|
||||
" Test for 'include' with \zs and no \ze
|
||||
func Test_checkpath3()
|
||||
call mkdir("Xdir1/dir2", "p")
|
||||
call writefile(['%inc bar.c'], 'Xdir1/dir2/foo.c')
|
||||
call writefile(['%inc baz.c'], 'Xdir1/dir2/bar.c')
|
||||
call writefile(['%inc foo.c'], 'Xdir1/dir2/baz.c')
|
||||
call writefile(['%inc foo.c'], 'Xdir1/dir2/FALSE.c')
|
||||
call writefile(['%inc FALSE.c foo.c'], 'Xbase.c')
|
||||
|
||||
let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
|
||||
let &includeexpr='StripNewlineChar()'
|
||||
|
||||
edit Xbase.c
|
||||
set path=Xdir1/dir2
|
||||
let res = split(execute("checkpath!"), "\n")
|
||||
call assert_equal([
|
||||
\ '--- Included files in path ---',
|
||||
\ 'Xdir1/dir2/foo.c',
|
||||
\ 'Xdir1/dir2/foo.c -->',
|
||||
\ ' Xdir1/dir2/bar.c',
|
||||
\ ' Xdir1/dir2/bar.c -->',
|
||||
\ ' Xdir1/dir2/baz.c',
|
||||
\ ' Xdir1/dir2/baz.c -->',
|
||||
\ ' foo.c (Already listed)'], res)
|
||||
|
||||
enew
|
||||
call delete("./Xbase.c")
|
||||
call delete("Xdir1", "rf")
|
||||
set path&
|
||||
set include&
|
||||
set includeexpr&
|
||||
endfunc
|
@@ -64,3 +64,38 @@ func Test_gF()
|
||||
bwipe Xfile
|
||||
bwipe Xfile2
|
||||
endfunc
|
||||
|
||||
" Test for invoking 'gf' on a ${VAR} variable
|
||||
func Test_gf()
|
||||
if has("ebcdic")
|
||||
set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}
|
||||
else
|
||||
set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}
|
||||
endif
|
||||
|
||||
call writefile(["Test for gf command"], "Xtest1")
|
||||
if has("unix")
|
||||
call writefile([" ${CDIR}/Xtest1"], "Xtestgf")
|
||||
else
|
||||
call writefile([" $TDIR/Xtest1"], "Xtestgf")
|
||||
endif
|
||||
new Xtestgf
|
||||
if has("unix")
|
||||
let $CDIR = "."
|
||||
/CDIR
|
||||
else
|
||||
if has("amiga")
|
||||
let $TDIR = "/testdir"
|
||||
else
|
||||
let $TDIR = "."
|
||||
endif
|
||||
/TDIR
|
||||
endif
|
||||
|
||||
normal gf
|
||||
call assert_equal('Xtest1', fnamemodify(bufname(''), ":t"))
|
||||
close!
|
||||
|
||||
call delete('Xtest1')
|
||||
call delete('Xtestgf')
|
||||
endfunc
|
||||
|
@@ -767,6 +767,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1285,
|
||||
/**/
|
||||
1284,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user