blob: accd21e9a379b1b1cb79b8e702be019f394c7264 [file] [log] [blame]
Bram Moolenaar53f16732016-09-07 20:46:39 +02001
2" This is a test if a URL is recognized by "gf", with the cursor before and
3" after the "://". Also test ":\\".
Bram Moolenaar2a79ed22017-05-24 09:51:39 +02004func Test_gf_url()
Bram Moolenaar53f16732016-09-07 20:46:39 +02005 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",
Bram Moolenaar9e3dfc62017-12-25 14:29:18 +010010 \ "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",
Bram Moolenaarcbef8e12019-03-09 12:32:56 +010012 \ "sixth test for URL://machine.name:1234?q=vim and other text",
Bram Moolenaar53f16732016-09-07 20:46:39 +020013 \ ])
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
Bram Moolenaarcbef8e12019-03-09 12:32:56 +010024 set isf=@,48-57,/,.,-,_,+,,,$,~,\
Bram Moolenaar53f16732016-09-07 20:46:39 +020025 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
Bram Moolenaar9e3dfc62017-12-25 14:29:18 +010033 call search("^fifth")
34 call search("URL")
35 call assert_equal("URL://machine.name/tmp?q=vim&opt=yes", expand("<cfile>"))
36
Bram Moolenaarcbef8e12019-03-09 12:32:56 +010037 call search("^sixth")
38 call search("URL")
39 call assert_equal("URL://machine.name:1234?q=vim", expand("<cfile>"))
40
Bram Moolenaar53f16732016-09-07 20:46:39 +020041 set isf&vim
42 enew!
Bram Moolenaar2a79ed22017-05-24 09:51:39 +020043endfunc
44
45func Test_gF()
46 new
47 call setline(1, ['111', '222', '333', '444'])
48 w! Xfile
49 close
50 new
Bram Moolenaar712598f2017-05-24 10:42:37 +020051 set isfname-=:
52 call setline(1, ['one', 'Xfile:3', 'three'])
Bram Moolenaar2a79ed22017-05-24 09:51:39 +020053 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
Bram Moolenaar712598f2017-05-24 10:42:37 +020061 set isfname&
Bram Moolenaar2a79ed22017-05-24 09:51:39 +020062 call delete('Xfile')
63 call delete('Xfile2')
64 bwipe Xfile
65 bwipe Xfile2
66endfunc
Bram Moolenaarf0ab01f2019-05-06 22:00:00 +020067
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