Mercurial > vim
comparison src/testdir/test_modeline.vim @ 30582:72245f9c9405 v9.0.0626
patch 9.0.0626: too many delete() calls in tests
Commit: https://github.com/vim/vim/commit/b152b6a40f729ed81a25d2fa541a4e73e201bec4
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Sep 29 21:37:33 2022 +0100
patch 9.0.0626: too many delete() calls in tests
Problem: Too many delete() calls in tests.
Solution: Use deferred delete where possible.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 29 Sep 2022 22:45:04 +0200 |
parents | 13b02c1ea0f7 |
children | 2bfde43727e9 |
comparison
equal
deleted
inserted
replaced
30581:2e1ec75a7766 | 30582:72245f9c9405 |
---|---|
2 | 2 |
3 source check.vim | 3 source check.vim |
4 | 4 |
5 func Test_modeline_invalid() | 5 func Test_modeline_invalid() |
6 " This was reading allocated memory in the past. | 6 " This was reading allocated memory in the past. |
7 call writefile(['vi:0', 'nothing'], 'Xmodeline') | 7 call writefile(['vi:0', 'nothing'], 'Xmodeline', 'D') |
8 let modeline = &modeline | 8 let modeline = &modeline |
9 set modeline | 9 set modeline |
10 call assert_fails('split Xmodeline', 'E518:') | 10 call assert_fails('split Xmodeline', 'E518:') |
11 | 11 |
12 " Missing end colon (ignored). | 12 " Missing end colon (ignored). |
27 call assert_equal(8, &ts) | 27 call assert_equal(8, &ts) |
28 bwipe! | 28 bwipe! |
29 | 29 |
30 let &modeline = modeline | 30 let &modeline = modeline |
31 bwipe! | 31 bwipe! |
32 call delete('Xmodeline') | |
33 endfunc | 32 endfunc |
34 | 33 |
35 func Test_modeline_filetype() | 34 func Test_modeline_filetype() |
36 call writefile(['vim: set ft=c :', 'nothing'], 'Xmodeline_filetype') | 35 call writefile(['vim: set ft=c :', 'nothing'], 'Xmodeline_filetype', 'D') |
37 let modeline = &modeline | 36 let modeline = &modeline |
38 set modeline | 37 set modeline |
39 filetype plugin on | 38 filetype plugin on |
40 split Xmodeline_filetype | 39 split Xmodeline_filetype |
41 call assert_equal("c", &filetype) | 40 call assert_equal("c", &filetype) |
42 call assert_equal(1, b:did_ftplugin) | 41 call assert_equal(1, b:did_ftplugin) |
43 call assert_equal("ccomplete#Complete", &ofu) | 42 call assert_equal("ccomplete#Complete", &ofu) |
44 | 43 |
45 bwipe! | 44 bwipe! |
46 call delete('Xmodeline_filetype') | |
47 let &modeline = modeline | 45 let &modeline = modeline |
48 filetype plugin off | 46 filetype plugin off |
49 endfunc | 47 endfunc |
50 | 48 |
51 func Test_modeline_syntax() | 49 func Test_modeline_syntax() |
52 call writefile(['vim: set syn=c :', 'nothing'], 'Xmodeline_syntax') | 50 call writefile(['vim: set syn=c :', 'nothing'], 'Xmodeline_syntax', 'D') |
53 let modeline = &modeline | 51 let modeline = &modeline |
54 set modeline | 52 set modeline |
55 syntax enable | 53 syntax enable |
56 split Xmodeline_syntax | 54 split Xmodeline_syntax |
57 call assert_equal("c", &syntax) | 55 call assert_equal("c", &syntax) |
58 call assert_equal("c", b:current_syntax) | 56 call assert_equal("c", b:current_syntax) |
59 | 57 |
60 bwipe! | 58 bwipe! |
61 call delete('Xmodeline_syntax') | |
62 let &modeline = modeline | 59 let &modeline = modeline |
63 syntax off | 60 syntax off |
64 endfunc | 61 endfunc |
65 | 62 |
66 func Test_modeline_keymap() | 63 func Test_modeline_keymap() |
67 CheckFeature keymap | 64 CheckFeature keymap |
68 call writefile(['vim: set keymap=greek :', 'nothing'], 'Xmodeline_keymap') | 65 call writefile(['vim: set keymap=greek :', 'nothing'], 'Xmodeline_keymap', 'D') |
69 let modeline = &modeline | 66 let modeline = &modeline |
70 set modeline | 67 set modeline |
71 split Xmodeline_keymap | 68 split Xmodeline_keymap |
72 call assert_equal("greek", &keymap) | 69 call assert_equal("greek", &keymap) |
73 call assert_match('greek\|grk', b:keymap_name) | 70 call assert_match('greek\|grk', b:keymap_name) |
74 | 71 |
75 bwipe! | 72 bwipe! |
76 call delete('Xmodeline_keymap') | |
77 let &modeline = modeline | 73 let &modeline = modeline |
78 set keymap= iminsert=0 imsearch=-1 | 74 set keymap= iminsert=0 imsearch=-1 |
79 endfunc | 75 endfunc |
80 | 76 |
81 func Test_modeline_version() | 77 func Test_modeline_version() |
82 let modeline = &modeline | 78 let modeline = &modeline |
83 set modeline | 79 set modeline |
84 | 80 |
85 " Test with vim:{vers}: (version {vers} or later). | 81 " Test with vim:{vers}: (version {vers} or later). |
86 call writefile(['// vim' .. v:version .. ': ts=2:'], 'Xmodeline_version') | 82 call writefile(['// vim' .. v:version .. ': ts=2:'], 'Xmodeline_version', 'D') |
87 edit Xmodeline_version | 83 edit Xmodeline_version |
88 call assert_equal(2, &ts) | 84 call assert_equal(2, &ts) |
89 bwipe! | 85 bwipe! |
90 | 86 |
91 call writefile(['// vim' .. (v:version - 100) .. ': ts=2:'], 'Xmodeline_version') | 87 call writefile(['// vim' .. (v:version - 100) .. ': ts=2:'], 'Xmodeline_version') |
145 edit Xmodeline_version | 141 edit Xmodeline_version |
146 call assert_equal(8, &ts) | 142 call assert_equal(8, &ts) |
147 bwipe! | 143 bwipe! |
148 | 144 |
149 let &modeline = modeline | 145 let &modeline = modeline |
150 call delete('Xmodeline_version') | |
151 endfunc | 146 endfunc |
152 | 147 |
153 func Test_modeline_colon() | 148 func Test_modeline_colon() |
154 let modeline = &modeline | 149 let modeline = &modeline |
155 set modeline | 150 set modeline |
156 | 151 |
157 call writefile(['// vim: set showbreak=\: ts=2: sw=2'], 'Xmodeline_colon') | 152 call writefile(['// vim: set showbreak=\: ts=2: sw=2'], 'Xmodeline_colon', 'D') |
158 edit Xmodeline_colon | 153 edit Xmodeline_colon |
159 | 154 |
160 " backlash colon should become colon. | 155 " backlash colon should become colon. |
161 call assert_equal(':', &showbreak) | 156 call assert_equal(':', &showbreak) |
162 | 157 |
164 " 'sw' should be ignored because it is after the end colon. | 159 " 'sw' should be ignored because it is after the end colon. |
165 call assert_equal(2, &ts) | 160 call assert_equal(2, &ts) |
166 call assert_equal(8, &sw) | 161 call assert_equal(8, &sw) |
167 | 162 |
168 let &modeline = modeline | 163 let &modeline = modeline |
169 call delete('Xmodeline_colon') | |
170 endfunc | 164 endfunc |
171 | 165 |
172 func s:modeline_fails(what, text, error) | 166 func s:modeline_fails(what, text, error) |
173 call CheckOption(a:what) | 167 call CheckOption(a:what) |
174 let fname = "Xmodeline_fails_" . a:what | 168 let fname = "Xmodeline_fails_" . a:what |
175 call writefile(['vim: set ' . a:text . ' :', 'nothing'], fname) | 169 call writefile(['vim: set ' . a:text . ' :', 'nothing'], fname, 'D') |
176 let modeline = &modeline | 170 let modeline = &modeline |
177 set modeline | 171 set modeline |
178 filetype plugin on | 172 filetype plugin on |
179 syntax enable | 173 syntax enable |
180 call assert_fails('split ' . fname, a:error) | 174 call assert_fails('split ' . fname, a:error) |
181 call assert_equal("", &filetype) | 175 call assert_equal("", &filetype) |
182 call assert_equal("", &syntax) | 176 call assert_equal("", &syntax) |
183 | 177 |
184 bwipe! | 178 bwipe! |
185 call delete(fname) | |
186 let &modeline = modeline | 179 let &modeline = modeline |
187 filetype plugin off | 180 filetype plugin off |
188 syntax off | 181 syntax off |
189 endfunc | 182 endfunc |
190 | 183 |
290 5 five | 283 5 five |
291 6 six | 284 6 six |
292 7 seven | 285 7 seven |
293 8 eight | 286 8 eight |
294 END | 287 END |
295 call writefile(lines, 'Xmodeline') | 288 call writefile(lines, 'Xmodeline', 'D') |
296 edit Xmodeline | 289 edit Xmodeline |
297 let info = split(execute('verbose set tabstop?'), "\n") | 290 let info = split(execute('verbose set tabstop?'), "\n") |
298 call assert_match('^\s*Last set from modeline line 1$', info[-1]) | 291 call assert_match('^\s*Last set from modeline line 1$', info[-1]) |
299 bwipe! | 292 bwipe! |
300 | 293 |
329 let info = split(execute('verbose set tabstop?'), "\n") | 322 let info = split(execute('verbose set tabstop?'), "\n") |
330 call assert_match('^\s*Last set from modeline line 8$', info[-1]) | 323 call assert_match('^\s*Last set from modeline line 8$', info[-1]) |
331 bwipe! | 324 bwipe! |
332 | 325 |
333 let &modeline = modeline | 326 let &modeline = modeline |
334 call delete('Xmodeline') | |
335 endfunc | 327 endfunc |
336 | 328 |
337 " Test for the 'modeline' default value in compatible and non-compatible modes | 329 " Test for the 'modeline' default value in compatible and non-compatible modes |
338 " for root and non-root accounts | 330 " for root and non-root accounts |
339 func Test_modeline_default() | 331 func Test_modeline_default() |
348 set compatible& modeline& | 340 set compatible& modeline& |
349 endfunc | 341 endfunc |
350 | 342 |
351 " Some options cannot be set from the modeline when 'diff' option is set | 343 " Some options cannot be set from the modeline when 'diff' option is set |
352 func Test_modeline_diff_buffer() | 344 func Test_modeline_diff_buffer() |
353 call writefile(['vim: diff foldmethod=marker wrap'], 'Xmdifile') | 345 call writefile(['vim: diff foldmethod=marker wrap'], 'Xmdifile', 'D') |
354 set foldmethod& nowrap | 346 set foldmethod& nowrap |
355 new Xmdifile | 347 new Xmdifile |
356 call assert_equal('manual', &foldmethod) | 348 call assert_equal('manual', &foldmethod) |
357 call assert_false(&wrap) | 349 call assert_false(&wrap) |
358 set wrap& | 350 set wrap& |
359 call delete('Xmdifile') | |
360 bw | 351 bw |
361 endfunc | 352 endfunc |
362 | 353 |
363 func Test_modeline_disable() | 354 func Test_modeline_disable() |
364 set modeline | 355 set modeline |
365 call writefile(['vim: sw=2', 'vim: nomodeline', 'vim: sw=3'], 'Xmodeline_disable') | 356 call writefile(['vim: sw=2', 'vim: nomodeline', 'vim: sw=3'], 'Xmodeline_disable', 'D') |
366 edit Xmodeline_disable | 357 edit Xmodeline_disable |
367 call assert_equal(2, &sw) | 358 call assert_equal(2, &sw) |
368 call delete('Xmodeline_disable') | |
369 endfunc | 359 endfunc |
370 | 360 |
371 " vim: shiftwidth=2 sts=2 expandtab | 361 " vim: shiftwidth=2 sts=2 expandtab |