xref: /vim-8.2.3635/src/testdir/test_gf.vim (revision fcfe1a9b)
1
2" This is a test if a URL is recognized by "gf", with the cursor before and
3" after the "://".  Also test ":\\".
4func Test_gf_url()
5  enew!
6  call append(0, [
7      \ "first test for URL://machine.name/tmp/vimtest2a and other text",
8      \ "second test for URL://machine.name/tmp/vimtest2b. And other text",
9      \ "third test for URL:\\\\machine.name\\vimtest2c and other text",
10      \ "fourth test for URL:\\\\machine.name\\tmp\\vimtest2d, and other text",
11      \ "fifth test for URL://machine.name/tmp?q=vim&opt=yes and other text",
12      \ "sixth test for URL://machine.name:1234?q=vim and other text",
13      \ ])
14  call cursor(1,1)
15  call search("^first")
16  call search("tmp")
17  call assert_equal("URL://machine.name/tmp/vimtest2a", expand("<cfile>"))
18  call search("^second")
19  call search("URL")
20  call assert_equal("URL://machine.name/tmp/vimtest2b", expand("<cfile>"))
21  if has("ebcdic")
22      set isf=@,240-249,/,.,-,_,+,,,$,:,~,\
23  else
24      set isf=@,48-57,/,.,-,_,+,,,$,~,\
25  endif
26  call search("^third")
27  call search("name")
28  call assert_equal("URL:\\\\machine.name\\vimtest2c", expand("<cfile>"))
29  call search("^fourth")
30  call search("URL")
31  call assert_equal("URL:\\\\machine.name\\tmp\\vimtest2d", expand("<cfile>"))
32
33  call search("^fifth")
34  call search("URL")
35  call assert_equal("URL://machine.name/tmp?q=vim&opt=yes", expand("<cfile>"))
36
37  call search("^sixth")
38  call search("URL")
39  call assert_equal("URL://machine.name:1234?q=vim", expand("<cfile>"))
40
41  set isf&vim
42  enew!
43endfunc
44
45func Test_gF()
46  new
47  call setline(1, ['111', '222', '333', '444'])
48  w! Xfile
49  close
50  new
51  set isfname-=:
52  call setline(1, ['one', 'Xfile:3', 'three'])
53  2
54  call assert_fails('normal gF', 'E37:')
55  call assert_equal(2, getcurpos()[1])
56  w! Xfile2
57  normal gF
58  call assert_equal('Xfile', bufname('%'))
59  call assert_equal(3, getcurpos()[1])
60
61  set isfname&
62  call delete('Xfile')
63  call delete('Xfile2')
64  bwipe Xfile
65  bwipe Xfile2
66endfunc
67
68" Test for invoking 'gf' on a ${VAR} variable
69func Test_gf()
70  if has("ebcdic")
71    set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}
72  else
73    set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}
74  endif
75
76  call writefile(["Test for gf command"], "Xtest1")
77  if has("unix")
78    call writefile(["    ${CDIR}/Xtest1"], "Xtestgf")
79  else
80    call writefile(["    $TDIR/Xtest1"], "Xtestgf")
81  endif
82  new Xtestgf
83  if has("unix")
84    let $CDIR = "."
85    /CDIR
86  else
87    if has("amiga")
88      let $TDIR = "/testdir"
89    else
90      let $TDIR = "."
91    endif
92    /TDIR
93  endif
94
95  normal gf
96  call assert_equal('Xtest1', fnamemodify(bufname(''), ":t"))
97  close!
98
99  call delete('Xtest1')
100  call delete('Xtestgf')
101endfunc
102