summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-05-06 22:00:00 +0200
committerBram Moolenaar <Bram@vim.org>2019-05-06 22:00:00 +0200
commitf0ab01f6d868164ed0bb247b6f7b152e6929ef18 (patch)
tree077cbb1f5cda1ddc353496614d086d2289dae71d
parentd1362211291c85d29609baab65abc764b1aec169 (diff)
downloadvim-git-f0ab01f6d868164ed0bb247b6f7b152e6929ef18.tar.gz
patch 8.1.1285: test17 is old stylev8.1.1285
Problem: Test17 is old style. Solution: Turn into new style test. (Yegappan Lakshmanan, closes #4347)
-rw-r--r--src/Makefile2
-rw-r--r--src/testdir/Make_all.mak3
-rw-r--r--src/testdir/Make_vms.mms3
-rw-r--r--src/testdir/test17.in135
-rw-r--r--src/testdir/test17.ok33
-rw-r--r--src/testdir/test17a.in3
-rw-r--r--src/testdir/test_checkpath.vim104
-rw-r--r--src/testdir/test_gf.vim35
-rw-r--r--src/version.c2
9 files changed, 145 insertions, 175 deletions
diff --git a/src/Makefile b/src/Makefile
index 65e798144..10ba8755b 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -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 \
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index 25c8feec7..2bda74276 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -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 \
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index 8a92b4af2..d72b9dac4 100644
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -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
diff --git a/src/testdir/test17.in b/src/testdir/test17.in
deleted file mode 100644
index 59b57c244..000000000
--- a/src/testdir/test17.in
+++ /dev/null
@@ -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
-
diff --git a/src/testdir/test17.ok b/src/testdir/test17.ok
deleted file mode 100644
index b2a66d5f8..000000000
--- a/src/testdir/test17.ok
+++ /dev/null
@@ -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)
diff --git a/src/testdir/test17a.in b/src/testdir/test17a.in
deleted file mode 100644
index 7e8936479..000000000
--- a/src/testdir/test17a.in
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is just to test "gf" in test 17.
-The contents is not important.
-Just testing!
diff --git a/src/testdir/test_checkpath.vim b/src/testdir/test_checkpath.vim
new file mode 100644
index 000000000..eff30cf20
--- /dev/null
+++ b/src/testdir/test_checkpath.vim
@@ -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
diff --git a/src/testdir/test_gf.vim b/src/testdir/test_gf.vim
index d233046d2..accd21e9a 100644
--- a/src/testdir/test_gf.vim
+++ b/src/testdir/test_gf.vim
@@ -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
diff --git a/src/version.c b/src/version.c
index bb310e2d0..f4344aa38 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1285,
+/**/
1284,
/**/
1283,