annotate src/testdir/test_expand_func.vim @ 33776:9503dc55b5ed v9.0.2108

patch 9.0.2108: [security]: overflow with count for :s command Commit: https://github.com/vim/vim/commit/ac63787734fda2e294e477af52b3bd601517fa78 Author: Christian Brabandt <cb@256bit.org> Date: Tue Nov 14 20:45:48 2023 +0100 patch 9.0.2108: [security]: overflow with count for :s command Problem: [security]: overflow with count for :s command Solution: Abort the :s command if the count is too large If the count after the :s command is larger than what fits into a (signed) long variable, abort with e_value_too_large. Adds a test with INT_MAX as count and verify it correctly fails. It seems the return value on Windows using mingw compiler wraps around, so the initial test using :s/./b/9999999999999999999999999990 doesn't fail there, since the count is wrapping around several times and finally is no longer larger than 2147483647. So let's just use 2147483647 in the test, which hopefully will always cause a failure Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 16 Nov 2023 22:15:10 +0100
parents dbec60b8c253
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14700
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Tests for expand()
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
21594
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
3 source shared.vim
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
4
14700
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5 let s:sfile = expand('<sfile>')
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6 let s:slnum = str2nr(expand('<slnum>'))
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7 let s:sflnum = str2nr(expand('<sflnum>'))
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 func s:expand_sfile()
31849
dbec60b8c253 patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents: 30405
diff changeset
10 return expand('<sfile>')
14700
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 endfunc
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 func s:expand_slnum()
31849
dbec60b8c253 patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents: 30405
diff changeset
14 return str2nr(expand('<slnum>'))
14700
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 endfunc
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 func s:expand_sflnum()
31849
dbec60b8c253 patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents: 30405
diff changeset
18 return str2nr(expand('<sflnum>'))
14700
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 endfunc
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20
21493
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
21 " This test depends on the location in the test file, put it first.
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
22 func Test_expand_sflnum()
21594
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
23 call assert_equal(7, s:sflnum)
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
24 call assert_equal(24, str2nr(expand('<sflnum>')))
21493
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
25
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
26 " Line-continuation
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
27 call assert_equal(
21594
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
28 \ 27,
21493
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
29 \ str2nr(expand('<sflnum>')))
14700
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
31 " Call in script-local function
21594
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
32 call assert_equal(18, s:expand_sflnum())
21493
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
33
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
34 " Call in command
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
35 command Flnum echo expand('<sflnum>')
21594
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
36 call assert_equal(36, str2nr(trim(execute('Flnum'))))
21493
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
37 delcommand Flnum
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
38 endfunc
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
39
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
40 func Test_expand_sfile_and_stack()
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
41 call assert_match('test_expand_func\.vim$', s:sfile)
22208
a607f02fd17a patch 8.2.1653: expand('<stack>') does not include the final line number
Bram Moolenaar <Bram@vim.org>
parents: 21594
diff changeset
42 let expected = 'script .*testdir/runtest.vim\[\d\+\]\.\.function RunTheTest\[\d\+\]\.\.Test_expand_sfile_and_stack'
a607f02fd17a patch 8.2.1653: expand('<stack>') does not include the final line number
Bram Moolenaar <Bram@vim.org>
parents: 21594
diff changeset
43 call assert_match(expected .. '$', expand('<sfile>'))
29754
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
44 call assert_match(expected .. '\[4\]$' , expand('<stack>'))
21493
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
45
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
46 " Call in script-local function
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
47 call assert_match('script .*testdir/runtest.vim\[\d\+\]\.\.function RunTheTest\[\d\+\]\.\.Test_expand_sfile_and_stack\[7\]\.\.<SNR>\d\+_expand_sfile$', s:expand_sfile())
14700
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
48
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
49 " Call in command
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
50 command Sfile echo expand('<sfile>')
21493
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
51 call assert_match('script .*testdir/runtest.vim\[\d\+\]\.\.function RunTheTest\[\d\+\]\.\.Test_expand_sfile_and_stack$', trim(execute('Sfile')))
14700
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
52 delcommand Sfile
21493
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
53
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
54 " Use <stack> from sourced script.
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
55 let lines =<< trim END
22208
a607f02fd17a patch 8.2.1653: expand('<stack>') does not include the final line number
Bram Moolenaar <Bram@vim.org>
parents: 21594
diff changeset
56 " comment here
21493
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
57 let g:stack_value = expand('<stack>')
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
58 END
30405
ea38db8639eb patch 9.0.0538: manually deleting test temp files
Bram Moolenaar <Bram@vim.org>
parents: 29754
diff changeset
59 call writefile(lines, 'Xstack', 'D')
21493
7449921216bc patch 8.2.1297: when a test fails it's often not easy to see where
Bram Moolenaar <Bram@vim.org>
parents: 19783
diff changeset
60 source Xstack
22218
195a617b405a patch 8.2.1658: expand('<stack>') has trailing ".."
Bram Moolenaar <Bram@vim.org>
parents: 22208
diff changeset
61 call assert_match('\<Xstack\[2\]$', g:stack_value)
29754
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
62 unlet g:stack_value
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
63
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
64 if exists('+shellslash')
30405
ea38db8639eb patch 9.0.0538: manually deleting test temp files
Bram Moolenaar <Bram@vim.org>
parents: 29754
diff changeset
65 call mkdir('Xshellslash', 'R')
29754
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
66 let lines =<< trim END
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
67 let g:stack1 = expand('<stack>')
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
68 set noshellslash
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
69 let g:stack2 = expand('<stack>')
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
70 set shellslash
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
71 let g:stack3 = expand('<stack>')
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
72 END
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
73 call writefile(lines, 'Xshellslash/Xstack')
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
74 " Test that changing 'shellslash' always affects the result of expand()
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
75 " when sourcing a script multiple times.
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
76 for i in range(2)
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
77 source Xshellslash/Xstack
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
78 call assert_match('\<Xshellslash/Xstack\[1\]$', g:stack1)
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
79 call assert_match('\<Xshellslash\\Xstack\[3\]$', g:stack2)
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
80 call assert_match('\<Xshellslash/Xstack\[5\]$', g:stack3)
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
81 unlet g:stack1
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
82 unlet g:stack2
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
83 unlet g:stack3
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
84 endfor
32f358d71ec2 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Bram Moolenaar <Bram@vim.org>
parents: 28637
diff changeset
85 endif
14700
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
86 endfunc
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
87
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
88 func Test_expand_slnum()
21594
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
89 call assert_equal(6, s:slnum)
14700
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
90 call assert_equal(2, str2nr(expand('<slnum>')))
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
91
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
92 " Line-continuation
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
93 call assert_equal(
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
94 \ 5,
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
95 \ str2nr(expand('<slnum>')))
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
96
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
97 " Call in script-local function
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
98 call assert_equal(1, s:expand_slnum())
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
99
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
100 " Call in command
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
101 command Slnum echo expand('<slnum>')
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
102 call assert_equal(14, str2nr(trim(execute('Slnum'))))
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
103 delcommand Slnum
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
104 endfunc
0a3b9ecf7cb8 patch 8.1.0362: cannot get the script line number when executing a function
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
105
16668
81be817c9d9a patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 14700
diff changeset
106 func Test_expand()
81be817c9d9a patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 14700
diff changeset
107 new
28637
5cf6dee0f305 patch 8.2.4842: expand("%:p") is not empty when there is no buffer name
Bram Moolenaar <Bram@vim.org>
parents: 28635
diff changeset
108 call assert_equal("", expand('%:S'))
17849
73ddc462979d patch 8.1.1921: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 16668
diff changeset
109 call assert_equal('3', '<slnum>'->expand())
16668
81be817c9d9a patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 14700
diff changeset
110 call assert_equal(['4'], expand('<slnum>', v:false, v:true))
81be817c9d9a patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 14700
diff changeset
111 " Don't add any line above this, otherwise <slnum> will change.
28635
dfe18756f2ad patch 8.2.4841: empty string considered an error for expand()
Bram Moolenaar <Bram@vim.org>
parents: 22218
diff changeset
112 call assert_equal("", expand('%'))
dfe18756f2ad patch 8.2.4841: empty string considered an error for expand()
Bram Moolenaar <Bram@vim.org>
parents: 22218
diff changeset
113 set verbose=1
dfe18756f2ad patch 8.2.4841: empty string considered an error for expand()
Bram Moolenaar <Bram@vim.org>
parents: 22218
diff changeset
114 call assert_equal("", expand('%'))
dfe18756f2ad patch 8.2.4841: empty string considered an error for expand()
Bram Moolenaar <Bram@vim.org>
parents: 22218
diff changeset
115 set verbose=0
28637
5cf6dee0f305 patch 8.2.4842: expand("%:p") is not empty when there is no buffer name
Bram Moolenaar <Bram@vim.org>
parents: 28635
diff changeset
116 call assert_equal("", expand('%:p'))
16668
81be817c9d9a patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 14700
diff changeset
117 quit
81be817c9d9a patch 8.1.1336: some eval functionality is not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 14700
diff changeset
118 endfunc
19603
6d3c683466f4 patch 8.2.0358: insufficient testing for indent.c
Bram Moolenaar <Bram@vim.org>
parents: 17849
diff changeset
119
21594
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
120 func s:sid_test()
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
121 return 'works'
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
122 endfunc
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
123
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
124 func Test_expand_SID()
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
125 let sid = expand('<SID>')
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
126 execute 'let g:sid_result = ' .. sid .. 'sid_test()'
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
127 call assert_equal('works', g:sid_result)
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
128 endfunc
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
129
5daca8504c63 patch 8.2.1347: cannot easily get the script ID
Bram Moolenaar <Bram@vim.org>
parents: 21493
diff changeset
130
19603
6d3c683466f4 patch 8.2.0358: insufficient testing for indent.c
Bram Moolenaar <Bram@vim.org>
parents: 17849
diff changeset
131 " Test for 'wildignore' with expand()
6d3c683466f4 patch 8.2.0358: insufficient testing for indent.c
Bram Moolenaar <Bram@vim.org>
parents: 17849
diff changeset
132 func Test_expand_wildignore()
6d3c683466f4 patch 8.2.0358: insufficient testing for indent.c
Bram Moolenaar <Bram@vim.org>
parents: 17849
diff changeset
133 set wildignore=*.vim
6d3c683466f4 patch 8.2.0358: insufficient testing for indent.c
Bram Moolenaar <Bram@vim.org>
parents: 17849
diff changeset
134 call assert_equal('', expand('test_expand_func.vim'))
6d3c683466f4 patch 8.2.0358: insufficient testing for indent.c
Bram Moolenaar <Bram@vim.org>
parents: 17849
diff changeset
135 call assert_equal('', expand('test_expand_func.vim', 0))
6d3c683466f4 patch 8.2.0358: insufficient testing for indent.c
Bram Moolenaar <Bram@vim.org>
parents: 17849
diff changeset
136 call assert_equal([], expand('test_expand_func.vim', 0, 1))
6d3c683466f4 patch 8.2.0358: insufficient testing for indent.c
Bram Moolenaar <Bram@vim.org>
parents: 17849
diff changeset
137 call assert_equal('test_expand_func.vim', expand('test_expand_func.vim', 1))
6d3c683466f4 patch 8.2.0358: insufficient testing for indent.c
Bram Moolenaar <Bram@vim.org>
parents: 17849
diff changeset
138 call assert_equal(['test_expand_func.vim'],
6d3c683466f4 patch 8.2.0358: insufficient testing for indent.c
Bram Moolenaar <Bram@vim.org>
parents: 17849
diff changeset
139 \ expand('test_expand_func.vim', 1, 1))
19783
546bdeef35f1 patch 8.2.0448: various functions not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19603
diff changeset
140 call assert_fails("call expand('*', [])", 'E745:')
19603
6d3c683466f4 patch 8.2.0358: insufficient testing for indent.c
Bram Moolenaar <Bram@vim.org>
parents: 17849
diff changeset
141 set wildignore&
6d3c683466f4 patch 8.2.0358: insufficient testing for indent.c
Bram Moolenaar <Bram@vim.org>
parents: 17849
diff changeset
142 endfunc
6d3c683466f4 patch 8.2.0358: insufficient testing for indent.c
Bram Moolenaar <Bram@vim.org>
parents: 17849
diff changeset
143
6d3c683466f4 patch 8.2.0358: insufficient testing for indent.c
Bram Moolenaar <Bram@vim.org>
parents: 17849
diff changeset
144 " vim: shiftwidth=2 sts=2 expandtab