diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 02:44:24 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 02:44:24 +0000 |
commit | 8baab3c8d7a6f22888bd581cd5c6098fd2e4b5a8 (patch) | |
tree | 3537e168b860f2742f6029d70501b5ed7d15d345 /src/testdir/test17.in | |
parent | Initial commit. (diff) | |
download | vim-8baab3c8d7a6f22888bd581cd5c6098fd2e4b5a8.tar.xz vim-8baab3c8d7a6f22888bd581cd5c6098fd2e4b5a8.zip |
Adding upstream version 2:8.1.0875.upstream/2%8.1.0875upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/testdir/test17.in')
-rw-r--r-- | src/testdir/test17.in | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/src/testdir/test17.in b/src/testdir/test17.in new file mode 100644 index 0000000..59b57c2 --- /dev/null +++ b/src/testdir/test17.in @@ -0,0 +1,135 @@ +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 + |