Mercurial > vim
annotate src/testdir/test_autocmd.vim @ 29970:d891115c0aea v9.0.0323
patch 9.0.0323: using common name in tests leads to flaky tests
Commit: https://github.com/vim/vim/commit/3b0d70f4ff436cb144683dafd956e8a3ee485a90
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Aug 29 22:31:20 2022 +0100
patch 9.0.0323: using common name in tests leads to flaky tests
Problem: Using common name in tests leads to flaky tests.
Solution: Rename files and directories to be more specific.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 29 Aug 2022 23:45:04 +0200 |
parents | c8b1a683323c |
children | b2140f61826c |
rev | line source |
---|---|
8738
e770986c855a
commit https://github.com/vim/vim/commit/1473551a4457d4920b235eeeb9f279e196ee7225
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Tests for autocommands |
e770986c855a
commit https://github.com/vim/vim/commit/1473551a4457d4920b235eeeb9f279e196ee7225
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
13519
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
3 source shared.vim |
17657
0da9bc55c31a
patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents:
17093
diff
changeset
|
4 source check.vim |
18144
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
5 source term_util.vim |
28375
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
6 source screendump.vim |
28167
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
7 import './vim9.vim' as v9 |
13519
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
8 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
15207
diff
changeset
|
9 func s:cleanup_buffers() abort |
10242
a369d97995ff
commit https://github.com/vim/vim/commit/b3435b0a3a0967115658d0a8c0224a28969cfa02
Christian Brabandt <cb@256bit.org>
parents:
10151
diff
changeset
|
10 for bnr in range(1, bufnr('$')) |
a369d97995ff
commit https://github.com/vim/vim/commit/b3435b0a3a0967115658d0a8c0224a28969cfa02
Christian Brabandt <cb@256bit.org>
parents:
10151
diff
changeset
|
11 if bufloaded(bnr) && bufnr('%') != bnr |
a369d97995ff
commit https://github.com/vim/vim/commit/b3435b0a3a0967115658d0a8c0224a28969cfa02
Christian Brabandt <cb@256bit.org>
parents:
10151
diff
changeset
|
12 execute 'bd! ' . bnr |
a369d97995ff
commit https://github.com/vim/vim/commit/b3435b0a3a0967115658d0a8c0224a28969cfa02
Christian Brabandt <cb@256bit.org>
parents:
10151
diff
changeset
|
13 endif |
a369d97995ff
commit https://github.com/vim/vim/commit/b3435b0a3a0967115658d0a8c0224a28969cfa02
Christian Brabandt <cb@256bit.org>
parents:
10151
diff
changeset
|
14 endfor |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
15 endfunc |
10242
a369d97995ff
commit https://github.com/vim/vim/commit/b3435b0a3a0967115658d0a8c0224a28969cfa02
Christian Brabandt <cb@256bit.org>
parents:
10151
diff
changeset
|
16 |
8738
e770986c855a
commit https://github.com/vim/vim/commit/1473551a4457d4920b235eeeb9f279e196ee7225
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 func Test_vim_did_enter() |
e770986c855a
commit https://github.com/vim/vim/commit/1473551a4457d4920b235eeeb9f279e196ee7225
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 call assert_false(v:vim_did_enter) |
e770986c855a
commit https://github.com/vim/vim/commit/1473551a4457d4920b235eeeb9f279e196ee7225
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 |
e770986c855a
commit https://github.com/vim/vim/commit/1473551a4457d4920b235eeeb9f279e196ee7225
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 " This script will never reach the main loop, can't check if v:vim_did_enter |
e770986c855a
commit https://github.com/vim/vim/commit/1473551a4457d4920b235eeeb9f279e196ee7225
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 " becomes one. |
e770986c855a
commit https://github.com/vim/vim/commit/1473551a4457d4920b235eeeb9f279e196ee7225
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 endfunc |
8947
c07caeb90a35
commit https://github.com/vim/vim/commit/40b1b5443c88fab77f1f7c6f9e801f7ffdb7e0a8
Christian Brabandt <cb@256bit.org>
parents:
8738
diff
changeset
|
23 |
21419
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
24 " Test for the CursorHold autocmd |
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
25 func Test_CursorHold_autocmd() |
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
26 CheckRunVimInTerminal |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
27 call writefile(['one', 'two', 'three'], 'XoneTwoThree') |
21419
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
28 let before =<< trim END |
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
29 set updatetime=10 |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
30 au CursorHold * call writefile([line('.')], 'XCHoutput', 'a') |
21419
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
31 END |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
32 call writefile(before, 'XCHinit') |
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
33 let buf = RunVimInTerminal('-S XCHinit XoneTwoThree', {}) |
21895
0ae284aaa8a2
patch 8.2.1497: CursorHold test is flaky
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
34 call term_sendkeys(buf, "G") |
22576
170077e26bde
patch 8.2.1836: autocmd test fails on pacifist systems
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
35 call term_wait(buf, 50) |
21419
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
36 call term_sendkeys(buf, "gg") |
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
37 call term_wait(buf) |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
38 call WaitForAssert({-> assert_equal(['1'], readfile('XCHoutput')[-1:-1])}) |
21419
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
39 call term_sendkeys(buf, "j") |
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
40 call term_wait(buf) |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
41 call WaitForAssert({-> assert_equal(['1', '2'], readfile('XCHoutput')[-2:-1])}) |
21419
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
42 call term_sendkeys(buf, "j") |
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
43 call term_wait(buf) |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
44 call WaitForAssert({-> assert_equal(['1', '2', '3'], readfile('XCHoutput')[-3:-1])}) |
21419
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
45 call StopVimInTerminal(buf) |
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
46 |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
47 call delete('XCHinit') |
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
48 call delete('XCHoutput') |
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
49 call delete('XoneTwoThree') |
21419
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
50 endfunc |
e4449560f18d
patch 8.2.1260: there is no good test for CursorHold
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
51 |
9106
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
52 if has('timers') |
16646
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
53 |
9106
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
54 func ExitInsertMode(id) |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
55 call feedkeys("\<Esc>") |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
56 endfunc |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
57 |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
58 func Test_cursorhold_insert() |
10151
0be17a56e65f
commit https://github.com/vim/vim/commit/f18c4dbbe545757ce93563b25380e6f010340b4e
Christian Brabandt <cb@256bit.org>
parents:
10141
diff
changeset
|
59 " Need to move the cursor. |
0be17a56e65f
commit https://github.com/vim/vim/commit/f18c4dbbe545757ce93563b25380e6f010340b4e
Christian Brabandt <cb@256bit.org>
parents:
10141
diff
changeset
|
60 call feedkeys("ggG", "xt") |
0be17a56e65f
commit https://github.com/vim/vim/commit/f18c4dbbe545757ce93563b25380e6f010340b4e
Christian Brabandt <cb@256bit.org>
parents:
10141
diff
changeset
|
61 |
9106
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
62 let g:triggered = 0 |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
63 au CursorHoldI * let g:triggered += 1 |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
64 set updatetime=20 |
23847
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
65 call timer_start(200, 'ExitInsertMode') |
9106
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
66 call feedkeys('a', 'x!') |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
67 call assert_equal(1, g:triggered) |
15659
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
68 unlet g:triggered |
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
69 au! CursorHoldI |
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
70 set updatetime& |
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
71 endfunc |
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
72 |
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
73 func Test_cursorhold_insert_with_timer_interrupt() |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21638
diff
changeset
|
74 CheckFeature job |
15659
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
75 " Need to move the cursor. |
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
76 call feedkeys("ggG", "xt") |
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
77 |
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
78 " Confirm the timer invoked in exit_cb of the job doesn't disturb |
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
79 " CursorHoldI event. |
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
80 let g:triggered = 0 |
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
81 au CursorHoldI * let g:triggered += 1 |
22576
170077e26bde
patch 8.2.1836: autocmd test fails on pacifist systems
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
82 set updatetime=100 |
15659
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
83 call job_start(has('win32') ? 'cmd /c echo:' : 'echo', |
22576
170077e26bde
patch 8.2.1836: autocmd test fails on pacifist systems
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
84 \ {'exit_cb': {-> timer_start(200, 'ExitInsertMode')}}) |
15659
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
85 call feedkeys('a', 'x!') |
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
86 call assert_equal(1, g:triggered) |
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
87 unlet g:triggered |
9653
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
88 au! CursorHoldI |
10141
b67088aae933
commit https://github.com/vim/vim/commit/aeac9006d5d14910f214f09df52c026a5936e737
Christian Brabandt <cb@256bit.org>
parents:
10114
diff
changeset
|
89 set updatetime& |
9106
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
90 endfunc |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
91 |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
92 func Test_cursorhold_insert_ctrl_x() |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
93 let g:triggered = 0 |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
94 au CursorHoldI * let g:triggered += 1 |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
95 set updatetime=20 |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
96 call timer_start(100, 'ExitInsertMode') |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
97 " CursorHoldI does not trigger after CTRL-X |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
98 call feedkeys("a\<C-X>", 'x!') |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
99 call assert_equal(0, g:triggered) |
15659
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
100 unlet g:triggered |
9653
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
101 au! CursorHoldI |
10141
b67088aae933
commit https://github.com/vim/vim/commit/aeac9006d5d14910f214f09df52c026a5936e737
Christian Brabandt <cb@256bit.org>
parents:
10114
diff
changeset
|
102 set updatetime& |
9106
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
103 endfunc |
16646
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
104 |
25866
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
105 func Test_cursorhold_insert_ctrl_g_U() |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
106 au CursorHoldI * : |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
107 set updatetime=20 |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
108 new |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
109 call timer_start(100, { -> feedkeys("\<Left>foo\<Esc>", 't') }) |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
110 call feedkeys("i()\<C-g>U", 'tx!') |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
111 sleep 200m |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
112 call assert_equal('(foo)', getline(1)) |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
113 undo |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
114 call assert_equal('', getline(1)) |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
115 |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
116 bwipe! |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
117 au! CursorHoldI |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
118 set updatetime& |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
119 endfunc |
45a8b2b2f652
patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Bram Moolenaar <Bram@vim.org>
parents:
25838
diff
changeset
|
120 |
16646
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
121 func Test_OptionSet_modeline() |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
122 call test_override('starting', 1) |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
123 au! OptionSet |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
124 augroup set_tabstop |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
125 au OptionSet tabstop call timer_start(1, {-> execute("echo 'Handler called'", "")}) |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
126 augroup END |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
127 call writefile(['vim: set ts=7 sw=5 :', 'something'], 'XoptionsetModeline') |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
128 set modeline |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
129 let v:errmsg = '' |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
130 call assert_fails('split XoptionsetModeline', 'E12:') |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
131 call assert_equal(7, &ts) |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
132 call assert_equal('', v:errmsg) |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
133 |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
134 augroup set_tabstop |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
135 au! |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
136 augroup END |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
137 bwipe! |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
138 set ts& |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
139 call delete('XoptionsetModeline') |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
140 call test_override('starting', 0) |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
141 endfunc |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
142 |
ea0f9a2df961
patch 8.1.1325: cannot build with +eval but without +channel and +timers
Bram Moolenaar <Bram@vim.org>
parents:
16617
diff
changeset
|
143 endif "has('timers') |
8947
c07caeb90a35
commit https://github.com/vim/vim/commit/40b1b5443c88fab77f1f7c6f9e801f7ffdb7e0a8
Christian Brabandt <cb@256bit.org>
parents:
8738
diff
changeset
|
144 |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
145 func Test_bufunload() |
9106
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
146 augroup test_bufunload_group |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
147 autocmd! |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
148 autocmd BufUnload * call add(s:li, "bufunload") |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
149 autocmd BufDelete * call add(s:li, "bufdelete") |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
150 autocmd BufWipeout * call add(s:li, "bufwipeout") |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
151 augroup END |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
152 |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
153 let s:li = [] |
9106
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
154 new |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
155 setlocal bufhidden= |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
156 bunload |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
157 call assert_equal(["bufunload", "bufdelete"], s:li) |
8947
c07caeb90a35
commit https://github.com/vim/vim/commit/40b1b5443c88fab77f1f7c6f9e801f7ffdb7e0a8
Christian Brabandt <cb@256bit.org>
parents:
8738
diff
changeset
|
158 |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
159 let s:li = [] |
9106
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
160 new |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
161 setlocal bufhidden=delete |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
162 bunload |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
163 call assert_equal(["bufunload", "bufdelete"], s:li) |
8947
c07caeb90a35
commit https://github.com/vim/vim/commit/40b1b5443c88fab77f1f7c6f9e801f7ffdb7e0a8
Christian Brabandt <cb@256bit.org>
parents:
8738
diff
changeset
|
164 |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
165 let s:li = [] |
9106
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
166 new |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
167 setlocal bufhidden=unload |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
168 bwipeout |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
169 call assert_equal(["bufunload", "bufdelete", "bufwipeout"], s:li) |
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
170 |
9653
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
171 au! test_bufunload_group |
9106
97a9538c37ff
commit https://github.com/vim/vim/commit/c67e89213476b5f4756d92208b57ce9ef4a4cf24
Christian Brabandt <cb@256bit.org>
parents:
8947
diff
changeset
|
172 augroup! test_bufunload_group |
8947
c07caeb90a35
commit https://github.com/vim/vim/commit/40b1b5443c88fab77f1f7c6f9e801f7ffdb7e0a8
Christian Brabandt <cb@256bit.org>
parents:
8738
diff
changeset
|
173 endfunc |
9450
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
174 |
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
175 " SEGV occurs in older versions. (At least 7.4.2005 or older) |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
176 func Test_autocmd_bufunload_with_tabnext() |
9450
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
177 tabedit |
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
178 tabfirst |
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
179 |
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
180 augroup test_autocmd_bufunload_with_tabnext_group |
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
181 autocmd! |
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
182 autocmd BufUnload <buffer> tabnext |
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
183 augroup END |
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
184 |
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
185 quit |
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
186 call assert_equal(2, tabpagenr('$')) |
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
187 |
10106
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
188 autocmd! test_autocmd_bufunload_with_tabnext_group |
9450
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
189 augroup! test_autocmd_bufunload_with_tabnext_group |
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
190 tablast |
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
191 quit |
073aebdba121
commit https://github.com/vim/vim/commit/30445cb6e94698d212ba866ef3e4022ac625540a
Christian Brabandt <cb@256bit.org>
parents:
9106
diff
changeset
|
192 endfunc |
9595
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
193 |
23760
bb2afcad503b
patch 8.2.2421: double free when using autocommand with "argdel"
Bram Moolenaar <Bram@vim.org>
parents:
23758
diff
changeset
|
194 func Test_argdelete_in_next() |
bb2afcad503b
patch 8.2.2421: double free when using autocommand with "argdel"
Bram Moolenaar <Bram@vim.org>
parents:
23758
diff
changeset
|
195 au BufNew,BufEnter,BufLeave,BufWinEnter * argdel |
bb2afcad503b
patch 8.2.2421: double free when using autocommand with "argdel"
Bram Moolenaar <Bram@vim.org>
parents:
23758
diff
changeset
|
196 call assert_fails('next a b', 'E1156:') |
bb2afcad503b
patch 8.2.2421: double free when using autocommand with "argdel"
Bram Moolenaar <Bram@vim.org>
parents:
23758
diff
changeset
|
197 au! BufNew,BufEnter,BufLeave,BufWinEnter * |
bb2afcad503b
patch 8.2.2421: double free when using autocommand with "argdel"
Bram Moolenaar <Bram@vim.org>
parents:
23758
diff
changeset
|
198 endfunc |
bb2afcad503b
patch 8.2.2421: double free when using autocommand with "argdel"
Bram Moolenaar <Bram@vim.org>
parents:
23758
diff
changeset
|
199 |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
200 func Test_autocmd_bufwinleave_with_tabfirst() |
10114
aa2219afd1c2
commit https://github.com/vim/vim/commit/f9e687e0681a250e1549ab27b6c7ef2c500395e3
Christian Brabandt <cb@256bit.org>
parents:
10106
diff
changeset
|
201 tabedit |
aa2219afd1c2
commit https://github.com/vim/vim/commit/f9e687e0681a250e1549ab27b6c7ef2c500395e3
Christian Brabandt <cb@256bit.org>
parents:
10106
diff
changeset
|
202 augroup sample |
aa2219afd1c2
commit https://github.com/vim/vim/commit/f9e687e0681a250e1549ab27b6c7ef2c500395e3
Christian Brabandt <cb@256bit.org>
parents:
10106
diff
changeset
|
203 autocmd! |
aa2219afd1c2
commit https://github.com/vim/vim/commit/f9e687e0681a250e1549ab27b6c7ef2c500395e3
Christian Brabandt <cb@256bit.org>
parents:
10106
diff
changeset
|
204 autocmd BufWinLeave <buffer> tabfirst |
aa2219afd1c2
commit https://github.com/vim/vim/commit/f9e687e0681a250e1549ab27b6c7ef2c500395e3
Christian Brabandt <cb@256bit.org>
parents:
10106
diff
changeset
|
205 augroup END |
aa2219afd1c2
commit https://github.com/vim/vim/commit/f9e687e0681a250e1549ab27b6c7ef2c500395e3
Christian Brabandt <cb@256bit.org>
parents:
10106
diff
changeset
|
206 call setline(1, ['a', 'b', 'c']) |
aa2219afd1c2
commit https://github.com/vim/vim/commit/f9e687e0681a250e1549ab27b6c7ef2c500395e3
Christian Brabandt <cb@256bit.org>
parents:
10106
diff
changeset
|
207 edit! a.txt |
10151
0be17a56e65f
commit https://github.com/vim/vim/commit/f18c4dbbe545757ce93563b25380e6f010340b4e
Christian Brabandt <cb@256bit.org>
parents:
10141
diff
changeset
|
208 tabclose |
10114
aa2219afd1c2
commit https://github.com/vim/vim/commit/f9e687e0681a250e1549ab27b6c7ef2c500395e3
Christian Brabandt <cb@256bit.org>
parents:
10106
diff
changeset
|
209 endfunc |
aa2219afd1c2
commit https://github.com/vim/vim/commit/f9e687e0681a250e1549ab27b6c7ef2c500395e3
Christian Brabandt <cb@256bit.org>
parents:
10106
diff
changeset
|
210 |
10106
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
211 " SEGV occurs in older versions. (At least 7.4.2321 or older) |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
212 func Test_autocmd_bufunload_avoiding_SEGV_01() |
10106
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
213 split aa.txt |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
214 let lastbuf = bufnr('$') |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
215 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
216 augroup test_autocmd_bufunload |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
217 autocmd! |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
218 exe 'autocmd BufUnload <buffer> ' . (lastbuf + 1) . 'bwipeout!' |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
219 augroup END |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
220 |
22742
f7f2d73ff85e
patch 8.2.1919: assert_fails() setting emsg_silent changes normal execution
Bram Moolenaar <Bram@vim.org>
parents:
22576
diff
changeset
|
221 call assert_fails('edit bb.txt', 'E937:') |
10106
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
222 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
223 autocmd! test_autocmd_bufunload |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
224 augroup! test_autocmd_bufunload |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
225 bwipe! aa.txt |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
226 bwipe! bb.txt |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
227 endfunc |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
228 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
229 " SEGV occurs in older versions. (At least 7.4.2321 or older) |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
230 func Test_autocmd_bufunload_avoiding_SEGV_02() |
10106
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
231 setlocal buftype=nowrite |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
232 let lastbuf = bufnr('$') |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
233 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
234 augroup test_autocmd_bufunload |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
235 autocmd! |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
236 exe 'autocmd BufUnload <buffer> ' . (lastbuf + 1) . 'bwipeout!' |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
237 augroup END |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
238 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
239 normal! i1 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
240 call assert_fails('edit a.txt', 'E517:') |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
241 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
242 autocmd! test_autocmd_bufunload |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
243 augroup! test_autocmd_bufunload |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
244 bwipe! a.txt |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
245 endfunc |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
246 |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
247 func Test_autocmd_dummy_wipeout() |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
248 " prepare files |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
249 call writefile([''], 'Xdummywipetest1.txt') |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
250 call writefile([''], 'Xdummywipetest2.txt') |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
251 augroup test_bufunload_group |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
252 autocmd! |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
253 autocmd BufUnload * call add(s:li, "bufunload") |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
254 autocmd BufDelete * call add(s:li, "bufdelete") |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
255 autocmd BufWipeout * call add(s:li, "bufwipeout") |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
256 augroup END |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
257 |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
258 let s:li = [] |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
259 split Xdummywipetest1.txt |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
260 silent! vimgrep /notmatched/ Xdummywipetest* |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
261 call assert_equal(["bufunload", "bufwipeout"], s:li) |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
262 |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
263 bwipeout |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
264 call delete('Xdummywipetest1.txt') |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
265 call delete('Xdummywipetest2.txt') |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
266 au! test_bufunload_group |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
267 augroup! test_bufunload_group |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
268 endfunc |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
269 |
9595
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
270 func Test_win_tab_autocmd() |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
271 let g:record = [] |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
272 |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
273 augroup testing |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
274 au WinNew * call add(g:record, 'WinNew') |
26117
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
275 au WinClosed * call add(g:record, 'WinClosed') |
9595
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
276 au WinEnter * call add(g:record, 'WinEnter') |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
277 au WinLeave * call add(g:record, 'WinLeave') |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
278 au TabNew * call add(g:record, 'TabNew') |
9599
42a8a81decdf
commit https://github.com/vim/vim/commit/12c11d553053f5a9eae9eb3c518279b12fa928c2
Christian Brabandt <cb@256bit.org>
parents:
9595
diff
changeset
|
279 au TabClosed * call add(g:record, 'TabClosed') |
9595
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
280 au TabEnter * call add(g:record, 'TabEnter') |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
281 au TabLeave * call add(g:record, 'TabLeave') |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
282 augroup END |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
283 |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
284 split |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
285 tabnew |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
286 close |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
287 close |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
288 |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
289 call assert_equal([ |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
290 \ 'WinLeave', 'WinNew', 'WinEnter', |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
291 \ 'WinLeave', 'TabLeave', 'WinNew', 'WinEnter', 'TabNew', 'TabEnter', |
26117
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
292 \ 'WinLeave', 'TabLeave', 'WinClosed', 'TabClosed', 'WinEnter', 'TabEnter', |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
293 \ 'WinLeave', 'WinClosed', 'WinEnter' |
9599
42a8a81decdf
commit https://github.com/vim/vim/commit/12c11d553053f5a9eae9eb3c518279b12fa928c2
Christian Brabandt <cb@256bit.org>
parents:
9595
diff
changeset
|
294 \ ], g:record) |
42a8a81decdf
commit https://github.com/vim/vim/commit/12c11d553053f5a9eae9eb3c518279b12fa928c2
Christian Brabandt <cb@256bit.org>
parents:
9595
diff
changeset
|
295 |
42a8a81decdf
commit https://github.com/vim/vim/commit/12c11d553053f5a9eae9eb3c518279b12fa928c2
Christian Brabandt <cb@256bit.org>
parents:
9595
diff
changeset
|
296 let g:record = [] |
42a8a81decdf
commit https://github.com/vim/vim/commit/12c11d553053f5a9eae9eb3c518279b12fa928c2
Christian Brabandt <cb@256bit.org>
parents:
9595
diff
changeset
|
297 tabnew somefile |
42a8a81decdf
commit https://github.com/vim/vim/commit/12c11d553053f5a9eae9eb3c518279b12fa928c2
Christian Brabandt <cb@256bit.org>
parents:
9595
diff
changeset
|
298 tabnext |
42a8a81decdf
commit https://github.com/vim/vim/commit/12c11d553053f5a9eae9eb3c518279b12fa928c2
Christian Brabandt <cb@256bit.org>
parents:
9595
diff
changeset
|
299 bwipe somefile |
42a8a81decdf
commit https://github.com/vim/vim/commit/12c11d553053f5a9eae9eb3c518279b12fa928c2
Christian Brabandt <cb@256bit.org>
parents:
9595
diff
changeset
|
300 |
42a8a81decdf
commit https://github.com/vim/vim/commit/12c11d553053f5a9eae9eb3c518279b12fa928c2
Christian Brabandt <cb@256bit.org>
parents:
9595
diff
changeset
|
301 call assert_equal([ |
42a8a81decdf
commit https://github.com/vim/vim/commit/12c11d553053f5a9eae9eb3c518279b12fa928c2
Christian Brabandt <cb@256bit.org>
parents:
9595
diff
changeset
|
302 \ 'WinLeave', 'TabLeave', 'WinNew', 'WinEnter', 'TabNew', 'TabEnter', |
9595
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
303 \ 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', |
26117
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
304 \ 'WinClosed', 'TabClosed' |
9595
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
305 \ ], g:record) |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
306 |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
307 augroup testing |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
308 au! |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
309 augroup END |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
310 unlet g:record |
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9450
diff
changeset
|
311 endfunc |
9653
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
312 |
28375
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
313 func Test_WinScrolled() |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
314 CheckRunVimInTerminal |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
315 |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
316 let lines =<< trim END |
28429
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
317 set nowrap scrolloff=0 |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
318 for ii in range(1, 18) |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
319 call setline(ii, repeat(nr2char(96 + ii), ii * 2)) |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
320 endfor |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
321 let win_id = win_getid() |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
322 let g:matched = v:false |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
323 execute 'au WinScrolled' win_id 'let g:matched = v:true' |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
324 let g:scrolled = 0 |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
325 au WinScrolled * let g:scrolled += 1 |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
326 au WinScrolled * let g:amatch = str2nr(expand('<amatch>')) |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
327 au WinScrolled * let g:afile = str2nr(expand('<afile>')) |
28375
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
328 END |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
329 call writefile(lines, 'Xtest_winscrolled') |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
330 let buf = RunVimInTerminal('-S Xtest_winscrolled', {'rows': 6}) |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
331 |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
332 call term_sendkeys(buf, ":echo g:scrolled\<CR>") |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
333 call WaitForAssert({-> assert_match('^0 ', term_getline(buf, 6))}, 1000) |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
334 |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
335 " Scroll left/right in Normal mode. |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
336 call term_sendkeys(buf, "zlzh:echo g:scrolled\<CR>") |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
337 call WaitForAssert({-> assert_match('^2 ', term_getline(buf, 6))}, 1000) |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
338 |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
339 " Scroll up/down in Normal mode. |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
340 call term_sendkeys(buf, "\<c-e>\<c-y>:echo g:scrolled\<CR>") |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
341 call WaitForAssert({-> assert_match('^4 ', term_getline(buf, 6))}, 1000) |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
342 |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
343 " Scroll up/down in Insert mode. |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
344 call term_sendkeys(buf, "Mi\<c-x>\<c-e>\<Esc>i\<c-x>\<c-y>\<Esc>") |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
345 call term_sendkeys(buf, ":echo g:scrolled\<CR>") |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
346 call WaitForAssert({-> assert_match('^6 ', term_getline(buf, 6))}, 1000) |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
347 |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
348 " Scroll the window horizontally to focus the last letter of the third line |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
349 " containing only six characters. Moving to the previous and shorter lines |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
350 " should trigger another autocommand as Vim has to make them visible. |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
351 call term_sendkeys(buf, "5zl2k") |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
352 call term_sendkeys(buf, ":echo g:scrolled\<CR>") |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
353 call WaitForAssert({-> assert_match('^8 ', term_getline(buf, 6))}, 1000) |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
354 |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
355 " Ensure the command was triggered for the specified window ID. |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
356 call term_sendkeys(buf, ":echo g:matched\<CR>") |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
357 call WaitForAssert({-> assert_match('^v:true ', term_getline(buf, 6))}, 1000) |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
358 |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
359 " Ensure the expansion of <amatch> and <afile> matches the window ID. |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
360 call term_sendkeys(buf, ":echo g:amatch == win_id && g:afile == win_id\<CR>") |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
361 call WaitForAssert({-> assert_match('^v:true ', term_getline(buf, 6))}, 1000) |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
362 |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
363 call StopVimInTerminal(buf) |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
364 call delete('Xtest_winscrolled') |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
365 endfunc |
e466fdbe0699
patch 8.2.4713: plugins cannot track text scrolling
Bram Moolenaar <Bram@vim.org>
parents:
28361
diff
changeset
|
366 |
28558
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
367 func Test_WinScrolled_mouse() |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
368 CheckRunVimInTerminal |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
369 |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
370 let lines =<< trim END |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
371 set nowrap scrolloff=0 |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
372 set mouse=a term=xterm ttymouse=sgr mousetime=200 clipboard= |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
373 call setline(1, ['foo']->repeat(32)) |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
374 split |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
375 let g:scrolled = 0 |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
376 au WinScrolled * let g:scrolled += 1 |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
377 END |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
378 call writefile(lines, 'Xtest_winscrolled_mouse') |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
379 let buf = RunVimInTerminal('-S Xtest_winscrolled_mouse', {'rows': 10}) |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
380 |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
381 " With the upper split focused, send a scroll-down event to the unfocused one. |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
382 call test_setmouse(7, 1) |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
383 call term_sendkeys(buf, "\<ScrollWheelDown>") |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
384 call TermWait(buf) |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
385 call term_sendkeys(buf, ":echo g:scrolled\<CR>") |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
386 call WaitForAssert({-> assert_match('^1', term_getline(buf, 10))}, 1000) |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
387 |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
388 " Again, but this time while we're in insert mode. |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
389 call term_sendkeys(buf, "i\<ScrollWheelDown>\<Esc>") |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
390 call TermWait(buf) |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
391 call term_sendkeys(buf, ":echo g:scrolled\<CR>") |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
392 call WaitForAssert({-> assert_match('^2', term_getline(buf, 10))}, 1000) |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
393 |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
394 call StopVimInTerminal(buf) |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
395 call delete('Xtest_winscrolled_mouse') |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
396 endfunc |
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
397 |
28429
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
398 func Test_WinScrolled_close_curwin() |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
399 CheckRunVimInTerminal |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
400 |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
401 let lines =<< trim END |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
402 set nowrap scrolloff=0 |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
403 call setline(1, ['aaa', 'bbb']) |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
404 vsplit |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
405 au WinScrolled * close |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
406 au VimLeave * call writefile(['123456'], 'Xtestout') |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
407 END |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
408 call writefile(lines, 'Xtest_winscrolled_close_curwin') |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
409 let buf = RunVimInTerminal('-S Xtest_winscrolled_close_curwin', {'rows': 6}) |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
410 |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
411 " This was using freed memory |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
412 call term_sendkeys(buf, "\<C-E>") |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
413 call TermWait(buf) |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
414 call StopVimInTerminal(buf) |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
415 |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
416 call assert_equal(['123456'], readfile('Xtestout')) |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
417 |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
418 call delete('Xtest_winscrolled_close_curwin') |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
419 call delete('Xtestout') |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
420 endfunc |
aa9720c76412
patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Bram Moolenaar <Bram@vim.org>
parents:
28407
diff
changeset
|
421 |
29932
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
422 func Test_WinScrolled_long_wrapped() |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
423 CheckRunVimInTerminal |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
424 |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
425 let lines =<< trim END |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
426 set scrolloff=0 |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
427 let height = winheight(0) |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
428 let width = winwidth(0) |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
429 let g:scrolled = 0 |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
430 au WinScrolled * let g:scrolled += 1 |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
431 call setline(1, repeat('foo', height * width)) |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
432 call cursor(1, height * width) |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
433 END |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
434 call writefile(lines, 'Xtest_winscrolled_long_wrapped') |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
435 let buf = RunVimInTerminal('-S Xtest_winscrolled_long_wrapped', {'rows': 6}) |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
436 |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
437 call term_sendkeys(buf, ":echo g:scrolled\<CR>") |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
438 call WaitForAssert({-> assert_match('^0 ', term_getline(buf, 6))}, 1000) |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
439 |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
440 call term_sendkeys(buf, 'gj') |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
441 call term_sendkeys(buf, ":echo g:scrolled\<CR>") |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
442 call WaitForAssert({-> assert_match('^1 ', term_getline(buf, 6))}, 1000) |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
443 |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
444 call term_sendkeys(buf, '0') |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
445 call term_sendkeys(buf, ":echo g:scrolled\<CR>") |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
446 call WaitForAssert({-> assert_match('^2 ', term_getline(buf, 6))}, 1000) |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
447 |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
448 call term_sendkeys(buf, '$') |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
449 call term_sendkeys(buf, ":echo g:scrolled\<CR>") |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
450 call WaitForAssert({-> assert_match('^3 ', term_getline(buf, 6))}, 1000) |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
451 |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
452 call delete('Xtest_winscrolled_long_wrapped') |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
453 endfunc |
27cb0eed6aef
patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Bram Moolenaar <Bram@vim.org>
parents:
29875
diff
changeset
|
454 |
26117
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
455 func Test_WinClosed() |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
456 " Test that the pattern is matched against the closed window's ID, and both |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
457 " <amatch> and <afile> are set to it. |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
458 new |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
459 let winid = win_getid() |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
460 let g:matched = v:false |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
461 augroup test-WinClosed |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
462 autocmd! |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
463 execute 'autocmd WinClosed' winid 'let g:matched = v:true' |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
464 autocmd WinClosed * let g:amatch = str2nr(expand('<amatch>')) |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
465 autocmd WinClosed * let g:afile = str2nr(expand('<afile>')) |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
466 augroup END |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
467 close |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
468 call assert_true(g:matched) |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
469 call assert_equal(winid, g:amatch) |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
470 call assert_equal(winid, g:afile) |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
471 |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
472 " Test that WinClosed is non-recursive. |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
473 new |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
474 new |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
475 call assert_equal(3, winnr('$')) |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
476 let g:triggered = 0 |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
477 augroup test-WinClosed |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
478 autocmd! |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
479 autocmd WinClosed * let g:triggered += 1 |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
480 autocmd WinClosed * 2 wincmd c |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
481 augroup END |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
482 close |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
483 call assert_equal(1, winnr('$')) |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
484 call assert_equal(1, g:triggered) |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
485 |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
486 autocmd! test-WinClosed |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
487 augroup! test-WinClosed |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
488 unlet g:matched |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
489 unlet g:amatch |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
490 unlet g:afile |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
491 unlet g:triggered |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
492 endfunc |
d4d9c7c55a5f
patch 8.2.3591: no event is triggered when closing a window
Bram Moolenaar <Bram@vim.org>
parents:
26030
diff
changeset
|
493 |
28349
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
494 func Test_WinClosed_throws() |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
495 vnew |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
496 let bnr = bufnr() |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
497 call assert_equal(1, bufloaded(bnr)) |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
498 augroup test-WinClosed |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
499 autocmd WinClosed * throw 'foo' |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
500 augroup END |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
501 try |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
502 close |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
503 catch /.*/ |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
504 endtry |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
505 call assert_equal(0, bufloaded(bnr)) |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
506 |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
507 autocmd! test-WinClosed |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
508 augroup! test-WinClosed |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
509 endfunc |
d3a1fc6b4da6
patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Bram Moolenaar <Bram@vim.org>
parents:
28211
diff
changeset
|
510 |
28361
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
511 func Test_WinClosed_throws_with_tabs() |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
512 tabnew |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
513 let bnr = bufnr() |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
514 call assert_equal(1, bufloaded(bnr)) |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
515 augroup test-WinClosed |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
516 autocmd WinClosed * throw 'foo' |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
517 augroup END |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
518 try |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
519 close |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
520 catch /.*/ |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
521 endtry |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
522 call assert_equal(0, bufloaded(bnr)) |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
523 |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
524 autocmd! test-WinClosed |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
525 augroup! test-WinClosed |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
526 endfunc |
68c36f734b10
patch 8.2.4706: buffer remains active with WinClosed and tabpages
Bram Moolenaar <Bram@vim.org>
parents:
28349
diff
changeset
|
527 |
9653
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
528 func s:AddAnAutocmd() |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
529 augroup vimBarTest |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
530 au BufReadCmd * echo 'hello' |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
531 augroup END |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
532 call assert_equal(3, len(split(execute('au vimBarTest'), "\n"))) |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
533 endfunc |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
534 |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
535 func Test_early_bar() |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
536 " test that a bar is recognized before the {event} |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
537 call s:AddAnAutocmd() |
26189
36a1a04fcd9f
patch 8.2.3626: "au! event" cannot be followed by another command
Bram Moolenaar <Bram@vim.org>
parents:
26153
diff
changeset
|
538 augroup vimBarTest | au! | let done = 77 | augroup END |
9653
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
539 call assert_equal(1, len(split(execute('au vimBarTest'), "\n"))) |
26189
36a1a04fcd9f
patch 8.2.3626: "au! event" cannot be followed by another command
Bram Moolenaar <Bram@vim.org>
parents:
26153
diff
changeset
|
540 call assert_equal(77, done) |
9653
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
541 |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
542 call s:AddAnAutocmd() |
26189
36a1a04fcd9f
patch 8.2.3626: "au! event" cannot be followed by another command
Bram Moolenaar <Bram@vim.org>
parents:
26153
diff
changeset
|
543 augroup vimBarTest| au!| let done = 88 | augroup END |
9653
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
544 call assert_equal(1, len(split(execute('au vimBarTest'), "\n"))) |
26189
36a1a04fcd9f
patch 8.2.3626: "au! event" cannot be followed by another command
Bram Moolenaar <Bram@vim.org>
parents:
26153
diff
changeset
|
545 call assert_equal(88, done) |
9653
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
546 |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
547 " test that a bar is recognized after the {event} |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
548 call s:AddAnAutocmd() |
26189
36a1a04fcd9f
patch 8.2.3626: "au! event" cannot be followed by another command
Bram Moolenaar <Bram@vim.org>
parents:
26153
diff
changeset
|
549 augroup vimBarTest| au!BufReadCmd| let done = 99 | augroup END |
9653
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
550 call assert_equal(1, len(split(execute('au vimBarTest'), "\n"))) |
26189
36a1a04fcd9f
patch 8.2.3626: "au! event" cannot be followed by another command
Bram Moolenaar <Bram@vim.org>
parents:
26153
diff
changeset
|
551 call assert_equal(99, done) |
9653
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
552 |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
553 " test that a bar is recognized after the {group} |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
554 call s:AddAnAutocmd() |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
555 au! vimBarTest|echo 'hello' |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
556 call assert_equal(1, len(split(execute('au vimBarTest'), "\n"))) |
01c9630e80e0
commit https://github.com/vim/vim/commit/e99e84497b89e5f91df519790802770920ecf4fe
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
557 endfunc |
9682
a98607bb756c
commit https://github.com/vim/vim/commit/f2c4c391192cab6e923b1a418d4af09106fba25f
Christian Brabandt <cb@256bit.org>
parents:
9653
diff
changeset
|
558 |
10058
65e43481d7de
commit https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
Christian Brabandt <cb@256bit.org>
parents:
9682
diff
changeset
|
559 func RemoveGroup() |
65e43481d7de
commit https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
Christian Brabandt <cb@256bit.org>
parents:
9682
diff
changeset
|
560 autocmd! StartOK |
65e43481d7de
commit https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
Christian Brabandt <cb@256bit.org>
parents:
9682
diff
changeset
|
561 augroup! StartOK |
65e43481d7de
commit https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
Christian Brabandt <cb@256bit.org>
parents:
9682
diff
changeset
|
562 endfunc |
65e43481d7de
commit https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
Christian Brabandt <cb@256bit.org>
parents:
9682
diff
changeset
|
563 |
9682
a98607bb756c
commit https://github.com/vim/vim/commit/f2c4c391192cab6e923b1a418d4af09106fba25f
Christian Brabandt <cb@256bit.org>
parents:
9653
diff
changeset
|
564 func Test_augroup_warning() |
a98607bb756c
commit https://github.com/vim/vim/commit/f2c4c391192cab6e923b1a418d4af09106fba25f
Christian Brabandt <cb@256bit.org>
parents:
9653
diff
changeset
|
565 augroup TheWarning |
a98607bb756c
commit https://github.com/vim/vim/commit/f2c4c391192cab6e923b1a418d4af09106fba25f
Christian Brabandt <cb@256bit.org>
parents:
9653
diff
changeset
|
566 au VimEnter * echo 'entering' |
a98607bb756c
commit https://github.com/vim/vim/commit/f2c4c391192cab6e923b1a418d4af09106fba25f
Christian Brabandt <cb@256bit.org>
parents:
9653
diff
changeset
|
567 augroup END |
22999
ffb173dbf228
patch 8.2.2046: some test failures don't give a clear error
Bram Moolenaar <Bram@vim.org>
parents:
22742
diff
changeset
|
568 call assert_match("TheWarning.*VimEnter", execute('au VimEnter')) |
9682
a98607bb756c
commit https://github.com/vim/vim/commit/f2c4c391192cab6e923b1a418d4af09106fba25f
Christian Brabandt <cb@256bit.org>
parents:
9653
diff
changeset
|
569 redir => res |
a98607bb756c
commit https://github.com/vim/vim/commit/f2c4c391192cab6e923b1a418d4af09106fba25f
Christian Brabandt <cb@256bit.org>
parents:
9653
diff
changeset
|
570 augroup! TheWarning |
a98607bb756c
commit https://github.com/vim/vim/commit/f2c4c391192cab6e923b1a418d4af09106fba25f
Christian Brabandt <cb@256bit.org>
parents:
9653
diff
changeset
|
571 redir END |
22999
ffb173dbf228
patch 8.2.2046: some test failures don't give a clear error
Bram Moolenaar <Bram@vim.org>
parents:
22742
diff
changeset
|
572 call assert_match("W19:", res) |
ffb173dbf228
patch 8.2.2046: some test failures don't give a clear error
Bram Moolenaar <Bram@vim.org>
parents:
22742
diff
changeset
|
573 call assert_match("-Deleted-.*VimEnter", execute('au VimEnter')) |
9682
a98607bb756c
commit https://github.com/vim/vim/commit/f2c4c391192cab6e923b1a418d4af09106fba25f
Christian Brabandt <cb@256bit.org>
parents:
9653
diff
changeset
|
574 |
a98607bb756c
commit https://github.com/vim/vim/commit/f2c4c391192cab6e923b1a418d4af09106fba25f
Christian Brabandt <cb@256bit.org>
parents:
9653
diff
changeset
|
575 " check "Another" does not take the pace of the deleted entry |
a98607bb756c
commit https://github.com/vim/vim/commit/f2c4c391192cab6e923b1a418d4af09106fba25f
Christian Brabandt <cb@256bit.org>
parents:
9653
diff
changeset
|
576 augroup Another |
a98607bb756c
commit https://github.com/vim/vim/commit/f2c4c391192cab6e923b1a418d4af09106fba25f
Christian Brabandt <cb@256bit.org>
parents:
9653
diff
changeset
|
577 augroup END |
22999
ffb173dbf228
patch 8.2.2046: some test failures don't give a clear error
Bram Moolenaar <Bram@vim.org>
parents:
22742
diff
changeset
|
578 call assert_match("-Deleted-.*VimEnter", execute('au VimEnter')) |
10141
b67088aae933
commit https://github.com/vim/vim/commit/aeac9006d5d14910f214f09df52c026a5936e737
Christian Brabandt <cb@256bit.org>
parents:
10114
diff
changeset
|
579 augroup! Another |
10058
65e43481d7de
commit https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
Christian Brabandt <cb@256bit.org>
parents:
9682
diff
changeset
|
580 |
65e43481d7de
commit https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
Christian Brabandt <cb@256bit.org>
parents:
9682
diff
changeset
|
581 " no warning for postpone aucmd delete |
65e43481d7de
commit https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
Christian Brabandt <cb@256bit.org>
parents:
9682
diff
changeset
|
582 augroup StartOK |
65e43481d7de
commit https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
Christian Brabandt <cb@256bit.org>
parents:
9682
diff
changeset
|
583 au VimEnter * call RemoveGroup() |
65e43481d7de
commit https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
Christian Brabandt <cb@256bit.org>
parents:
9682
diff
changeset
|
584 augroup END |
22999
ffb173dbf228
patch 8.2.2046: some test failures don't give a clear error
Bram Moolenaar <Bram@vim.org>
parents:
22742
diff
changeset
|
585 call assert_match("StartOK.*VimEnter", execute('au VimEnter')) |
10058
65e43481d7de
commit https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
Christian Brabandt <cb@256bit.org>
parents:
9682
diff
changeset
|
586 redir => res |
65e43481d7de
commit https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
Christian Brabandt <cb@256bit.org>
parents:
9682
diff
changeset
|
587 doautocmd VimEnter |
65e43481d7de
commit https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
Christian Brabandt <cb@256bit.org>
parents:
9682
diff
changeset
|
588 redir END |
22999
ffb173dbf228
patch 8.2.2046: some test failures don't give a clear error
Bram Moolenaar <Bram@vim.org>
parents:
22742
diff
changeset
|
589 call assert_notmatch("W19:", res) |
10086
1de911ef1edf
commit https://github.com/vim/vim/commit/de653f08805dde14424d417502a0480a6ad292f8
Christian Brabandt <cb@256bit.org>
parents:
10084
diff
changeset
|
590 au! VimEnter |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
591 |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
592 call assert_fails('augroup!', 'E471:') |
9682
a98607bb756c
commit https://github.com/vim/vim/commit/f2c4c391192cab6e923b1a418d4af09106fba25f
Christian Brabandt <cb@256bit.org>
parents:
9653
diff
changeset
|
593 endfunc |
10084
3e410e6e1986
commit https://github.com/vim/vim/commit/b62cc36a600e2e1e5a1d1d484fef89898c847c4c
Christian Brabandt <cb@256bit.org>
parents:
10058
diff
changeset
|
594 |
12680
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
595 func Test_BufReadCmdHelp() |
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
596 " This used to cause access to free memory |
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
597 au BufReadCmd * e +h |
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
598 help |
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
599 |
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
600 au! BufReadCmd |
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
601 endfunc |
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
602 |
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
603 func Test_BufReadCmdHelpJump() |
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
604 " This used to cause access to free memory |
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
605 au BufReadCmd * e +h{ |
12692
03a6aeea2096
patch 8.0.1224: still interference between test functions
Christian Brabandt <cb@256bit.org>
parents:
12680
diff
changeset
|
606 " } to fix highlighting |
03a6aeea2096
patch 8.0.1224: still interference between test functions
Christian Brabandt <cb@256bit.org>
parents:
12680
diff
changeset
|
607 call assert_fails('help', 'E434:') |
12680
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
608 |
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
609 au! BufReadCmd |
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
610 endfunc |
429bf1b9292f
patch 8.0.1218: writing to freed memory in autocmd
Christian Brabandt <cb@256bit.org>
parents:
12662
diff
changeset
|
611 |
29875
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
612 " BufReadCmd is triggered for a "nofile" buffer. Check all values. |
29867
6eaef7375f17
patch 9.0.0272: BufReadCmd not triggered when loading a "nofile" buffer
Bram Moolenaar <Bram@vim.org>
parents:
29505
diff
changeset
|
613 func Test_BufReadCmdNofile() |
29875
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
614 for val in ['nofile', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
615 \ 'nowrite', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
616 \ 'acwrite', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
617 \ 'quickfix', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
618 \ 'help', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
619 \ 'terminal', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
620 \ 'prompt', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
621 \ 'popup', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
622 \ ] |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
623 new somefile |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
624 exe 'set buftype=' .. val |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
625 au BufReadCmd somefile call setline(1, 'triggered') |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
626 edit |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
627 call assert_equal('triggered', getline(1)) |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
628 |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
629 au! BufReadCmd |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
630 bwipe! |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
631 endfor |
29867
6eaef7375f17
patch 9.0.0272: BufReadCmd not triggered when loading a "nofile" buffer
Bram Moolenaar <Bram@vim.org>
parents:
29505
diff
changeset
|
632 endfunc |
6eaef7375f17
patch 9.0.0272: BufReadCmd not triggered when loading a "nofile" buffer
Bram Moolenaar <Bram@vim.org>
parents:
29505
diff
changeset
|
633 |
10084
3e410e6e1986
commit https://github.com/vim/vim/commit/b62cc36a600e2e1e5a1d1d484fef89898c847c4c
Christian Brabandt <cb@256bit.org>
parents:
10058
diff
changeset
|
634 func Test_augroup_deleted() |
10086
1de911ef1edf
commit https://github.com/vim/vim/commit/de653f08805dde14424d417502a0480a6ad292f8
Christian Brabandt <cb@256bit.org>
parents:
10084
diff
changeset
|
635 " This caused a crash before E936 was introduced |
10084
3e410e6e1986
commit https://github.com/vim/vim/commit/b62cc36a600e2e1e5a1d1d484fef89898c847c4c
Christian Brabandt <cb@256bit.org>
parents:
10058
diff
changeset
|
636 augroup x |
10086
1de911ef1edf
commit https://github.com/vim/vim/commit/de653f08805dde14424d417502a0480a6ad292f8
Christian Brabandt <cb@256bit.org>
parents:
10084
diff
changeset
|
637 call assert_fails('augroup! x', 'E936:') |
1de911ef1edf
commit https://github.com/vim/vim/commit/de653f08805dde14424d417502a0480a6ad292f8
Christian Brabandt <cb@256bit.org>
parents:
10084
diff
changeset
|
638 au VimEnter * echo |
1de911ef1edf
commit https://github.com/vim/vim/commit/de653f08805dde14424d417502a0480a6ad292f8
Christian Brabandt <cb@256bit.org>
parents:
10084
diff
changeset
|
639 augroup end |
10084
3e410e6e1986
commit https://github.com/vim/vim/commit/b62cc36a600e2e1e5a1d1d484fef89898c847c4c
Christian Brabandt <cb@256bit.org>
parents:
10058
diff
changeset
|
640 augroup! x |
22999
ffb173dbf228
patch 8.2.2046: some test failures don't give a clear error
Bram Moolenaar <Bram@vim.org>
parents:
22742
diff
changeset
|
641 call assert_match("-Deleted-.*VimEnter", execute('au VimEnter')) |
10086
1de911ef1edf
commit https://github.com/vim/vim/commit/de653f08805dde14424d417502a0480a6ad292f8
Christian Brabandt <cb@256bit.org>
parents:
10084
diff
changeset
|
642 au! VimEnter |
10084
3e410e6e1986
commit https://github.com/vim/vim/commit/b62cc36a600e2e1e5a1d1d484fef89898c847c4c
Christian Brabandt <cb@256bit.org>
parents:
10058
diff
changeset
|
643 endfunc |
3e410e6e1986
commit https://github.com/vim/vim/commit/b62cc36a600e2e1e5a1d1d484fef89898c847c4c
Christian Brabandt <cb@256bit.org>
parents:
10058
diff
changeset
|
644 |
10106
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
645 " Tests for autocommands on :close command. |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
646 " This used to be in test13. |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
647 func Test_three_windows() |
10242
a369d97995ff
commit https://github.com/vim/vim/commit/b3435b0a3a0967115658d0a8c0224a28969cfa02
Christian Brabandt <cb@256bit.org>
parents:
10151
diff
changeset
|
648 " Clean up buffers, because in some cases this function fails. |
a369d97995ff
commit https://github.com/vim/vim/commit/b3435b0a3a0967115658d0a8c0224a28969cfa02
Christian Brabandt <cb@256bit.org>
parents:
10151
diff
changeset
|
649 call s:cleanup_buffers() |
a369d97995ff
commit https://github.com/vim/vim/commit/b3435b0a3a0967115658d0a8c0224a28969cfa02
Christian Brabandt <cb@256bit.org>
parents:
10151
diff
changeset
|
650 |
10106
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
651 " Write three files and open them, each in a window. |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
652 " Then go to next window, with autocommand that deletes the previous one. |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
653 " Do this twice, writing the file. |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
654 e! Xtestje1 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
655 call setline(1, 'testje1') |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
656 w |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
657 sp Xtestje2 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
658 call setline(1, 'testje2') |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
659 w |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
660 sp Xtestje3 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
661 call setline(1, 'testje3') |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
662 w |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
663 wincmd w |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
664 au WinLeave Xtestje2 bwipe |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
665 wincmd w |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
666 call assert_equal('Xtestje1', expand('%')) |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
667 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
668 au WinLeave Xtestje1 bwipe Xtestje3 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
669 close |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
670 call assert_equal('Xtestje1', expand('%')) |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
671 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
672 " Test deleting the buffer on a Unload event. If this goes wrong there |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
673 " will be the ATTENTION prompt. |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
674 e Xtestje1 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
675 au! |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
676 au! BufUnload Xtestje1 bwipe |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
677 call assert_fails('e Xtestje3', 'E937:') |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
678 call assert_equal('Xtestje3', expand('%')) |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
679 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
680 e Xtestje2 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
681 sp Xtestje1 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
682 call assert_fails('e', 'E937:') |
13720
7d2039b2ecc8
patch 8.0.1732: crash when terminal API call deletes the buffer
Christian Brabandt <cb@256bit.org>
parents:
13559
diff
changeset
|
683 call assert_equal('Xtestje1', expand('%')) |
10106
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
684 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
685 " Test changing buffers in a BufWipeout autocommand. If this goes wrong |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
686 " there are ml_line errors and/or a Crash. |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
687 au! |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
688 only |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
689 e Xanother |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
690 e Xtestje1 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
691 bwipe Xtestje2 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
692 bwipe Xtestje3 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
693 au BufWipeout Xtestje1 buf Xtestje1 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
694 bwipe |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
695 call assert_equal('Xanother', expand('%')) |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
696 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
697 only |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
698 help |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
699 wincmd w |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
700 1quit |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
701 call assert_equal('Xanother', expand('%')) |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
702 |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
703 au! |
11197
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
10575
diff
changeset
|
704 enew |
10106
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
705 call delete('Xtestje1') |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
706 call delete('Xtestje2') |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
707 call delete('Xtestje3') |
58e6dd1d8be3
commit https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
Christian Brabandt <cb@256bit.org>
parents:
10086
diff
changeset
|
708 endfunc |
10575
01a5f64a7a20
patch 8.0.0177: BufEnter autocommand not fired for a directory
Christian Brabandt <cb@256bit.org>
parents:
10242
diff
changeset
|
709 |
01a5f64a7a20
patch 8.0.0177: BufEnter autocommand not fired for a directory
Christian Brabandt <cb@256bit.org>
parents:
10242
diff
changeset
|
710 func Test_BufEnter() |
01a5f64a7a20
patch 8.0.0177: BufEnter autocommand not fired for a directory
Christian Brabandt <cb@256bit.org>
parents:
10242
diff
changeset
|
711 au! BufEnter |
01a5f64a7a20
patch 8.0.0177: BufEnter autocommand not fired for a directory
Christian Brabandt <cb@256bit.org>
parents:
10242
diff
changeset
|
712 au Bufenter * let val = val . '+' |
01a5f64a7a20
patch 8.0.0177: BufEnter autocommand not fired for a directory
Christian Brabandt <cb@256bit.org>
parents:
10242
diff
changeset
|
713 let g:val = '' |
01a5f64a7a20
patch 8.0.0177: BufEnter autocommand not fired for a directory
Christian Brabandt <cb@256bit.org>
parents:
10242
diff
changeset
|
714 split NewFile |
01a5f64a7a20
patch 8.0.0177: BufEnter autocommand not fired for a directory
Christian Brabandt <cb@256bit.org>
parents:
10242
diff
changeset
|
715 call assert_equal('+', g:val) |
01a5f64a7a20
patch 8.0.0177: BufEnter autocommand not fired for a directory
Christian Brabandt <cb@256bit.org>
parents:
10242
diff
changeset
|
716 bwipe! |
01a5f64a7a20
patch 8.0.0177: BufEnter autocommand not fired for a directory
Christian Brabandt <cb@256bit.org>
parents:
10242
diff
changeset
|
717 call assert_equal('++', g:val) |
01a5f64a7a20
patch 8.0.0177: BufEnter autocommand not fired for a directory
Christian Brabandt <cb@256bit.org>
parents:
10242
diff
changeset
|
718 |
01a5f64a7a20
patch 8.0.0177: BufEnter autocommand not fired for a directory
Christian Brabandt <cb@256bit.org>
parents:
10242
diff
changeset
|
719 " Also get BufEnter when editing a directory |
29970
d891115c0aea
patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29950
diff
changeset
|
720 call mkdir('Xbufenterdir') |
d891115c0aea
patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29950
diff
changeset
|
721 split Xbufenterdir |
10575
01a5f64a7a20
patch 8.0.0177: BufEnter autocommand not fired for a directory
Christian Brabandt <cb@256bit.org>
parents:
10242
diff
changeset
|
722 call assert_equal('+++', g:val) |
11223
ac36e139510f
patch 8.0.0498: two autocmd tests are skipped on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
11201
diff
changeset
|
723 |
ac36e139510f
patch 8.0.0498: two autocmd tests are skipped on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
11201
diff
changeset
|
724 " On MS-Windows we can't edit the directory, make sure we wipe the right |
ac36e139510f
patch 8.0.0498: two autocmd tests are skipped on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
11201
diff
changeset
|
725 " buffer. |
29970
d891115c0aea
patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29950
diff
changeset
|
726 bwipe! Xbufenterdir |
d891115c0aea
patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29950
diff
changeset
|
727 call delete('Xbufenterdir', 'd') |
10575
01a5f64a7a20
patch 8.0.0177: BufEnter autocommand not fired for a directory
Christian Brabandt <cb@256bit.org>
parents:
10242
diff
changeset
|
728 au! BufEnter |
29873
adc2dec6d27d
patch 9.0.0275: BufEnter not triggered when using ":edit" in "nofile" buffer
Bram Moolenaar <Bram@vim.org>
parents:
29867
diff
changeset
|
729 |
adc2dec6d27d
patch 9.0.0275: BufEnter not triggered when using ":edit" in "nofile" buffer
Bram Moolenaar <Bram@vim.org>
parents:
29867
diff
changeset
|
730 " Editing a "nofile" buffer doesn't read the file but does trigger BufEnter |
29875
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
731 " for historic reasons. Also test other 'buftype' values. |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
732 for val in ['nofile', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
733 \ 'nowrite', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
734 \ 'acwrite', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
735 \ 'quickfix', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
736 \ 'help', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
737 \ 'terminal', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
738 \ 'prompt', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
739 \ 'popup', |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
740 \ ] |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
741 new somefile |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
742 exe 'set buftype=' .. val |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
743 au BufEnter somefile call setline(1, 'some text') |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
744 edit |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
745 call assert_equal('some text', getline(1)) |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
746 bwipe! |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
747 au! BufEnter |
cb4d95b545f1
patch 9.0.0276: 'buftype' values not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
29873
diff
changeset
|
748 endfor |
10575
01a5f64a7a20
patch 8.0.0177: BufEnter autocommand not fired for a directory
Christian Brabandt <cb@256bit.org>
parents:
10242
diff
changeset
|
749 endfunc |
11199
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
750 |
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
751 " Closing a window might cause an endless loop |
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
752 " E814 for older Vims |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
753 func Test_autocmd_bufwipe_in_SessLoadPost() |
12620
27a2fc398671
patch 8.0.1188: autocmd test fails on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
12616
diff
changeset
|
754 edit Xtest |
11199
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
755 tabnew |
12620
27a2fc398671
patch 8.0.1188: autocmd test fails on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
12616
diff
changeset
|
756 file Xsomething |
11199
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
757 set noswapfile |
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
758 mksession! |
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
759 |
16720
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
760 let content =<< trim [CODE] |
22576
170077e26bde
patch 8.2.1836: autocmd test fails on pacifist systems
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
761 call test_override('ui_delay', 10) |
16720
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
762 set nocp noswapfile |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
763 let v:swapchoice = "e" |
16720
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
764 augroup test_autocmd_sessionload |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
765 autocmd! |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
766 autocmd SessionLoadPost * exe bufnr("Xsomething") . "bw!" |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
767 augroup END |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
768 |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
769 func WriteErrors() |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
770 call writefile([execute("messages")], "Xerrors") |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
771 endfunc |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
772 au VimLeave * call WriteErrors() |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
773 [CODE] |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
774 |
11199
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
775 call writefile(content, 'Xvimrc') |
17698
131f1d8c5860
patch 8.1.1846: inconsistently using GetVimCommand() and v:progpath
Bram Moolenaar <Bram@vim.org>
parents:
17657
diff
changeset
|
776 call system(GetVimCommand('Xvimrc') .. ' --not-a-term --noplugins -S Session.vim -c cq') |
11223
ac36e139510f
patch 8.0.0498: two autocmd tests are skipped on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
11201
diff
changeset
|
777 let errors = join(readfile('Xerrors')) |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21895
diff
changeset
|
778 call assert_match('E814:', errors) |
11199
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
779 |
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
780 set swapfile |
11223
ac36e139510f
patch 8.0.0498: two autocmd tests are skipped on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
11201
diff
changeset
|
781 for file in ['Session.vim', 'Xvimrc', 'Xerrors'] |
11199
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
782 call delete(file) |
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
783 endfor |
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
784 endfunc |
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
785 |
23624
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
786 " Using :blast and :ball for many events caused a crash, because b_nwindows was |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
787 " not incremented correctly. |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
788 func Test_autocmd_blast_badd() |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
789 let content =<< trim [CODE] |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
790 au BufNew,BufAdd,BufWinEnter,BufEnter,BufLeave,BufWinLeave,BufUnload,VimEnter foo* blast |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
791 edit foo1 |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
792 au BufNew,BufAdd,BufWinEnter,BufEnter,BufLeave,BufWinLeave,BufUnload,VimEnter foo* ball |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
793 edit foo2 |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
794 call writefile(['OK'], 'Xerrors') |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
795 qall |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
796 [CODE] |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
797 |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
798 call writefile(content, 'XblastBall') |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
799 call system(GetVimCommand() .. ' --clean -S XblastBall') |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
800 call assert_match('OK', readfile('Xerrors')->join()) |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
801 |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
802 call delete('XblastBall') |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
803 call delete('Xerrors') |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
804 endfunc |
f9d02c83f306
patch 8.2.2354: crash with a weird combination of autocommands
Bram Moolenaar <Bram@vim.org>
parents:
23278
diff
changeset
|
805 |
11199
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
806 " SEGV occurs in older versions. |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
807 func Test_autocmd_bufwipe_in_SessLoadPost2() |
11199
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
808 tabnew |
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
809 set noswapfile |
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
810 mksession! |
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
811 |
16720
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
812 let content =<< trim [CODE] |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
813 set nocp noswapfile |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
814 function! DeleteInactiveBufs() |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
815 tabfirst |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
816 let tabblist = [] |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
817 for i in range(1, tabpagenr(''$'')) |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
818 call extend(tabblist, tabpagebuflist(i)) |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
819 endfor |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
820 for b in range(1, bufnr(''$'')) |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
821 if bufexists(b) && buflisted(b) && (index(tabblist, b) == -1 || bufname(b) =~# ''^$'') |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
822 exec ''bwipeout '' . b |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
823 endif |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
824 endfor |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
825 echomsg "SessionLoadPost DONE" |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
826 endfunction |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
827 au SessionLoadPost * call DeleteInactiveBufs() |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
828 |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
829 func WriteErrors() |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
830 call writefile([execute("messages")], "Xerrors") |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
831 endfunc |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
832 au VimLeave * call WriteErrors() |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
833 [CODE] |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
834 |
11199
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
835 call writefile(content, 'Xvimrc') |
17698
131f1d8c5860
patch 8.1.1846: inconsistently using GetVimCommand() and v:progpath
Bram Moolenaar <Bram@vim.org>
parents:
17657
diff
changeset
|
836 call system(GetVimCommand('Xvimrc') .. ' --not-a-term --noplugins -S Session.vim -c cq') |
11223
ac36e139510f
patch 8.0.0498: two autocmd tests are skipped on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
11201
diff
changeset
|
837 let errors = join(readfile('Xerrors')) |
ac36e139510f
patch 8.0.0498: two autocmd tests are skipped on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
11201
diff
changeset
|
838 " This probably only ever matches on unix. |
ac36e139510f
patch 8.0.0498: two autocmd tests are skipped on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
11201
diff
changeset
|
839 call assert_notmatch('Caught deadly signal SEGV', errors) |
ac36e139510f
patch 8.0.0498: two autocmd tests are skipped on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
11201
diff
changeset
|
840 call assert_match('SessionLoadPost DONE', errors) |
11199
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
841 |
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
842 set swapfile |
11223
ac36e139510f
patch 8.0.0498: two autocmd tests are skipped on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
11201
diff
changeset
|
843 for file in ['Session.vim', 'Xvimrc', 'Xerrors'] |
11199
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
844 call delete(file) |
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
845 endfor |
e08ead1d269f
patch 8.0.0486: crash and endless loop when closing windows in autocmd
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
846 endfunc |
11641
dbce7e03bf55
patch 8.0.0703: illegal memory access with empty :doau command
Christian Brabandt <cb@256bit.org>
parents:
11223
diff
changeset
|
847 |
dbce7e03bf55
patch 8.0.0703: illegal memory access with empty :doau command
Christian Brabandt <cb@256bit.org>
parents:
11223
diff
changeset
|
848 func Test_empty_doau() |
dbce7e03bf55
patch 8.0.0703: illegal memory access with empty :doau command
Christian Brabandt <cb@256bit.org>
parents:
11223
diff
changeset
|
849 doau \| |
dbce7e03bf55
patch 8.0.0703: illegal memory access with empty :doau command
Christian Brabandt <cb@256bit.org>
parents:
11223
diff
changeset
|
850 endfunc |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
851 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
852 func s:AutoCommandOptionSet(match) |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
853 let template = "Option: <%s>, OldVal: <%s>, OldValLocal: <%s>, OldValGlobal: <%s>, NewVal: <%s>, Scope: <%s>, Command: <%s>\n" |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
854 let item = remove(g:options, 0) |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
855 let expected = printf(template, item[0], item[1], item[2], item[3], item[4], item[5], item[6]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
856 let actual = printf(template, a:match, v:option_old, v:option_oldlocal, v:option_oldglobal, v:option_new, v:option_type, v:option_command) |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
857 let g:opt = [expected, actual] |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
858 "call assert_equal(expected, actual) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
859 endfunc |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
860 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
861 func Test_OptionSet() |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21638
diff
changeset
|
862 CheckOption autochdir |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
863 |
12616
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
864 badd test_autocmd.vim |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
865 |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
866 call test_override('starting', 1) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
867 set nocp |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
868 au OptionSet * :call s:AutoCommandOptionSet(expand("<amatch>")) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
869 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
870 " 1: Setting number option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
871 let g:options = [['number', 0, 0, 0, 1, 'global', 'set']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
872 set nu |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
873 call assert_equal([], g:options) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
874 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
875 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
876 " 2: Setting local number option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
877 let g:options = [['number', 1, 1, '', 0, 'local', 'setlocal']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
878 setlocal nonu |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
879 call assert_equal([], g:options) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
880 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
881 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
882 " 3: Setting global number option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
883 let g:options = [['number', 1, '', 1, 0, 'global', 'setglobal']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
884 setglobal nonu |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
885 call assert_equal([], g:options) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
886 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
887 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
888 " 4: Setting local autoindent option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
889 let g:options = [['autoindent', 0, 0, '', 1, 'local', 'setlocal']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
890 setlocal ai |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
891 call assert_equal([], g:options) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
892 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
893 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
894 " 5: Setting global autoindent option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
895 let g:options = [['autoindent', 0, '', 0, 1, 'global', 'setglobal']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
896 setglobal ai |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
897 call assert_equal([], g:options) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
898 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
899 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
900 " 6: Setting global autoindent option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
901 let g:options = [['autoindent', 1, 1, 1, 0, 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
902 set ai! |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
903 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
904 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
905 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
906 " 6a: Setting global autoindent option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
907 let g:options = [['autoindent', 1, 1, 0, 0, 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
908 noa setlocal ai |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
909 noa setglobal noai |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
910 set ai! |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
911 call assert_equal([], g:options) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
912 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
913 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
914 " Should not print anything, use :noa |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
915 " 7: don't trigger OptionSet" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
916 let g:options = [['invalid', 'invalid', 'invalid', 'invalid', 'invalid', 'invalid', 'invalid']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
917 noa set nonu |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
918 call assert_equal([['invalid', 'invalid', 'invalid', 'invalid', 'invalid', 'invalid', 'invalid']], g:options) |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
919 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
920 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
921 " 8: Setting several global list and number option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
922 let g:options = [['list', 0, 0, 0, 1, 'global', 'set'], ['number', 0, 0, 0, 1, 'global', 'set']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
923 set list nu |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
924 call assert_equal([], g:options) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
925 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
926 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
927 " 9: don't trigger OptionSet" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
928 let g:options = [['invalid', 'invalid', 'invalid', 'invalid', 'invalid', 'invalid', 'invalid'], ['invalid', 'invalid', 'invalid', 'invalid', 'invalid', 'invalid', 'invalid']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
929 noa set nolist nonu |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
930 call assert_equal([['invalid', 'invalid', 'invalid', 'invalid', 'invalid', 'invalid', 'invalid'], ['invalid', 'invalid', 'invalid', 'invalid', 'invalid', 'invalid', 'invalid']], g:options) |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
931 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
932 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
933 " 10: Setting global acd" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
934 let g:options = [['autochdir', 0, 0, '', 1, 'local', 'setlocal']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
935 setlocal acd |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
936 call assert_equal([], g:options) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
937 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
938 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
939 " 11: Setting global autoread (also sets local value)" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
940 let g:options = [['autoread', 0, 0, 0, 1, 'global', 'set']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
941 set ar |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
942 call assert_equal([], g:options) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
943 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
944 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
945 " 12: Setting local autoread" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
946 let g:options = [['autoread', 1, 1, '', 1, 'local', 'setlocal']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
947 setlocal ar |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
948 call assert_equal([], g:options) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
949 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
950 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
951 " 13: Setting global autoread" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
952 let g:options = [['autoread', 1, '', 1, 0, 'global', 'setglobal']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
953 setglobal invar |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
954 call assert_equal([], g:options) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
955 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
956 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
957 " 14: Setting option backspace through :let" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
958 let g:options = [['backspace', '', '', '', 'eol,indent,start', 'global', 'set']] |
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
959 let &bs = "eol,indent,start" |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
960 call assert_equal([], g:options) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
961 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
962 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
963 " 15: Setting option backspace through setbufvar()" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
964 let g:options = [['backup', 0, 0, '', 1, 'local', 'setlocal']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
965 " try twice, first time, shouldn't trigger because option name is invalid, |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
966 " second time, it should trigger |
12616
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
967 let bnum = bufnr('%') |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21895
diff
changeset
|
968 call assert_fails("call setbufvar(bnum, '&l:bk', 1)", 'E355:') |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
969 " should trigger, use correct option name |
12616
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
970 call setbufvar(bnum, '&backup', 1) |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
971 call assert_equal([], g:options) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
972 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
973 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
974 " 16: Setting number option using setwinvar" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
975 let g:options = [['number', 0, 0, '', 1, 'local', 'setlocal']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
976 call setwinvar(0, '&number', 1) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
977 call assert_equal([], g:options) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
978 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
979 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
980 " 17: Setting key option, shouldn't trigger" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
981 let g:options = [['key', 'invalid', 'invalid1', 'invalid2', 'invalid3', 'invalid4', 'invalid5']] |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
982 setlocal key=blah |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
983 setlocal key= |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
984 call assert_equal([['key', 'invalid', 'invalid1', 'invalid2', 'invalid3', 'invalid4', 'invalid5']], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
985 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
986 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
987 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
988 " 18a: Setting string global option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
989 let oldval = &backupext |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
990 let g:options = [['backupext', oldval, oldval, oldval, 'foo', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
991 set backupext=foo |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
992 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
993 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
994 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
995 " 18b: Resetting string global option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
996 let g:options = [['backupext', 'foo', 'foo', 'foo', oldval, 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
997 set backupext& |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
998 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
999 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1000 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1001 " 18c: Setting global string global option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1002 let g:options = [['backupext', oldval, '', oldval, 'bar', 'global', 'setglobal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1003 setglobal backupext=bar |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1004 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1005 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1006 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1007 " 18d: Setting local string global option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1008 " As this is a global option this sets the global value even though |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1009 " :setlocal is used! |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1010 noa set backupext& " Reset global and local value (without triggering autocmd) |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1011 let g:options = [['backupext', oldval, oldval, '', 'baz', 'local', 'setlocal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1012 setlocal backupext=baz |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1013 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1014 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1015 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1016 " 18e: Setting again string global option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1017 noa setglobal backupext=ext_global " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1018 noa setlocal backupext=ext_local " Sets the global(!) value! |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1019 let g:options = [['backupext', 'ext_local', 'ext_local', 'ext_local', 'fuu', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1020 set backupext=fuu |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1021 call assert_equal([], g:options) |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1022 call assert_equal(g:opt[0], g:opt[1]) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1023 |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1024 |
26030
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1025 " 19a: Setting string global-local (to buffer) option" |
12188
d2e367d9de1f
patch 8.0.0974: resetting a string option does not trigger OptionSet
Christian Brabandt <cb@256bit.org>
parents:
11961
diff
changeset
|
1026 let oldval = &tags |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1027 let g:options = [['tags', oldval, oldval, oldval, 'tagpath', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1028 set tags=tagpath |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1029 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1030 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1031 |
26030
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1032 " 19b: Resetting string global-local (to buffer) option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1033 let g:options = [['tags', 'tagpath', 'tagpath', 'tagpath', oldval, 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1034 set tags& |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1035 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1036 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1037 |
26030
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1038 " 19c: Setting global string global-local (to buffer) option " |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1039 let g:options = [['tags', oldval, '', oldval, 'tagpath1', 'global', 'setglobal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1040 setglobal tags=tagpath1 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1041 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1042 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1043 |
26030
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1044 " 19d: Setting local string global-local (to buffer) option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1045 let g:options = [['tags', 'tagpath1', 'tagpath1', '', 'tagpath2', 'local', 'setlocal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1046 setlocal tags=tagpath2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1047 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1048 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1049 |
26030
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1050 " 19e: Setting again string global-local (to buffer) option" |
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1051 " Note: v:option_old is the old global value for global-local string options |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1052 " but the old local value for all other kinds of options. |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1053 noa setglobal tags=tag_global " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1054 noa setlocal tags=tag_local |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1055 let g:options = [['tags', 'tag_global', 'tag_local', 'tag_global', 'tagpath', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1056 set tags=tagpath |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1057 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1058 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1059 |
26030
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1060 " 19f: Setting string global-local (to buffer) option to an empty string" |
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1061 " Note: v:option_old is the old global value for global-local string options |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1062 " but the old local value for all other kinds of options. |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1063 noa set tags=tag_global " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1064 noa setlocal tags= " empty string |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1065 let g:options = [['tags', 'tag_global', '', 'tag_global', 'tagpath', 'global', 'set']] |
12188
d2e367d9de1f
patch 8.0.0974: resetting a string option does not trigger OptionSet
Christian Brabandt <cb@256bit.org>
parents:
11961
diff
changeset
|
1066 set tags=tagpath |
d2e367d9de1f
patch 8.0.0974: resetting a string option does not trigger OptionSet
Christian Brabandt <cb@256bit.org>
parents:
11961
diff
changeset
|
1067 call assert_equal([], g:options) |
d2e367d9de1f
patch 8.0.0974: resetting a string option does not trigger OptionSet
Christian Brabandt <cb@256bit.org>
parents:
11961
diff
changeset
|
1068 call assert_equal(g:opt[0], g:opt[1]) |
d2e367d9de1f
patch 8.0.0974: resetting a string option does not trigger OptionSet
Christian Brabandt <cb@256bit.org>
parents:
11961
diff
changeset
|
1069 |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1070 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1071 " 20a: Setting string local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1072 let oldval = &spelllang |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1073 let g:options = [['spelllang', oldval, oldval, oldval, 'elvish,klingon', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1074 set spelllang=elvish,klingon |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1075 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1076 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1077 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1078 " 20b: Resetting string local (to buffer) option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1079 let g:options = [['spelllang', 'elvish,klingon', 'elvish,klingon', 'elvish,klingon', oldval, 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1080 set spelllang& |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1081 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1082 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1083 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1084 " 20c: Setting global string local (to buffer) option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1085 let g:options = [['spelllang', oldval, '', oldval, 'elvish', 'global', 'setglobal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1086 setglobal spelllang=elvish |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1087 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1088 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1089 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1090 " 20d: Setting local string local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1091 noa set spelllang& " Reset global and local value (without triggering autocmd) |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1092 let g:options = [['spelllang', oldval, oldval, '', 'klingon', 'local', 'setlocal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1093 setlocal spelllang=klingon |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1094 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1095 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1096 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1097 " 20e: Setting again string local (to buffer) option" |
26030
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1098 " Note: v:option_old is the old global value for global-local string options |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1099 " but the old local value for all other kinds of options. |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1100 noa setglobal spelllang=spellglobal " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1101 noa setlocal spelllang=spelllocal |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1102 let g:options = [['spelllang', 'spelllocal', 'spelllocal', 'spellglobal', 'foo', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1103 set spelllang=foo |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1104 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1105 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1106 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1107 |
26030
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1108 " 21a: Setting string global-local (to window) option" |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1109 let oldval = &statusline |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1110 let g:options = [['statusline', oldval, oldval, oldval, 'foo', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1111 set statusline=foo |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1112 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1113 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1114 |
26030
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1115 " 21b: Resetting string global-local (to window) option" |
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1116 " Note: v:option_old is the old global value for global-local string options |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1117 " but the old local value for all other kinds of options. |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1118 let g:options = [['statusline', 'foo', 'foo', 'foo', oldval, 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1119 set statusline& |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1120 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1121 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1122 |
26030
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1123 " 21c: Setting global string global-local (to window) option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1124 let g:options = [['statusline', oldval, '', oldval, 'bar', 'global', 'setglobal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1125 setglobal statusline=bar |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1126 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1127 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1128 |
26030
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1129 " 21d: Setting local string global-local (to window) option" |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1130 noa set statusline& " Reset global and local value (without triggering autocmd) |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1131 let g:options = [['statusline', oldval, oldval, '', 'baz', 'local', 'setlocal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1132 setlocal statusline=baz |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1133 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1134 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1135 |
26030
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1136 " 21e: Setting again string global-local (to window) option" |
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1137 " Note: v:option_old is the old global value for global-local string options |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1138 " but the old local value for all other kinds of options. |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1139 noa setglobal statusline=bar " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1140 noa setlocal statusline=baz |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1141 let g:options = [['statusline', 'bar', 'baz', 'bar', 'foo', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1142 set statusline=foo |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1143 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1144 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1145 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1146 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1147 " 22a: Setting string local (to window) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1148 let oldval = &foldignore |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1149 let g:options = [['foldignore', oldval, oldval, oldval, 'fo', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1150 set foldignore=fo |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1151 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1152 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1153 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1154 " 22b: Resetting string local (to window) option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1155 let g:options = [['foldignore', 'fo', 'fo', 'fo', oldval, 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1156 set foldignore& |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1157 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1158 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1159 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1160 " 22c: Setting global string local (to window) option" |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1161 let g:options = [['foldignore', oldval, '', oldval, 'bar', 'global', 'setglobal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1162 setglobal foldignore=bar |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1163 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1164 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1165 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1166 " 22d: Setting local string local (to window) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1167 noa set foldignore& " Reset global and local value (without triggering autocmd) |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1168 let g:options = [['foldignore', oldval, oldval, '', 'baz', 'local', 'setlocal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1169 setlocal foldignore=baz |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1170 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1171 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1172 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1173 " 22e: Setting again string local (to window) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1174 noa setglobal foldignore=glob " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1175 noa setlocal foldignore=loc |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1176 let g:options = [['foldignore', 'loc', 'loc', 'glob', 'fo', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1177 set foldignore=fo |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1178 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1179 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1180 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1181 |
26030
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1182 " 23a: Setting global number global option" |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1183 noa setglobal cmdheight=8 " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1184 noa setlocal cmdheight=1 " Sets the global(!) value! |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1185 let g:options = [['cmdheight', '1', '', '1', '2', 'global', 'setglobal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1186 setglobal cmdheight=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1187 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1188 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1189 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1190 " 23b: Setting local number global option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1191 noa setglobal cmdheight=8 " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1192 noa setlocal cmdheight=1 " Sets the global(!) value! |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1193 let g:options = [['cmdheight', '1', '1', '', '2', 'local', 'setlocal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1194 setlocal cmdheight=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1195 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1196 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1197 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1198 " 23c: Setting again number global option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1199 noa setglobal cmdheight=8 " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1200 noa setlocal cmdheight=1 " Sets the global(!) value! |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1201 let g:options = [['cmdheight', '1', '1', '1', '2', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1202 set cmdheight=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1203 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1204 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1205 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1206 " 23d: Setting again number global option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1207 noa set cmdheight=8 " Reset global and local value (without triggering autocmd) |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1208 let g:options = [['cmdheight', '8', '8', '8', '2', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1209 set cmdheight=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1210 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1211 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1212 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1213 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1214 " 24a: Setting global number global-local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1215 noa setglobal undolevels=8 " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1216 noa setlocal undolevels=1 |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1217 let g:options = [['undolevels', '8', '', '8', '2', 'global', 'setglobal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1218 setglobal undolevels=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1219 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1220 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1221 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1222 " 24b: Setting local number global-local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1223 noa setglobal undolevels=8 " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1224 noa setlocal undolevels=1 |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1225 let g:options = [['undolevels', '1', '1', '', '2', 'local', 'setlocal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1226 setlocal undolevels=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1227 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1228 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1229 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1230 " 24c: Setting again number global-local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1231 noa setglobal undolevels=8 " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1232 noa setlocal undolevels=1 |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1233 let g:options = [['undolevels', '1', '1', '8', '2', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1234 set undolevels=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1235 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1236 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1237 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1238 " 24d: Setting again global number global-local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1239 noa set undolevels=8 " Reset global and local value (without triggering autocmd) |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1240 let g:options = [['undolevels', '8', '8', '8', '2', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1241 set undolevels=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1242 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1243 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1244 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1245 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1246 " 25a: Setting global number local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1247 noa setglobal wrapmargin=8 " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1248 noa setlocal wrapmargin=1 |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1249 let g:options = [['wrapmargin', '8', '', '8', '2', 'global', 'setglobal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1250 setglobal wrapmargin=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1251 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1252 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1253 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1254 " 25b: Setting local number local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1255 noa setglobal wrapmargin=8 " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1256 noa setlocal wrapmargin=1 |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1257 let g:options = [['wrapmargin', '1', '1', '', '2', 'local', 'setlocal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1258 setlocal wrapmargin=2 |
12188
d2e367d9de1f
patch 8.0.0974: resetting a string option does not trigger OptionSet
Christian Brabandt <cb@256bit.org>
parents:
11961
diff
changeset
|
1259 call assert_equal([], g:options) |
d2e367d9de1f
patch 8.0.0974: resetting a string option does not trigger OptionSet
Christian Brabandt <cb@256bit.org>
parents:
11961
diff
changeset
|
1260 call assert_equal(g:opt[0], g:opt[1]) |
d2e367d9de1f
patch 8.0.0974: resetting a string option does not trigger OptionSet
Christian Brabandt <cb@256bit.org>
parents:
11961
diff
changeset
|
1261 |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1262 " 25c: Setting again number local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1263 noa setglobal wrapmargin=8 " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1264 noa setlocal wrapmargin=1 |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1265 let g:options = [['wrapmargin', '1', '1', '8', '2', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1266 set wrapmargin=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1267 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1268 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1269 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1270 " 25d: Setting again global number local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1271 noa set wrapmargin=8 " Reset global and local value (without triggering autocmd) |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1272 let g:options = [['wrapmargin', '8', '8', '8', '2', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1273 set wrapmargin=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1274 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1275 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1276 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1277 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1278 " 26: Setting number global-local (to window) option. |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1279 " Such option does currently not exist. |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1280 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1281 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1282 " 27a: Setting global number local (to window) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1283 noa setglobal foldcolumn=8 " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1284 noa setlocal foldcolumn=1 |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1285 let g:options = [['foldcolumn', '8', '', '8', '2', 'global', 'setglobal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1286 setglobal foldcolumn=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1287 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1288 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1289 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1290 " 27b: Setting local number local (to window) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1291 noa setglobal foldcolumn=8 " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1292 noa setlocal foldcolumn=1 |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1293 let g:options = [['foldcolumn', '1', '1', '', '2', 'local', 'setlocal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1294 setlocal foldcolumn=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1295 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1296 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1297 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1298 " 27c: Setting again number local (to window) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1299 noa setglobal foldcolumn=8 " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1300 noa setlocal foldcolumn=1 |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1301 let g:options = [['foldcolumn', '1', '1', '8', '2', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1302 set foldcolumn=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1303 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1304 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1305 |
26030
a140d0098595
patch 8.2.3549: mistakes in test comments
Bram Moolenaar <Bram@vim.org>
parents:
25969
diff
changeset
|
1306 " 27d: Setting again global number local (to window) option" |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1307 noa set foldcolumn=8 " Reset global and local value (without triggering autocmd) |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1308 let g:options = [['foldcolumn', '8', '8', '8', '2', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1309 set foldcolumn=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1310 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1311 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1312 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1313 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1314 " 28a: Setting global boolean global option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1315 noa setglobal nowrapscan " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1316 noa setlocal wrapscan " Sets the global(!) value! |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1317 let g:options = [['wrapscan', '1', '', '1', '0', 'global', 'setglobal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1318 setglobal nowrapscan |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1319 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1320 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1321 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1322 " 28b: Setting local boolean global option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1323 noa setglobal nowrapscan " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1324 noa setlocal wrapscan " Sets the global(!) value! |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1325 let g:options = [['wrapscan', '1', '1', '', '0', 'local', 'setlocal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1326 setlocal nowrapscan |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1327 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1328 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1329 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1330 " 28c: Setting again boolean global option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1331 noa setglobal nowrapscan " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1332 noa setlocal wrapscan " Sets the global(!) value! |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1333 let g:options = [['wrapscan', '1', '1', '1', '0', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1334 set nowrapscan |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1335 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1336 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1337 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1338 " 28d: Setting again global boolean global option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1339 noa set nowrapscan " Reset global and local value (without triggering autocmd) |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1340 let g:options = [['wrapscan', '0', '0', '0', '1', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1341 set wrapscan |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1342 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1343 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1344 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1345 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1346 " 29a: Setting global boolean global-local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1347 noa setglobal noautoread " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1348 noa setlocal autoread |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1349 let g:options = [['autoread', '0', '', '0', '1', 'global', 'setglobal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1350 setglobal autoread |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1351 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1352 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1353 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1354 " 29b: Setting local boolean global-local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1355 noa setglobal noautoread " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1356 noa setlocal autoread |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1357 let g:options = [['autoread', '1', '1', '', '0', 'local', 'setlocal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1358 setlocal noautoread |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1359 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1360 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1361 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1362 " 29c: Setting again boolean global-local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1363 noa setglobal noautoread " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1364 noa setlocal autoread |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1365 let g:options = [['autoread', '1', '1', '0', '1', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1366 set autoread |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1367 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1368 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1369 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1370 " 29d: Setting again global boolean global-local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1371 noa set noautoread " Reset global and local value (without triggering autocmd) |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1372 let g:options = [['autoread', '0', '0', '0', '1', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1373 set autoread |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1374 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1375 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1376 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1377 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1378 " 30a: Setting global boolean local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1379 noa setglobal nocindent " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1380 noa setlocal cindent |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1381 let g:options = [['cindent', '0', '', '0', '1', 'global', 'setglobal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1382 setglobal cindent |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1383 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1384 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1385 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1386 " 30b: Setting local boolean local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1387 noa setglobal nocindent " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1388 noa setlocal cindent |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1389 let g:options = [['cindent', '1', '1', '', '0', 'local', 'setlocal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1390 setlocal nocindent |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1391 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1392 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1393 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1394 " 30c: Setting again boolean local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1395 noa setglobal nocindent " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1396 noa setlocal cindent |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1397 let g:options = [['cindent', '1', '1', '0', '1', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1398 set cindent |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1399 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1400 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1401 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1402 " 30d: Setting again global boolean local (to buffer) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1403 noa set nocindent " Reset global and local value (without triggering autocmd) |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1404 let g:options = [['cindent', '0', '0', '0', '1', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1405 set cindent |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1406 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1407 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1408 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1409 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1410 " 31: Setting boolean global-local (to window) option |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1411 " Currently no such option exists. |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1412 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1413 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1414 " 32a: Setting global boolean local (to window) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1415 noa setglobal nocursorcolumn " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1416 noa setlocal cursorcolumn |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1417 let g:options = [['cursorcolumn', '0', '', '0', '1', 'global', 'setglobal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1418 setglobal cursorcolumn |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1419 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1420 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1421 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1422 " 32b: Setting local boolean local (to window) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1423 noa setglobal nocursorcolumn " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1424 noa setlocal cursorcolumn |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1425 let g:options = [['cursorcolumn', '1', '1', '', '0', 'local', 'setlocal']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1426 setlocal nocursorcolumn |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1427 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1428 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1429 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1430 " 32c: Setting again boolean local (to window) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1431 noa setglobal nocursorcolumn " Reset global and local value (without triggering autocmd) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1432 noa setlocal cursorcolumn |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1433 let g:options = [['cursorcolumn', '1', '1', '0', '1', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1434 set cursorcolumn |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1435 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1436 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1437 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1438 " 32d: Setting again global boolean local (to window) option" |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1439 noa set nocursorcolumn " Reset global and local value (without triggering autocmd) |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1440 let g:options = [['cursorcolumn', '0', '0', '0', '1', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1441 set cursorcolumn |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1442 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1443 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1444 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1445 |
17918
9606c0adc148
patch 8.1.1955: tests contain typos
Bram Moolenaar <Bram@vim.org>
parents:
17698
diff
changeset
|
1446 " 33: Test autocommands when an option value is converted internally. |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1447 noa set backspace=1 " Reset global and local value (without triggering autocmd) |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1448 let g:options = [['backspace', 'indent,eol', 'indent,eol', 'indent,eol', '2', 'global', 'set']] |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1449 set backspace=2 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1450 call assert_equal([], g:options) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1451 call assert_equal(g:opt[0], g:opt[1]) |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1452 |
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1453 |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1454 " Cleanup |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1455 au! OptionSet |
17093
5cda6165a5c1
patch 8.1.1546: in some tests 'tags' is set but not restored
Bram Moolenaar <Bram@vim.org>
parents:
17085
diff
changeset
|
1456 " set tags& |
17085
620e9011b685
patch 8.1.1542: an OptionSet autocommand does not get enough info
Bram Moolenaar <Bram@vim.org>
parents:
16720
diff
changeset
|
1457 for opt in ['nu', 'ai', 'acd', 'ar', 'bs', 'backup', 'cul', 'cp', 'backupext', 'tags', 'spelllang', 'statusline', 'foldignore', 'cmdheight', 'undolevels', 'wrapmargin', 'foldcolumn', 'wrapscan', 'autoread', 'cindent', 'cursorcolumn'] |
14463
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
1458 exe printf(":set %s&vim", opt) |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1459 endfor |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1460 call test_override('starting', 0) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1461 delfunc! AutoCommandOptionSet |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1462 endfunc |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1463 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1464 func Test_OptionSet_diffmode() |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1465 call test_override('starting', 1) |
15659
8513d9864f7e
patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Bram Moolenaar <Bram@vim.org>
parents:
15615
diff
changeset
|
1466 " 18: Changing an option when entering diff mode |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1467 new |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
1468 au OptionSet diff :let &l:cul = v:option_new |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1469 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1470 call setline(1, ['buffer 1', 'line2', 'line3', 'line4']) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1471 call assert_equal(0, &l:cul) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1472 diffthis |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1473 call assert_equal(1, &l:cul) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1474 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1475 vnew |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1476 call setline(1, ['buffer 2', 'line 2', 'line 3', 'line4']) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1477 call assert_equal(0, &l:cul) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1478 diffthis |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1479 call assert_equal(1, &l:cul) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1480 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1481 diffoff |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1482 call assert_equal(0, &l:cul) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1483 call assert_equal(1, getwinvar(2, '&l:cul')) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1484 bw! |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1485 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1486 call assert_equal(1, &l:cul) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1487 diffoff! |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1488 call assert_equal(0, &l:cul) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1489 call assert_equal(0, getwinvar(1, '&l:cul')) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1490 bw! |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1491 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1492 " Cleanup |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1493 au! OptionSet |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1494 call test_override('starting', 0) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1495 endfunc |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1496 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1497 func Test_OptionSet_diffmode_close() |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1498 call test_override('starting', 1) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1499 " 19: Try to close the current window when entering diff mode |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1500 " should not segfault |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1501 new |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1502 au OptionSet diff close |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1503 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1504 call setline(1, ['buffer 1', 'line2', 'line3', 'line4']) |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21895
diff
changeset
|
1505 call assert_fails(':diffthis', 'E788:') |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1506 call assert_equal(1, &diff) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1507 vnew |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1508 call setline(1, ['buffer 2', 'line 2', 'line 3', 'line4']) |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21895
diff
changeset
|
1509 call assert_fails(':diffthis', 'E788:') |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1510 call assert_equal(1, &diff) |
18592
75c466dcf61c
patch 8.1.2290: autocommand test fails
Bram Moolenaar <Bram@vim.org>
parents:
18568
diff
changeset
|
1511 set diffopt-=closeoff |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1512 bw! |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21895
diff
changeset
|
1513 call assert_fails(':diffoff!', 'E788:') |
11707
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1514 bw! |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1515 |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1516 " Cleanup |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1517 au! OptionSet |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1518 call test_override('starting', 0) |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1519 "delfunc! AutoCommandOptionSet |
1395a3b6978d
patch 8.0.0736: OptionSet not triggered when entering diff mode
Christian Brabandt <cb@256bit.org>
parents:
11641
diff
changeset
|
1520 endfunc |
11961
0240e7e3d736
patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11707
diff
changeset
|
1521 |
0240e7e3d736
patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11707
diff
changeset
|
1522 " Test for Bufleave autocommand that deletes the buffer we are about to edit. |
0240e7e3d736
patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11707
diff
changeset
|
1523 func Test_BufleaveWithDelete() |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
1524 new | edit XbufLeave1 |
11961
0240e7e3d736
patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11707
diff
changeset
|
1525 |
0240e7e3d736
patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11707
diff
changeset
|
1526 augroup test_bufleavewithdelete |
0240e7e3d736
patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11707
diff
changeset
|
1527 autocmd! |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
1528 autocmd BufLeave XbufLeave1 bwipe XbufLeave2 |
11961
0240e7e3d736
patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11707
diff
changeset
|
1529 augroup END |
0240e7e3d736
patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11707
diff
changeset
|
1530 |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
1531 call assert_fails('edit XbufLeave2', 'E143:') |
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
1532 call assert_equal('XbufLeave1', bufname('%')) |
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
1533 |
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
1534 autocmd! test_bufleavewithdelete BufLeave XbufLeave1 |
11961
0240e7e3d736
patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11707
diff
changeset
|
1535 augroup! test_bufleavewithdelete |
0240e7e3d736
patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11707
diff
changeset
|
1536 |
0240e7e3d736
patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11707
diff
changeset
|
1537 new |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
1538 bwipe! XbufLeave1 |
11961
0240e7e3d736
patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11707
diff
changeset
|
1539 endfunc |
12616
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1540 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1541 " Test for autocommand that changes the buffer list, when doing ":ball". |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1542 func Test_Acmd_BufAll() |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1543 enew! |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1544 %bwipe! |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1545 call writefile(['Test file Xxx1'], 'Xxx1') |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1546 call writefile(['Test file Xxx2'], 'Xxx2') |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1547 call writefile(['Test file Xxx3'], 'Xxx3') |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1548 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1549 " Add three files to the buffer list |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1550 split Xxx1 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1551 close |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1552 split Xxx2 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1553 close |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1554 split Xxx3 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1555 close |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1556 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1557 " Wipe the buffer when the buffer is opened |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1558 au BufReadPost Xxx2 bwipe |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1559 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1560 call append(0, 'Test file Xxx4') |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1561 ball |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1562 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1563 call assert_equal(2, winnr('$')) |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1564 call assert_equal('Xxx1', bufname(winbufnr(winnr('$')))) |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1565 wincmd t |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1566 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1567 au! BufReadPost |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1568 %bwipe! |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1569 call delete('Xxx1') |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1570 call delete('Xxx2') |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1571 call delete('Xxx3') |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1572 enew! | only |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1573 endfunc |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1574 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1575 " Test for autocommand that changes current buffer on BufEnter event. |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1576 " Check if modelines are interpreted for the correct buffer. |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1577 func Test_Acmd_BufEnter() |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1578 %bwipe! |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1579 call writefile(['start of test file Xxx1', |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1580 \ "\<Tab>this is a test", |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1581 \ 'end of test file Xxx1'], 'Xxx1') |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1582 call writefile(['start of test file Xxx2', |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1583 \ 'vim: set noai :', |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1584 \ "\<Tab>this is a test", |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1585 \ 'end of test file Xxx2'], 'Xxx2') |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1586 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1587 au BufEnter Xxx2 brew |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1588 set ai modeline modelines=3 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1589 edit Xxx1 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1590 " edit Xxx2, autocmd will do :brew |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1591 edit Xxx2 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1592 exe "normal G?this is a\<CR>" |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1593 " Append text with autoindent to this file |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1594 normal othis should be auto-indented |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1595 call assert_equal("\<Tab>this should be auto-indented", getline('.')) |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1596 call assert_equal(3, line('.')) |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1597 " Remove autocmd and edit Xxx2 again |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1598 au! BufEnter Xxx2 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1599 buf! Xxx2 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1600 exe "normal G?this is a\<CR>" |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1601 " append text without autoindent to Xxx |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1602 normal othis should be in column 1 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1603 call assert_equal("this should be in column 1", getline('.')) |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1604 call assert_equal(4, line('.')) |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1605 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1606 %bwipe! |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1607 call delete('Xxx1') |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1608 call delete('Xxx2') |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1609 set ai&vim modeline&vim modelines&vim |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1610 endfunc |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1611 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1612 " Test for issue #57 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1613 " do not move cursor on <c-o> when autoindent is set |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1614 func Test_ai_CTRL_O() |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1615 enew! |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1616 set ai |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1617 let save_fo = &fo |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1618 set fo+=r |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1619 exe "normal o# abcdef\<Esc>2hi\<CR>\<C-O>d0\<Esc>" |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1620 exe "normal o# abcdef\<Esc>2hi\<C-O>d0\<Esc>" |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1621 call assert_equal(['# abc', 'def', 'def'], getline(2, 4)) |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1622 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1623 set ai&vim |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1624 let &fo = save_fo |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1625 enew! |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1626 endfunc |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1627 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1628 " Test for autocommand that deletes the current buffer on BufLeave event. |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1629 " Also test deleting the last buffer, should give a new, empty buffer. |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1630 func Test_BufLeave_Wipe() |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1631 %bwipe! |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1632 let content = ['start of test file Xxx', |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1633 \ 'this is a test', |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1634 \ 'end of test file Xxx'] |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1635 call writefile(content, 'Xxx1') |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1636 call writefile(content, 'Xxx2') |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1637 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1638 au BufLeave Xxx2 bwipe |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1639 edit Xxx1 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1640 split Xxx2 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1641 " delete buffer Xxx2, we should be back to Xxx1 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1642 bwipe |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1643 call assert_equal('Xxx1', bufname('%')) |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1644 call assert_equal(1, winnr('$')) |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1645 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1646 " Create an alternate buffer |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1647 %write! test.out |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1648 call assert_equal('test.out', bufname('#')) |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1649 " delete alternate buffer |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1650 bwipe test.out |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1651 call assert_equal('Xxx1', bufname('%')) |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1652 call assert_equal('', bufname('#')) |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1653 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1654 au BufLeave Xxx1 bwipe |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1655 " delete current buffer, get an empty one |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1656 bwipe! |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1657 call assert_equal(1, line('$')) |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1658 call assert_equal('', bufname('%')) |
12630
560adb3eed8b
patch 8.0.1193: crash when wiping out a buffer after using getbufinfo()
Christian Brabandt <cb@256bit.org>
parents:
12620
diff
changeset
|
1659 let g:bufinfo = getbufinfo() |
560adb3eed8b
patch 8.0.1193: crash when wiping out a buffer after using getbufinfo()
Christian Brabandt <cb@256bit.org>
parents:
12620
diff
changeset
|
1660 call assert_equal(1, len(g:bufinfo)) |
12616
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1661 |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1662 call delete('Xxx1') |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1663 call delete('Xxx2') |
12662
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1664 call delete('test.out') |
12616
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1665 %bwipe |
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1666 au! BufLeave |
12630
560adb3eed8b
patch 8.0.1193: crash when wiping out a buffer after using getbufinfo()
Christian Brabandt <cb@256bit.org>
parents:
12620
diff
changeset
|
1667 |
560adb3eed8b
patch 8.0.1193: crash when wiping out a buffer after using getbufinfo()
Christian Brabandt <cb@256bit.org>
parents:
12620
diff
changeset
|
1668 " check that bufinfo doesn't contain a pointer to freed memory |
560adb3eed8b
patch 8.0.1193: crash when wiping out a buffer after using getbufinfo()
Christian Brabandt <cb@256bit.org>
parents:
12620
diff
changeset
|
1669 call test_garbagecollect_now() |
12616
4767939d10cc
patch 8.0.1186: still quite a few old style tests
Christian Brabandt <cb@256bit.org>
parents:
12188
diff
changeset
|
1670 endfunc |
12652
272ecbaf1b4f
patch 8.0.1204: a QuitPre autocommand may get the wrong file name
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1671 |
272ecbaf1b4f
patch 8.0.1204: a QuitPre autocommand may get the wrong file name
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1672 func Test_QuitPre() |
272ecbaf1b4f
patch 8.0.1204: a QuitPre autocommand may get the wrong file name
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1673 edit Xfoo |
272ecbaf1b4f
patch 8.0.1204: a QuitPre autocommand may get the wrong file name
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1674 let winid = win_getid(winnr()) |
272ecbaf1b4f
patch 8.0.1204: a QuitPre autocommand may get the wrong file name
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1675 split Xbar |
272ecbaf1b4f
patch 8.0.1204: a QuitPre autocommand may get the wrong file name
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1676 au! QuitPre * let g:afile = expand('<afile>') |
272ecbaf1b4f
patch 8.0.1204: a QuitPre autocommand may get the wrong file name
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1677 " Close the other window, <afile> should be correct. |
272ecbaf1b4f
patch 8.0.1204: a QuitPre autocommand may get the wrong file name
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1678 exe win_id2win(winid) . 'q' |
272ecbaf1b4f
patch 8.0.1204: a QuitPre autocommand may get the wrong file name
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1679 call assert_equal('Xfoo', g:afile) |
28558
2edad5db074c
patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Bram Moolenaar <Bram@vim.org>
parents:
28556
diff
changeset
|
1680 |
12652
272ecbaf1b4f
patch 8.0.1204: a QuitPre autocommand may get the wrong file name
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1681 unlet g:afile |
272ecbaf1b4f
patch 8.0.1204: a QuitPre autocommand may get the wrong file name
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1682 bwipe Xfoo |
272ecbaf1b4f
patch 8.0.1204: a QuitPre autocommand may get the wrong file name
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1683 bwipe Xbar |
272ecbaf1b4f
patch 8.0.1204: a QuitPre autocommand may get the wrong file name
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
1684 endfunc |
12656
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1685 |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1686 func Test_Cmdline() |
13142
59a16624400a
patch 8.0.1445: cannot act on edits in the command line
Christian Brabandt <cb@256bit.org>
parents:
13090
diff
changeset
|
1687 au! CmdlineChanged : let g:text = getcmdline() |
59a16624400a
patch 8.0.1445: cannot act on edits in the command line
Christian Brabandt <cb@256bit.org>
parents:
13090
diff
changeset
|
1688 let g:text = 0 |
59a16624400a
patch 8.0.1445: cannot act on edits in the command line
Christian Brabandt <cb@256bit.org>
parents:
13090
diff
changeset
|
1689 call feedkeys(":echom 'hello'\<CR>", 'xt') |
59a16624400a
patch 8.0.1445: cannot act on edits in the command line
Christian Brabandt <cb@256bit.org>
parents:
13090
diff
changeset
|
1690 call assert_equal("echom 'hello'", g:text) |
59a16624400a
patch 8.0.1445: cannot act on edits in the command line
Christian Brabandt <cb@256bit.org>
parents:
13090
diff
changeset
|
1691 au! CmdlineChanged |
59a16624400a
patch 8.0.1445: cannot act on edits in the command line
Christian Brabandt <cb@256bit.org>
parents:
13090
diff
changeset
|
1692 |
59a16624400a
patch 8.0.1445: cannot act on edits in the command line
Christian Brabandt <cb@256bit.org>
parents:
13090
diff
changeset
|
1693 au! CmdlineChanged : let g:entered = expand('<afile>') |
59a16624400a
patch 8.0.1445: cannot act on edits in the command line
Christian Brabandt <cb@256bit.org>
parents:
13090
diff
changeset
|
1694 let g:entered = 0 |
59a16624400a
patch 8.0.1445: cannot act on edits in the command line
Christian Brabandt <cb@256bit.org>
parents:
13090
diff
changeset
|
1695 call feedkeys(":echom 'hello'\<CR>", 'xt') |
59a16624400a
patch 8.0.1445: cannot act on edits in the command line
Christian Brabandt <cb@256bit.org>
parents:
13090
diff
changeset
|
1696 call assert_equal(':', g:entered) |
59a16624400a
patch 8.0.1445: cannot act on edits in the command line
Christian Brabandt <cb@256bit.org>
parents:
13090
diff
changeset
|
1697 au! CmdlineChanged |
59a16624400a
patch 8.0.1445: cannot act on edits in the command line
Christian Brabandt <cb@256bit.org>
parents:
13090
diff
changeset
|
1698 |
12656
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1699 au! CmdlineEnter : let g:entered = expand('<afile>') |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1700 au! CmdlineLeave : let g:left = expand('<afile>') |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1701 let g:entered = 0 |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1702 let g:left = 0 |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1703 call feedkeys(":echo 'hello'\<CR>", 'xt') |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1704 call assert_equal(':', g:entered) |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1705 call assert_equal(':', g:left) |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1706 au! CmdlineEnter |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1707 au! CmdlineLeave |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1708 |
13752
8a3e9d1e8cf9
patch 8.0.1748: CmdlineEnter command uses backslash instead of slash
Christian Brabandt <cb@256bit.org>
parents:
13720
diff
changeset
|
1709 let save_shellslash = &shellslash |
8a3e9d1e8cf9
patch 8.0.1748: CmdlineEnter command uses backslash instead of slash
Christian Brabandt <cb@256bit.org>
parents:
13720
diff
changeset
|
1710 set noshellslash |
12656
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1711 au! CmdlineEnter / let g:entered = expand('<afile>') |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1712 au! CmdlineLeave / let g:left = expand('<afile>') |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1713 let g:entered = 0 |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1714 let g:left = 0 |
12662
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1715 new |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1716 call setline(1, 'hello') |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1717 call feedkeys("/hello\<CR>", 'xt') |
12656
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1718 call assert_equal('/', g:entered) |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1719 call assert_equal('/', g:left) |
12662
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1720 bwipe! |
12656
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1721 au! CmdlineEnter |
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1722 au! CmdlineLeave |
13752
8a3e9d1e8cf9
patch 8.0.1748: CmdlineEnter command uses backslash instead of slash
Christian Brabandt <cb@256bit.org>
parents:
13720
diff
changeset
|
1723 let &shellslash = save_shellslash |
12656
0a9dacb8826a
patch 8.0.1206: no autocmd for entering or leaving the command line
Christian Brabandt <cb@256bit.org>
parents:
12652
diff
changeset
|
1724 endfunc |
12662
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1725 |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1726 " Test for BufWritePre autocommand that deletes or unloads the buffer. |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1727 func Test_BufWritePre() |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1728 %bwipe |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1729 au BufWritePre Xxx1 bunload |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1730 au BufWritePre Xxx2 bwipe |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1731 |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1732 call writefile(['start of Xxx1', 'test', 'end of Xxx1'], 'Xxx1') |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1733 call writefile(['start of Xxx2', 'test', 'end of Xxx2'], 'Xxx2') |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1734 |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1735 edit Xtest |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1736 e! Xxx2 |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1737 bdel Xtest |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1738 e Xxx1 |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1739 " write it, will unload it and give an error msg |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21895
diff
changeset
|
1740 call assert_fails('w', 'E203:') |
12662
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1741 call assert_equal('Xxx2', bufname('%')) |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1742 edit Xtest |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1743 e! Xxx2 |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1744 bwipe Xtest |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1745 " write it, will delete the buffer and give an error msg |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21895
diff
changeset
|
1746 call assert_fails('w', 'E203:') |
12662
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1747 call assert_equal('Xxx1', bufname('%')) |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1748 au! BufWritePre |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1749 call delete('Xxx1') |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1750 call delete('Xxx2') |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1751 endfunc |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1752 |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1753 " Test for BufUnload autocommand that unloads all the other buffers |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1754 func Test_bufunload_all() |
25969
a5a772dace5b
patch 8.2.3518: Test_xrestore sometimes fails
Bram Moolenaar <Bram@vim.org>
parents:
25967
diff
changeset
|
1755 let g:test_is_flaky = 1 |
12662
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1756 call writefile(['Test file Xxx1'], 'Xxx1')" |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1757 call writefile(['Test file Xxx2'], 'Xxx2')" |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1758 |
16720
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1759 let content =<< trim [CODE] |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1760 func UnloadAllBufs() |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1761 let i = 1 |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1762 while i <= bufnr('$') |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1763 if i != bufnr('%') && bufloaded(i) |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1764 exe i . 'bunload' |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1765 endif |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1766 let i += 1 |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1767 endwhile |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1768 endfunc |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1769 au BufUnload * call UnloadAllBufs() |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1770 au VimLeave * call writefile(['Test Finished'], 'Xout') |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1771 edit Xxx1 |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1772 split Xxx2 |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1773 q |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1774 [CODE] |
9c90cf08cfa8
patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents:
16646
diff
changeset
|
1775 |
12662
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1776 call writefile(content, 'Xtest') |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1777 |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1778 call delete('Xout') |
17698
131f1d8c5860
patch 8.1.1846: inconsistently using GetVimCommand() and v:progpath
Bram Moolenaar <Bram@vim.org>
parents:
17657
diff
changeset
|
1779 call system(GetVimCommandClean() .. ' -N --not-a-term -S Xtest') |
12662
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1780 call assert_true(filereadable('Xout')) |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1781 |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1782 call delete('Xxx1') |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1783 call delete('Xxx2') |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1784 call delete('Xtest') |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1785 call delete('Xout') |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1786 endfunc |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1787 |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1788 " Some tests for buffer-local autocommands |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1789 func Test_buflocal_autocmd() |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1790 let g:bname = '' |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1791 edit xx |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1792 au BufLeave <buffer> let g:bname = expand("%") |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1793 " here, autocommand for xx should trigger. |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1794 " but autocommand shall not apply to buffer named <buffer>. |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1795 edit somefile |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1796 call assert_equal('xx', g:bname) |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1797 let g:bname = '' |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1798 " here, autocommand shall be auto-deleted |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1799 bwipe xx |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1800 " autocmd should not trigger |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1801 edit xx |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1802 call assert_equal('', g:bname) |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1803 " autocmd should not trigger |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1804 edit somefile |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1805 call assert_equal('', g:bname) |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1806 enew |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1807 unlet g:bname |
15f0f9f16cd9
patch 8.0.1209: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12656
diff
changeset
|
1808 endfunc |
12750
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1809 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1810 " Test for "*Cmd" autocommands |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1811 func Test_Cmd_Autocmds() |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1812 call writefile(['start of Xxx', "\tabc2", 'end of Xxx'], 'Xxx') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1813 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1814 enew! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1815 au BufReadCmd XtestA 0r Xxx|$del |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1816 edit XtestA " will read text of Xxd instead |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1817 call assert_equal('start of Xxx', getline(1)) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1818 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1819 au BufWriteCmd XtestA call append(line("$"), "write") |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1820 write " will append a line to the file |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1821 call assert_equal('write', getline('$')) |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21895
diff
changeset
|
1822 call assert_fails('read XtestA', 'E484:') " should not read anything |
12750
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1823 call assert_equal('write', getline(4)) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1824 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1825 " now we have: |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1826 " 1 start of Xxx |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1827 " 2 abc2 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1828 " 3 end of Xxx |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1829 " 4 write |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1830 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1831 au FileReadCmd XtestB '[r Xxx |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1832 2r XtestB " will read Xxx below line 2 instead |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1833 call assert_equal('start of Xxx', getline(3)) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1834 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1835 " now we have: |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1836 " 1 start of Xxx |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1837 " 2 abc2 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1838 " 3 start of Xxx |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1839 " 4 abc2 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1840 " 5 end of Xxx |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1841 " 6 end of Xxx |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1842 " 7 write |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1843 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1844 au FileWriteCmd XtestC '[,']copy $ |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1845 normal 4GA1 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1846 4,5w XtestC " will copy lines 4 and 5 to the end |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1847 call assert_equal("\tabc21", getline(8)) |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21895
diff
changeset
|
1848 call assert_fails('r XtestC', 'E484:') " should not read anything |
12750
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1849 call assert_equal("end of Xxx", getline(9)) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1850 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1851 " now we have: |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1852 " 1 start of Xxx |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1853 " 2 abc2 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1854 " 3 start of Xxx |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1855 " 4 abc21 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1856 " 5 end of Xxx |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1857 " 6 end of Xxx |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1858 " 7 write |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1859 " 8 abc21 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1860 " 9 end of Xxx |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1861 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1862 let g:lines = [] |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1863 au FileAppendCmd XtestD call extend(g:lines, getline(line("'["), line("']"))) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1864 w >>XtestD " will add lines to 'lines' |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1865 call assert_equal(9, len(g:lines)) |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21895
diff
changeset
|
1866 call assert_fails('$r XtestD', 'E484:') " should not read anything |
12750
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1867 call assert_equal(9, line('$')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1868 call assert_equal('end of Xxx', getline('$')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1869 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1870 au BufReadCmd XtestE 0r Xxx|$del |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1871 sp XtestE " split window with test.out |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1872 call assert_equal('end of Xxx', getline(3)) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1873 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1874 let g:lines = [] |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1875 exe "normal 2Goasdf\<Esc>\<C-W>\<C-W>" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1876 au BufWriteCmd XtestE call extend(g:lines, getline(0, '$')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1877 wall " will write other window to 'lines' |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1878 call assert_equal(4, len(g:lines), g:lines) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1879 call assert_equal('asdf', g:lines[2]) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1880 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1881 au! BufReadCmd |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1882 au! BufWriteCmd |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1883 au! FileReadCmd |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1884 au! FileWriteCmd |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1885 au! FileAppendCmd |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1886 %bwipe! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1887 call delete('Xxx') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1888 enew! |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12692
diff
changeset
|
1889 endfunc |
12783
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1890 |
19836
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1891 func s:ReadFile() |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1892 setl noswapfile nomodified |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1893 let filename = resolve(expand("<afile>:p")) |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1894 execute 'read' fnameescape(filename) |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1895 1d_ |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1896 exe 'file' fnameescape(filename) |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1897 setl buftype=acwrite |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1898 endfunc |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1899 |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1900 func s:WriteFile() |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1901 let filename = resolve(expand("<afile>:p")) |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1902 setl buftype= |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1903 noautocmd execute 'write' fnameescape(filename) |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1904 setl buftype=acwrite |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1905 setl nomodified |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1906 endfunc |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1907 |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1908 func Test_BufReadCmd() |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1909 autocmd BufReadCmd *.test call s:ReadFile() |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1910 autocmd BufWriteCmd *.test call s:WriteFile() |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1911 |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1912 call writefile(['one', 'two', 'three'], 'Xcmd.test') |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1913 edit Xcmd.test |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1914 call assert_match('Xcmd.test" line 1 of 3', execute('file')) |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1915 normal! Gofour |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1916 write |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1917 call assert_equal(['one', 'two', 'three', 'four'], readfile('Xcmd.test')) |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1918 |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1919 bwipe! |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1920 call delete('Xcmd.test') |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1921 au! BufReadCmd |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1922 au! BufWriteCmd |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1923 endfunc |
c32b295af9c5
patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Bram Moolenaar <Bram@vim.org>
parents:
19752
diff
changeset
|
1924 |
12783
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1925 func SetChangeMarks(start, end) |
23626
e23ccc04025a
patch 8.2.2355: stray test failure on Appveyor
Bram Moolenaar <Bram@vim.org>
parents:
23624
diff
changeset
|
1926 exe a:start .. 'mark [' |
e23ccc04025a
patch 8.2.2355: stray test failure on Appveyor
Bram Moolenaar <Bram@vim.org>
parents:
23624
diff
changeset
|
1927 exe a:end .. 'mark ]' |
12783
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1928 endfunc |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1929 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1930 " Verify the effects of autocmds on '[ and '] |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1931 func Test_change_mark_in_autocmds() |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1932 edit! Xtest |
23626
e23ccc04025a
patch 8.2.2355: stray test failure on Appveyor
Bram Moolenaar <Bram@vim.org>
parents:
23624
diff
changeset
|
1933 call feedkeys("ia\<CR>b\<CR>c\<CR>d\<C-g>u\<Esc>", 'xtn') |
12783
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1934 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1935 call SetChangeMarks(2, 3) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1936 write |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1937 call assert_equal([1, 4], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1938 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1939 call SetChangeMarks(2, 3) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1940 au BufWritePre * call assert_equal([1, 4], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1941 write |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1942 au! BufWritePre |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1943 |
21638
5dcdb970111b
patch 8.2.1369: MS-Windows: autocommand test sometimes fails
Bram Moolenaar <Bram@vim.org>
parents:
21419
diff
changeset
|
1944 if has('unix') |
12783
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1945 write XtestFilter |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1946 write >> XtestFilter |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1947 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1948 call SetChangeMarks(2, 3) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1949 " Marks are set to the entire range of the write |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1950 au FilterWritePre * call assert_equal([1, 4], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1951 " '[ is adjusted to just before the line that will receive the filtered |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1952 " data |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1953 au FilterReadPre * call assert_equal([4, 4], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1954 " The filtered data is read into the buffer, and the source lines are |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1955 " still present, so the range is after the source lines |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1956 au FilterReadPost * call assert_equal([5, 12], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1957 %!cat XtestFilter |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1958 " After the filtered data is read, the original lines are deleted |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1959 call assert_equal([1, 8], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1960 au! FilterWritePre,FilterReadPre,FilterReadPost |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1961 undo |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1962 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1963 call SetChangeMarks(1, 4) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1964 au FilterWritePre * call assert_equal([2, 3], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1965 au FilterReadPre * call assert_equal([3, 3], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1966 au FilterReadPost * call assert_equal([4, 11], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1967 2,3!cat XtestFilter |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1968 call assert_equal([2, 9], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1969 au! FilterWritePre,FilterReadPre,FilterReadPost |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1970 undo |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1971 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1972 call delete('XtestFilter') |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1973 endif |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1974 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1975 call SetChangeMarks(1, 4) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1976 au FileWritePre * call assert_equal([2, 3], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1977 2,3write Xtest2 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1978 au! FileWritePre |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1979 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1980 call SetChangeMarks(2, 3) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1981 au FileAppendPre * call assert_equal([1, 4], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1982 write >> Xtest2 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1983 au! FileAppendPre |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1984 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1985 call SetChangeMarks(1, 4) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1986 au FileAppendPre * call assert_equal([2, 3], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1987 2,3write >> Xtest2 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1988 au! FileAppendPre |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1989 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1990 call SetChangeMarks(1, 1) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1991 au FileReadPre * call assert_equal([3, 1], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1992 au FileReadPost * call assert_equal([4, 11], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1993 3read Xtest2 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1994 au! FileReadPre,FileReadPost |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1995 undo |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1996 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1997 call SetChangeMarks(4, 4) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1998 " When the line is 0, it's adjusted to 1 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
1999 au FileReadPre * call assert_equal([1, 4], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2000 au FileReadPost * call assert_equal([1, 8], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2001 0read Xtest2 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2002 au! FileReadPre,FileReadPost |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2003 undo |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2004 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2005 call SetChangeMarks(4, 4) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2006 " When the line is 0, it's adjusted to 1 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2007 au FileReadPre * call assert_equal([1, 4], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2008 au FileReadPost * call assert_equal([2, 9], [line("'["), line("']")]) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2009 1read Xtest2 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2010 au! FileReadPre,FileReadPost |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2011 undo |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2012 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2013 bwipe! |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2014 call delete('Xtest') |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2015 call delete('Xtest2') |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2016 endfunc |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2017 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2018 func Test_Filter_noshelltemp() |
23027
f74978697fb6
patch 8.2.2060: check for features implemented with "if"
Bram Moolenaar <Bram@vim.org>
parents:
23021
diff
changeset
|
2019 CheckExecutable cat |
12783
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2020 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2021 enew! |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2022 call setline(1, ['a', 'b', 'c', 'd']) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2023 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2024 let shelltemp = &shelltemp |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2025 set shelltemp |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2026 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2027 let g:filter_au = 0 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2028 au FilterWritePre * let g:filter_au += 1 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2029 au FilterReadPre * let g:filter_au += 1 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2030 au FilterReadPost * let g:filter_au += 1 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2031 %!cat |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2032 call assert_equal(3, g:filter_au) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2033 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2034 if has('filterpipe') |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2035 set noshelltemp |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2036 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2037 let g:filter_au = 0 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2038 au FilterWritePre * let g:filter_au += 1 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2039 au FilterReadPre * let g:filter_au += 1 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2040 au FilterReadPost * let g:filter_au += 1 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2041 %!cat |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2042 call assert_equal(0, g:filter_au) |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2043 endif |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2044 |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2045 au! FilterWritePre,FilterReadPre,FilterReadPost |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2046 let &shelltemp = shelltemp |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2047 bwipe! |
afd8a4f36301
patch 8.0.1269: effect of autocommands on marks is not tested
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
2048 endfunc |
13037
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2049 |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2050 func Test_TextYankPost() |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2051 enew! |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2052 call setline(1, ['foo']) |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2053 |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2054 let g:event = [] |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2055 au TextYankPost * let g:event = copy(v:event) |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2056 |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2057 call assert_equal({}, v:event) |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2058 call assert_fails('let v:event = {}', 'E46:') |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2059 call assert_fails('let v:event.mykey = 0', 'E742:') |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2060 |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2061 norm "ayiw |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2062 call assert_equal( |
28384
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2063 \ #{regcontents: ['foo'], regname: 'a', operator: 'y', |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2064 \ regtype: 'v', visual: v:false, inclusive: v:true}, |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2065 \ g:event) |
13037
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2066 norm y_ |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2067 call assert_equal( |
28384
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2068 \ #{regcontents: ['foo'], regname: '', operator: 'y', regtype: 'V', |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2069 \ visual: v:false, inclusive: v:false}, |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2070 \ g:event) |
20824
b8ca32dcfabb
patch 8.2.0964: TextYankPost does not provide info about Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
20800
diff
changeset
|
2071 norm Vy |
b8ca32dcfabb
patch 8.2.0964: TextYankPost does not provide info about Visual selection
Bram Moolenaar <Bram@vim.org>
parents:
20800
diff
changeset
|
2072 call assert_equal( |
28384
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2073 \ #{regcontents: ['foo'], regname: '', operator: 'y', regtype: 'V', |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2074 \ visual: v:true, inclusive: v:true}, |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2075 \ g:event) |
13037
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2076 call feedkeys("\<C-V>y", 'x') |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2077 call assert_equal( |
28384
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2078 \ #{regcontents: ['f'], regname: '', operator: 'y', regtype: "\x161", |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2079 \ visual: v:true, inclusive: v:true}, |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2080 \ g:event) |
13037
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2081 norm "xciwbar |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2082 call assert_equal( |
28384
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2083 \ #{regcontents: ['foo'], regname: 'x', operator: 'c', regtype: 'v', |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2084 \ visual: v:false, inclusive: v:true}, |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2085 \ g:event) |
13037
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2086 norm "bdiw |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2087 call assert_equal( |
28384
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2088 \ #{regcontents: ['bar'], regname: 'b', operator: 'd', regtype: 'v', |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2089 \ visual: v:false, inclusive: v:true}, |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2090 \ g:event) |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2091 |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2092 call setline(1, 'foobar') |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2093 " exclusive motion |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2094 norm $"ay0 |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2095 call assert_equal( |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2096 \ #{regcontents: ['fooba'], regname: 'a', operator: 'y', regtype: 'v', |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2097 \ visual: v:false, inclusive: v:false}, |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2098 \ g:event) |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2099 " inclusive motion |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2100 norm 0"ay$ |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2101 call assert_equal( |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2102 \ #{regcontents: ['foobar'], regname: 'a', operator: 'y', regtype: 'v', |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2103 \ visual: v:false, inclusive: v:true}, |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2104 \ g:event) |
13037
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2105 |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2106 call assert_equal({}, v:event) |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2107 |
23021
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2108 if has('clipboard_working') && !has('gui_running') |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2109 " Test that when the visual selection is automatically copied to clipboard |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2110 " register a TextYankPost is emitted |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2111 call setline(1, ['foobar']) |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2112 |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2113 let @* = '' |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2114 set clipboard=autoselect |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2115 exe "norm! ggviw\<Esc>" |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2116 call assert_equal( |
28384
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2117 \ #{regcontents: ['foobar'], regname: '*', operator: 'y', |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2118 \ regtype: 'v', visual: v:true, inclusive: v:false}, |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2119 \ g:event) |
23021
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2120 |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2121 let @+ = '' |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2122 set clipboard=autoselectplus |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2123 exe "norm! ggviw\<Esc>" |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2124 call assert_equal( |
28384
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2125 \ #{regcontents: ['foobar'], regname: '+', operator: 'y', |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2126 \ regtype: 'v', visual: v:true, inclusive: v:false}, |
21e96d9b66c0
patch 8.2.4717: for TextYankPost v:event does not contain all information
Bram Moolenaar <Bram@vim.org>
parents:
28375
diff
changeset
|
2127 \ g:event) |
23021
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2128 |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2129 set clipboard&vim |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2130 endif |
d10a37eb91ee
patch 8.2.2057: getting the selection may trigger TextYankPost autocmd
Bram Moolenaar <Bram@vim.org>
parents:
22999
diff
changeset
|
2131 |
13037
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2132 au! TextYankPost |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2133 unlet g:event |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2134 bwipe! |
6e81a68d63a1
patch 8.0.1394: cannot intercept a yank command
Christian Brabandt <cb@256bit.org>
parents:
12783
diff
changeset
|
2135 endfunc |
13054
197a08152ad5
patch 8.0.1402: crash with nasty autocommand
Christian Brabandt <cb@256bit.org>
parents:
13037
diff
changeset
|
2136 |
23758
97296182d336
patch 8.2.2420: too many problems with using all autocommand events
Bram Moolenaar <Bram@vim.org>
parents:
23756
diff
changeset
|
2137 func Test_autocommand_all_events() |
97296182d336
patch 8.2.2420: too many problems with using all autocommand events
Bram Moolenaar <Bram@vim.org>
parents:
23756
diff
changeset
|
2138 call assert_fails('au * * bwipe', 'E1155:') |
97296182d336
patch 8.2.2420: too many problems with using all autocommand events
Bram Moolenaar <Bram@vim.org>
parents:
23756
diff
changeset
|
2139 call assert_fails('au * x bwipe', 'E1155:') |
26715
af919f98c7e1
patch 8.2.3886: can define autocmd for every event by using "au!"
Bram Moolenaar <Bram@vim.org>
parents:
26189
diff
changeset
|
2140 call assert_fails('au! * x bwipe', 'E1155:') |
13056
b931b2751650
patch 8.0.1403: using freed buffer in grep command
Christian Brabandt <cb@256bit.org>
parents:
13054
diff
changeset
|
2141 endfunc |
13170
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2142 |
27639
8736d8b0a0bc
patch 8.2.4345: <amatch> is expanded like a file name for DirChangedPre
Bram Moolenaar <Bram@vim.org>
parents:
27617
diff
changeset
|
2143 func Test_autocmd_user() |
8736d8b0a0bc
patch 8.2.4345: <amatch> is expanded like a file name for DirChangedPre
Bram Moolenaar <Bram@vim.org>
parents:
27617
diff
changeset
|
2144 au User MyEvent let s:res = [expand("<afile>"), expand("<amatch>")] |
8736d8b0a0bc
patch 8.2.4345: <amatch> is expanded like a file name for DirChangedPre
Bram Moolenaar <Bram@vim.org>
parents:
27617
diff
changeset
|
2145 doautocmd User MyEvent |
8736d8b0a0bc
patch 8.2.4345: <amatch> is expanded like a file name for DirChangedPre
Bram Moolenaar <Bram@vim.org>
parents:
27617
diff
changeset
|
2146 call assert_equal(['MyEvent', 'MyEvent'], s:res) |
8736d8b0a0bc
patch 8.2.4345: <amatch> is expanded like a file name for DirChangedPre
Bram Moolenaar <Bram@vim.org>
parents:
27617
diff
changeset
|
2147 au! User |
8736d8b0a0bc
patch 8.2.4345: <amatch> is expanded like a file name for DirChangedPre
Bram Moolenaar <Bram@vim.org>
parents:
27617
diff
changeset
|
2148 unlet s:res |
8736d8b0a0bc
patch 8.2.4345: <amatch> is expanded like a file name for DirChangedPre
Bram Moolenaar <Bram@vim.org>
parents:
27617
diff
changeset
|
2149 endfunc |
8736d8b0a0bc
patch 8.2.4345: <amatch> is expanded like a file name for DirChangedPre
Bram Moolenaar <Bram@vim.org>
parents:
27617
diff
changeset
|
2150 |
13170
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2151 function s:Before_test_dirchanged() |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2152 augroup test_dirchanged |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2153 autocmd! |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2154 augroup END |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2155 let s:li = [] |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2156 let s:dir_this = getcwd() |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19932
diff
changeset
|
2157 let s:dir_foo = s:dir_this . '/Xfoo' |
15184
90ab2d3ce11d
patch 8.1.0602: DirChanged is also triggered when directory didn't change
Bram Moolenaar <Bram@vim.org>
parents:
14485
diff
changeset
|
2158 call mkdir(s:dir_foo) |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19932
diff
changeset
|
2159 let s:dir_bar = s:dir_this . '/Xbar' |
15184
90ab2d3ce11d
patch 8.1.0602: DirChanged is also triggered when directory didn't change
Bram Moolenaar <Bram@vim.org>
parents:
14485
diff
changeset
|
2160 call mkdir(s:dir_bar) |
13170
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2161 endfunc |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2162 |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2163 function s:After_test_dirchanged() |
18568
26a04a556982
patch 8.1.2278: using "cd" with "exe" may fail
Bram Moolenaar <Bram@vim.org>
parents:
18283
diff
changeset
|
2164 call chdir(s:dir_this) |
15184
90ab2d3ce11d
patch 8.1.0602: DirChanged is also triggered when directory didn't change
Bram Moolenaar <Bram@vim.org>
parents:
14485
diff
changeset
|
2165 call delete(s:dir_foo, 'd') |
90ab2d3ce11d
patch 8.1.0602: DirChanged is also triggered when directory didn't change
Bram Moolenaar <Bram@vim.org>
parents:
14485
diff
changeset
|
2166 call delete(s:dir_bar, 'd') |
13170
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2167 augroup test_dirchanged |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2168 autocmd! |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2169 augroup END |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2170 endfunc |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2171 |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2172 function Test_dirchanged_global() |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2173 call s:Before_test_dirchanged() |
27639
8736d8b0a0bc
patch 8.2.4345: <amatch> is expanded like a file name for DirChangedPre
Bram Moolenaar <Bram@vim.org>
parents:
27617
diff
changeset
|
2174 autocmd test_dirchanged DirChangedPre global call add(s:li, expand("<amatch>") .. " pre cd " .. v:event.directory) |
13170
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2175 autocmd test_dirchanged DirChanged global call add(s:li, "cd:") |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2176 autocmd test_dirchanged DirChanged global call add(s:li, expand("<afile>")) |
18568
26a04a556982
patch 8.1.2278: using "cd" with "exe" may fail
Bram Moolenaar <Bram@vim.org>
parents:
18283
diff
changeset
|
2177 call chdir(s:dir_foo) |
27639
8736d8b0a0bc
patch 8.2.4345: <amatch> is expanded like a file name for DirChangedPre
Bram Moolenaar <Bram@vim.org>
parents:
27617
diff
changeset
|
2178 let expected = ["global pre cd " .. s:dir_foo, "cd:", s:dir_foo] |
27617
269f89efb06a
patch 8.2.4335: no autocommand event triggered before changing directory
Bram Moolenaar <Bram@vim.org>
parents:
27241
diff
changeset
|
2179 call assert_equal(expected, s:li) |
18568
26a04a556982
patch 8.1.2278: using "cd" with "exe" may fail
Bram Moolenaar <Bram@vim.org>
parents:
18283
diff
changeset
|
2180 call chdir(s:dir_foo) |
27617
269f89efb06a
patch 8.2.4335: no autocommand event triggered before changing directory
Bram Moolenaar <Bram@vim.org>
parents:
27241
diff
changeset
|
2181 call assert_equal(expected, s:li) |
18568
26a04a556982
patch 8.1.2278: using "cd" with "exe" may fail
Bram Moolenaar <Bram@vim.org>
parents:
18283
diff
changeset
|
2182 exe 'lcd ' .. fnameescape(s:dir_bar) |
27617
269f89efb06a
patch 8.2.4335: no autocommand event triggered before changing directory
Bram Moolenaar <Bram@vim.org>
parents:
27241
diff
changeset
|
2183 call assert_equal(expected, s:li) |
29117
c7a8d4bf4d04
patch 8.2.5079: DirChanged autocommand may use freed memory
Bram Moolenaar <Bram@vim.org>
parents:
29062
diff
changeset
|
2184 |
c7a8d4bf4d04
patch 8.2.5079: DirChanged autocommand may use freed memory
Bram Moolenaar <Bram@vim.org>
parents:
29062
diff
changeset
|
2185 exe 'cd ' .. s:dir_foo |
c7a8d4bf4d04
patch 8.2.5079: DirChanged autocommand may use freed memory
Bram Moolenaar <Bram@vim.org>
parents:
29062
diff
changeset
|
2186 exe 'cd ' .. s:dir_bar |
c7a8d4bf4d04
patch 8.2.5079: DirChanged autocommand may use freed memory
Bram Moolenaar <Bram@vim.org>
parents:
29062
diff
changeset
|
2187 autocmd! test_dirchanged DirChanged global let g:result = expand("<afile>") |
c7a8d4bf4d04
patch 8.2.5079: DirChanged autocommand may use freed memory
Bram Moolenaar <Bram@vim.org>
parents:
29062
diff
changeset
|
2188 cd - |
29126
4385dfed5b29
patch 8.2.5083: autocmd test still fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
29122
diff
changeset
|
2189 call assert_equal(s:dir_foo, substitute(g:result, '\\', '/', 'g')) |
4385dfed5b29
patch 8.2.5083: autocmd test still fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
29122
diff
changeset
|
2190 |
13170
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2191 call s:After_test_dirchanged() |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2192 endfunc |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2193 |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2194 function Test_dirchanged_local() |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2195 call s:Before_test_dirchanged() |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2196 autocmd test_dirchanged DirChanged window call add(s:li, "lcd:") |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2197 autocmd test_dirchanged DirChanged window call add(s:li, expand("<afile>")) |
18568
26a04a556982
patch 8.1.2278: using "cd" with "exe" may fail
Bram Moolenaar <Bram@vim.org>
parents:
18283
diff
changeset
|
2198 call chdir(s:dir_foo) |
13170
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2199 call assert_equal([], s:li) |
18568
26a04a556982
patch 8.1.2278: using "cd" with "exe" may fail
Bram Moolenaar <Bram@vim.org>
parents:
18283
diff
changeset
|
2200 exe 'lcd ' .. fnameescape(s:dir_bar) |
15184
90ab2d3ce11d
patch 8.1.0602: DirChanged is also triggered when directory didn't change
Bram Moolenaar <Bram@vim.org>
parents:
14485
diff
changeset
|
2201 call assert_equal(["lcd:", s:dir_bar], s:li) |
18568
26a04a556982
patch 8.1.2278: using "cd" with "exe" may fail
Bram Moolenaar <Bram@vim.org>
parents:
18283
diff
changeset
|
2202 exe 'lcd ' .. fnameescape(s:dir_bar) |
15184
90ab2d3ce11d
patch 8.1.0602: DirChanged is also triggered when directory didn't change
Bram Moolenaar <Bram@vim.org>
parents:
14485
diff
changeset
|
2203 call assert_equal(["lcd:", s:dir_bar], s:li) |
13170
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2204 call s:After_test_dirchanged() |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2205 endfunc |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2206 |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2207 function Test_dirchanged_auto() |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21638
diff
changeset
|
2208 CheckOption autochdir |
13170
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2209 call s:Before_test_dirchanged() |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2210 call test_autochdir() |
27617
269f89efb06a
patch 8.2.4335: no autocommand event triggered before changing directory
Bram Moolenaar <Bram@vim.org>
parents:
27241
diff
changeset
|
2211 autocmd test_dirchanged DirChangedPre auto call add(s:li, "pre cd " .. v:event.directory) |
13170
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2212 autocmd test_dirchanged DirChanged auto call add(s:li, "auto:") |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2213 autocmd test_dirchanged DirChanged auto call add(s:li, expand("<afile>")) |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2214 set acd |
18568
26a04a556982
patch 8.1.2278: using "cd" with "exe" may fail
Bram Moolenaar <Bram@vim.org>
parents:
18283
diff
changeset
|
2215 cd .. |
13170
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2216 call assert_equal([], s:li) |
15184
90ab2d3ce11d
patch 8.1.0602: DirChanged is also triggered when directory didn't change
Bram Moolenaar <Bram@vim.org>
parents:
14485
diff
changeset
|
2217 exe 'edit ' . s:dir_foo . '/Xfile' |
90ab2d3ce11d
patch 8.1.0602: DirChanged is also triggered when directory didn't change
Bram Moolenaar <Bram@vim.org>
parents:
14485
diff
changeset
|
2218 call assert_equal(s:dir_foo, getcwd()) |
27617
269f89efb06a
patch 8.2.4335: no autocommand event triggered before changing directory
Bram Moolenaar <Bram@vim.org>
parents:
27241
diff
changeset
|
2219 let expected = ["pre cd " .. s:dir_foo, "auto:", s:dir_foo] |
269f89efb06a
patch 8.2.4335: no autocommand event triggered before changing directory
Bram Moolenaar <Bram@vim.org>
parents:
27241
diff
changeset
|
2220 call assert_equal(expected, s:li) |
13170
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2221 set noacd |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2222 bwipe! |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2223 call s:After_test_dirchanged() |
6559e98f3e74
patch 8.0.1459: cannot handle change of directory
Christian Brabandt <cb@256bit.org>
parents:
13142
diff
changeset
|
2224 endfunc |
13240
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2225 |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2226 " Test TextChangedI and TextChangedP |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2227 func Test_ChangedP() |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2228 new |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2229 call setline(1, ['foo', 'bar', 'foobar']) |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2230 call test_override("char_avail", 1) |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2231 set complete=. completeopt=menuone |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2232 |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2233 func! TextChangedAutocmd(char) |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2234 let g:autocmd .= a:char |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2235 endfunc |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2236 |
25967
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
2237 " TextChanged will not be triggered, only check that it isn't. |
13240
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2238 au! TextChanged <buffer> :call TextChangedAutocmd('N') |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2239 au! TextChangedI <buffer> :call TextChangedAutocmd('I') |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2240 au! TextChangedP <buffer> :call TextChangedAutocmd('P') |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2241 |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2242 call cursor(3, 1) |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2243 let g:autocmd = '' |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2244 call feedkeys("o\<esc>", 'tnix') |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2245 call assert_equal('I', g:autocmd) |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2246 |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2247 let g:autocmd = '' |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2248 call feedkeys("Sf", 'tnix') |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2249 call assert_equal('II', g:autocmd) |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2250 |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2251 let g:autocmd = '' |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2252 call feedkeys("Sf\<C-N>", 'tnix') |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2253 call assert_equal('IIP', g:autocmd) |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2254 |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2255 let g:autocmd = '' |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2256 call feedkeys("Sf\<C-N>\<C-N>", 'tnix') |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2257 call assert_equal('IIPP', g:autocmd) |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2258 |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2259 let g:autocmd = '' |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2260 call feedkeys("Sf\<C-N>\<C-N>\<C-N>", 'tnix') |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2261 call assert_equal('IIPPP', g:autocmd) |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2262 |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2263 let g:autocmd = '' |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2264 call feedkeys("Sf\<C-N>\<C-N>\<C-N>\<C-N>", 'tnix') |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2265 call assert_equal('IIPPPP', g:autocmd) |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2266 |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2267 call assert_equal(['foo', 'bar', 'foobar', 'foo'], getline(1, '$')) |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2268 " TODO: how should it handle completeopt=noinsert,noselect? |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2269 |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2270 " CleanUp |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2271 call test_override("char_avail", 0) |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2272 au! TextChanged |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2273 au! TextChangedI |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2274 au! TextChangedP |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2275 delfu TextChangedAutocmd |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2276 unlet! g:autocmd |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2277 set complete&vim completeopt&vim |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2278 |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2279 bw! |
5ed6e4a25925
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Christian Brabandt <cb@256bit.org>
parents:
13178
diff
changeset
|
2280 endfunc |
13519
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2281 |
14463
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2282 let g:setline_handled = v:false |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
15207
diff
changeset
|
2283 func SetLineOne() |
14463
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2284 if !g:setline_handled |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2285 call setline(1, "(x)") |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2286 let g:setline_handled = v:true |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2287 endif |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2288 endfunc |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2289 |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2290 func Test_TextChangedI_with_setline() |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2291 new |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2292 call test_override('char_avail', 1) |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2293 autocmd TextChangedI <buffer> call SetLineOne() |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2294 call feedkeys("i(\<CR>\<Esc>", 'tx') |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2295 call assert_equal('(', getline(1)) |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2296 call assert_equal('x)', getline(2)) |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2297 undo |
14485
c71d65c3672f
patch 8.1.0256: using setline() in TextChangedI splits undo
Christian Brabandt <cb@256bit.org>
parents:
14463
diff
changeset
|
2298 call assert_equal('', getline(1)) |
14463
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2299 call assert_equal('', getline(2)) |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2300 |
27241
959d6a664cfd
patch 8.2.4149: test override not restored, autocommand left behind
Bram Moolenaar <Bram@vim.org>
parents:
26998
diff
changeset
|
2301 call test_override('char_avail', 0) |
14463
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2302 bwipe! |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2303 endfunc |
3b87daa5c37a
patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Christian Brabandt <cb@256bit.org>
parents:
13798
diff
changeset
|
2304 |
13519
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2305 func Test_Changed_FirstTime() |
17657
0da9bc55c31a
patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents:
17093
diff
changeset
|
2306 CheckFeature terminal |
0da9bc55c31a
patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents:
17093
diff
changeset
|
2307 CheckNotGui |
19687
c3f506e24eab
patch 8.2.0400: not all tests using a terminal are in the list of flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
19651
diff
changeset
|
2308 " Starting a terminal to run Vim is always considered flaky. |
19691
60b5abfc4897
patch 8.2.0402: setting local instead of global flag
Bram Moolenaar <Bram@vim.org>
parents:
19687
diff
changeset
|
2309 let g:test_is_flaky = 1 |
17657
0da9bc55c31a
patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents:
17093
diff
changeset
|
2310 |
13519
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2311 " Prepare file for TextChanged event. |
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2312 call writefile([''], 'Xchanged.txt') |
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2313 let buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], {'term_rows': 3}) |
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2314 call assert_equal('running', term_getstatus(buf)) |
13559
af68603e213d
patch 8.0.1653: screen dump is made too soon
Christian Brabandt <cb@256bit.org>
parents:
13519
diff
changeset
|
2315 " Wait for the ruler (in the status line) to be shown. |
15725
a3e2e7948ee4
patch 8.1.0870: Vim doesn't use the new ConPTY support in Windows 10
Bram Moolenaar <Bram@vim.org>
parents:
15687
diff
changeset
|
2316 " In ConPTY, there is additional character which is drawn up to the width of |
a3e2e7948ee4
patch 8.1.0870: Vim doesn't use the new ConPTY support in Windows 10
Bram Moolenaar <Bram@vim.org>
parents:
15687
diff
changeset
|
2317 " the screen. |
a3e2e7948ee4
patch 8.1.0870: Vim doesn't use the new ConPTY support in Windows 10
Bram Moolenaar <Bram@vim.org>
parents:
15687
diff
changeset
|
2318 if has('conpty') |
a3e2e7948ee4
patch 8.1.0870: Vim doesn't use the new ConPTY support in Windows 10
Bram Moolenaar <Bram@vim.org>
parents:
15687
diff
changeset
|
2319 call WaitForAssert({-> assert_match('\<All.*$', term_getline(buf, 3))}) |
a3e2e7948ee4
patch 8.1.0870: Vim doesn't use the new ConPTY support in Windows 10
Bram Moolenaar <Bram@vim.org>
parents:
15687
diff
changeset
|
2320 else |
a3e2e7948ee4
patch 8.1.0870: Vim doesn't use the new ConPTY support in Windows 10
Bram Moolenaar <Bram@vim.org>
parents:
15687
diff
changeset
|
2321 call WaitForAssert({-> assert_match('\<All$', term_getline(buf, 3))}) |
a3e2e7948ee4
patch 8.1.0870: Vim doesn't use the new ConPTY support in Windows 10
Bram Moolenaar <Bram@vim.org>
parents:
15687
diff
changeset
|
2322 endif |
13519
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2323 " It's only adding autocmd, so that no event occurs. |
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2324 call term_sendkeys(buf, ":au! TextChanged <buffer> call writefile(['No'], 'Xchanged.txt')\<cr>") |
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2325 call term_sendkeys(buf, "\<C-\\>\<C-N>:qa!\<cr>") |
13798
415185e2c970
patch 8.0.1771: in tests, when WaitFor() fails it doesn't say why
Christian Brabandt <cb@256bit.org>
parents:
13752
diff
changeset
|
2326 call WaitForAssert({-> assert_equal('finished', term_getstatus(buf))}) |
13519
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2327 call assert_equal([''], readfile('Xchanged.txt')) |
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2328 |
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2329 " clean up |
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2330 call delete('Xchanged.txt') |
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2331 bwipe! |
4a44c90dd671
patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Christian Brabandt <cb@256bit.org>
parents:
13240
diff
changeset
|
2332 endfunc |
15611
bfcd7ffe9ac2
patch 8.1.0813: FileChangedShell not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
2333 |
16217
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2334 func Test_autocmd_nested() |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2335 let g:did_nested = 0 |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2336 augroup Testing |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2337 au WinNew * edit somefile |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2338 au BufNew * let g:did_nested = 1 |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2339 augroup END |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2340 split |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2341 call assert_equal(0, g:did_nested) |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2342 close |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2343 bwipe! somefile |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2344 |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2345 " old nested argument still works |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2346 augroup Testing |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2347 au! |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2348 au WinNew * nested edit somefile |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2349 au BufNew * let g:did_nested = 1 |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2350 augroup END |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2351 split |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2352 call assert_equal(1, g:did_nested) |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2353 close |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2354 bwipe! somefile |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2355 |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2356 " New ++nested argument works |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2357 augroup Testing |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2358 au! |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2359 au WinNew * ++nested edit somefile |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2360 au BufNew * let g:did_nested = 1 |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2361 augroup END |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2362 split |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2363 call assert_equal(1, g:did_nested) |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2364 close |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2365 bwipe! somefile |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2366 |
27960
be693de40634
patch 8.2.4505: Vim9: outdated "autocmd nested" still works
Bram Moolenaar <Bram@vim.org>
parents:
27639
diff
changeset
|
2367 " nested without ++ does not work in Vim9 script |
be693de40634
patch 8.2.4505: Vim9: outdated "autocmd nested" still works
Bram Moolenaar <Bram@vim.org>
parents:
27639
diff
changeset
|
2368 call assert_fails('vim9cmd au WinNew * nested echo fails', 'E1078:') |
be693de40634
patch 8.2.4505: Vim9: outdated "autocmd nested" still works
Bram Moolenaar <Bram@vim.org>
parents:
27639
diff
changeset
|
2369 |
16217
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2370 augroup Testing |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2371 au! |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2372 augroup END |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2373 |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2374 call assert_fails('au WinNew * ++nested ++nested echo bad', 'E983:') |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2375 call assert_fails('au WinNew * nested nested echo bad', 'E983:') |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2376 endfunc |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2377 |
29438
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2378 func Test_autocmd_nested_cursor_invalid() |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2379 set laststatus=0 |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2380 copen |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2381 cclose |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2382 call setline(1, ['foo', 'bar', 'baz']) |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2383 3 |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2384 augroup nested_inv |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2385 autocmd User foo ++nested copen |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2386 autocmd BufAdd * let &laststatus = 2 - &laststatus |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2387 augroup END |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2388 doautocmd User foo |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2389 |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2390 augroup nested_inv |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2391 au! |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2392 augroup END |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2393 set laststatus& |
29471
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2394 cclose |
29438
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2395 bwipe! |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2396 endfunc |
87da4bab5aaa
patch 9.0.0061: ml_get error with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29126
diff
changeset
|
2397 |
29505
33983b2f030f
patch 9.0.0094: cursor restored unexpected with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29483
diff
changeset
|
2398 func Test_autocmd_nested_keeps_cursor_pos() |
33983b2f030f
patch 9.0.0094: cursor restored unexpected with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29483
diff
changeset
|
2399 enew |
33983b2f030f
patch 9.0.0094: cursor restored unexpected with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29483
diff
changeset
|
2400 call setline(1, 'foo') |
33983b2f030f
patch 9.0.0094: cursor restored unexpected with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29483
diff
changeset
|
2401 autocmd User foo ++nested normal! $a |
33983b2f030f
patch 9.0.0094: cursor restored unexpected with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29483
diff
changeset
|
2402 autocmd InsertLeave * : |
33983b2f030f
patch 9.0.0094: cursor restored unexpected with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29483
diff
changeset
|
2403 doautocmd User foo |
33983b2f030f
patch 9.0.0094: cursor restored unexpected with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29483
diff
changeset
|
2404 call assert_equal([0, 1, 3, 0], getpos('.')) |
33983b2f030f
patch 9.0.0094: cursor restored unexpected with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29483
diff
changeset
|
2405 |
33983b2f030f
patch 9.0.0094: cursor restored unexpected with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29483
diff
changeset
|
2406 bwipe! |
33983b2f030f
patch 9.0.0094: cursor restored unexpected with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29483
diff
changeset
|
2407 endfunc |
33983b2f030f
patch 9.0.0094: cursor restored unexpected with nested autocommand
Bram Moolenaar <Bram@vim.org>
parents:
29483
diff
changeset
|
2408 |
29471
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2409 func Test_autocmd_nested_switch_window() |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2410 " run this in a separate Vim so that SafeState works |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2411 CheckRunVimInTerminal |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2412 |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2413 let lines =<< trim END |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2414 vim9script |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2415 ['()']->writefile('Xautofile') |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2416 autocmd VimEnter * ++nested edit Xautofile | split |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2417 autocmd BufReadPost * autocmd SafeState * ++once foldclosed('.') |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2418 autocmd WinEnter * matchadd('ErrorMsg', 'pat') |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2419 END |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2420 call writefile(lines, 'Xautoscript') |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2421 let buf = RunVimInTerminal('-S Xautoscript', {'rows': 10}) |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2422 call VerifyScreenDump(buf, 'Test_autocmd_nested_switch', {}) |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2423 |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2424 call StopVimInTerminal(buf) |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2425 call delete('Xautofile') |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2426 call delete('Xautoscript') |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2427 endfunc |
9ada26920941
patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Bram Moolenaar <Bram@vim.org>
parents:
29438
diff
changeset
|
2428 |
16217
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2429 func Test_autocmd_once() |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2430 " Without ++once WinNew triggers twice |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2431 let g:did_split = 0 |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2432 augroup Testing |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2433 au WinNew * let g:did_split += 1 |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2434 augroup END |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2435 split |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2436 split |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2437 call assert_equal(2, g:did_split) |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2438 call assert_true(exists('#WinNew')) |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2439 close |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2440 close |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2441 |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2442 " With ++once WinNew triggers once |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2443 let g:did_split = 0 |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2444 augroup Testing |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2445 au! |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2446 au WinNew * ++once let g:did_split += 1 |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2447 augroup END |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2448 split |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2449 split |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2450 call assert_equal(1, g:did_split) |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2451 call assert_false(exists('#WinNew')) |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2452 close |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2453 close |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2454 |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2455 call assert_fails('au WinNew * ++once ++once echo bad', 'E983:') |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2456 endfunc |
81e6940504e8
patch 8.1.1113: making an autocommand trigger once is not so easy
Bram Moolenaar <Bram@vim.org>
parents:
15725
diff
changeset
|
2457 |
16401
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2458 func Test_autocmd_bufreadpre() |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2459 new |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2460 let b:bufreadpre = 1 |
19752
0927df746554
patch 8.2.0432: a few tests fail in a huge terminal
Bram Moolenaar <Bram@vim.org>
parents:
19699
diff
changeset
|
2461 call append(0, range(1000)) |
16401
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2462 w! XAutocmdBufReadPre.txt |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2463 autocmd BufReadPre <buffer> :let b:bufreadpre += 1 |
19752
0927df746554
patch 8.2.0432: a few tests fail in a huge terminal
Bram Moolenaar <Bram@vim.org>
parents:
19699
diff
changeset
|
2464 norm! 500gg |
16401
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2465 sp |
19752
0927df746554
patch 8.2.0432: a few tests fail in a huge terminal
Bram Moolenaar <Bram@vim.org>
parents:
19699
diff
changeset
|
2466 norm! 1000gg |
16401
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2467 wincmd p |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2468 let g:wsv1 = winsaveview() |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2469 wincmd p |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2470 let g:wsv2 = winsaveview() |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2471 " triggers BufReadPre, should not move the cursor in either window |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2472 " The topline may change one line in a large window. |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2473 edit |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2474 call assert_inrange(g:wsv2.topline - 1, g:wsv2.topline + 1, winsaveview().topline) |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2475 call assert_equal(g:wsv2.lnum, winsaveview().lnum) |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2476 call assert_equal(2, b:bufreadpre) |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2477 wincmd p |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2478 call assert_equal(g:wsv1.topline, winsaveview().topline) |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2479 call assert_equal(g:wsv1.lnum, winsaveview().lnum) |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2480 call assert_equal(2, b:bufreadpre) |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2481 " Now set the cursor position in an BufReadPre autocommand |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2482 " (even though the position will be invalid, this should make Vim reset the |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2483 " cursor position in the other window. |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2484 wincmd p |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2485 set cpo+=g |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2486 " won't do anything, but try to set the cursor on an invalid lnum |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2487 autocmd BufReadPre <buffer> :norm! 70gg |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2488 " triggers BufReadPre, should not move the cursor in either window |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2489 e |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2490 call assert_equal(1, winsaveview().topline) |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2491 call assert_equal(1, winsaveview().lnum) |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2492 call assert_equal(3, b:bufreadpre) |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2493 wincmd p |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2494 call assert_equal(g:wsv1.topline, winsaveview().topline) |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2495 call assert_equal(g:wsv1.lnum, winsaveview().lnum) |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2496 call assert_equal(3, b:bufreadpre) |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2497 close |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2498 close |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2499 call delete('XAutocmdBufReadPre.txt') |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2500 set cpo-=g |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2501 endfunc |
3b2db762a509
patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Bram Moolenaar <Bram@vim.org>
parents:
16397
diff
changeset
|
2502 |
15615
536fca2cee19
patch 8.1.0815: dialog for file changed outside of Vim not tested
Bram Moolenaar <Bram@vim.org>
parents:
15611
diff
changeset
|
2503 " FileChangedShell tested in test_filechanged.vim |
16397
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2504 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2505 " Tests for the following autocommands: |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2506 " - FileWritePre writing a compressed file |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2507 " - FileReadPost reading a compressed file |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2508 " - BufNewFile reading a file template |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2509 " - BufReadPre decompressing the file to be read |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2510 " - FilterReadPre substituting characters in the temp file |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2511 " - FilterReadPost substituting characters after filtering |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2512 " - FileReadPre set options for decompression |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2513 " - FileReadPost decompress the file |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2514 func Test_ReadWrite_Autocmds() |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2515 " Run this test only on Unix-like systems and if gzip is available |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21638
diff
changeset
|
2516 CheckUnix |
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21638
diff
changeset
|
2517 CheckExecutable gzip |
16397
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2518 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2519 " Make $GZIP empty, "-v" would cause trouble. |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2520 let $GZIP = "" |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2521 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2522 " Use a FileChangedShell autocommand to avoid a prompt for 'Xtestfile.gz' |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2523 " being modified outside of Vim (noticed on Solaris). |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2524 au FileChangedShell * echo 'caught FileChangedShell' |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2525 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2526 " Test for the FileReadPost, FileWritePre and FileWritePost autocmds |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2527 augroup Test1 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2528 au! |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2529 au FileWritePre *.gz '[,']!gzip |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2530 au FileWritePost *.gz undo |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2531 au FileReadPost *.gz '[,']!gzip -d |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2532 augroup END |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2533 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2534 new |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2535 set bin |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2536 call append(0, [ |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2537 \ 'line 2 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2538 \ 'line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2539 \ 'line 4 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2540 \ 'line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2541 \ 'line 6 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2542 \ 'line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2543 \ 'line 8 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2544 \ 'line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2545 \ 'line 10 Abcdefghijklmnopqrstuvwxyz' |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2546 \ ]) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2547 1,9write! Xtestfile.gz |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2548 enew! | close |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2549 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2550 new |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2551 " Read and decompress the testfile |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2552 0read Xtestfile.gz |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2553 call assert_equal([ |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2554 \ 'line 2 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2555 \ 'line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2556 \ 'line 4 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2557 \ 'line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2558 \ 'line 6 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2559 \ 'line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2560 \ 'line 8 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2561 \ 'line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2562 \ 'line 10 Abcdefghijklmnopqrstuvwxyz' |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2563 \ ], getline(1, 9)) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2564 enew! | close |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2565 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2566 augroup Test1 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2567 au! |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2568 augroup END |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2569 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2570 " Test for the FileAppendPre and FileAppendPost autocmds |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2571 augroup Test2 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2572 au! |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2573 au BufNewFile *.c read Xtest.c |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2574 au FileAppendPre *.out '[,']s/new/NEW/ |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2575 au FileAppendPost *.out !cat Xtest.c >> test.out |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2576 augroup END |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2577 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2578 call writefile(['/*', ' * Here is a new .c file', ' */'], 'Xtest.c') |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2579 new foo.c " should load Xtest.c |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2580 call assert_equal(['/*', ' * Here is a new .c file', ' */'], getline(2, 4)) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2581 w! >> test.out " append it to the output file |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2582 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2583 let contents = readfile('test.out') |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2584 call assert_equal(' * Here is a NEW .c file', contents[2]) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2585 call assert_equal(' * Here is a new .c file', contents[5]) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2586 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2587 call delete('test.out') |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2588 enew! | close |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2589 augroup Test2 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2590 au! |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2591 augroup END |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2592 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2593 " Test for the BufReadPre and BufReadPost autocmds |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2594 augroup Test3 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2595 au! |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2596 " setup autocommands to decompress before reading and re-compress |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2597 " afterwards |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2598 au BufReadPre *.gz exe '!gzip -d ' . shellescape(expand("<afile>")) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2599 au BufReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>")) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2600 au BufReadPost *.gz call rename(expand("<afile>"), expand("<afile>:r")) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2601 au BufReadPost *.gz exe '!gzip ' . shellescape(expand("<afile>:r")) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2602 augroup END |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2603 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2604 e! Xtestfile.gz " Edit compressed file |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2605 call assert_equal([ |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2606 \ 'line 2 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2607 \ 'line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2608 \ 'line 4 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2609 \ 'line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2610 \ 'line 6 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2611 \ 'line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2612 \ 'line 8 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2613 \ 'line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2614 \ 'line 10 Abcdefghijklmnopqrstuvwxyz' |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2615 \ ], getline(1, 9)) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2616 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2617 w! >> test.out " Append it to the output file |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2618 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2619 augroup Test3 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2620 au! |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2621 augroup END |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2622 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2623 " Test for the FilterReadPre and FilterReadPost autocmds. |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2624 set shelltemp " need temp files here |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2625 augroup Test4 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2626 au! |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2627 au FilterReadPre *.out call rename(expand("<afile>"), expand("<afile>") . ".t") |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2628 au FilterReadPre *.out exe 'silent !sed s/e/E/ ' . shellescape(expand("<afile>")) . ".t >" . shellescape(expand("<afile>")) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2629 au FilterReadPre *.out exe 'silent !rm ' . shellescape(expand("<afile>")) . '.t' |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2630 au FilterReadPost *.out '[,']s/x/X/g |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2631 augroup END |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2632 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2633 e! test.out " Edit the output file |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2634 1,$!cat |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2635 call assert_equal([ |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2636 \ 'linE 2 AbcdefghijklmnopqrstuvwXyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2637 \ 'linE 3 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2638 \ 'linE 4 AbcdefghijklmnopqrstuvwXyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2639 \ 'linE 5 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2640 \ 'linE 6 AbcdefghijklmnopqrstuvwXyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2641 \ 'linE 7 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2642 \ 'linE 8 AbcdefghijklmnopqrstuvwXyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2643 \ 'linE 9 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2644 \ 'linE 10 AbcdefghijklmnopqrstuvwXyz' |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2645 \ ], getline(1, 9)) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2646 call assert_equal([ |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2647 \ 'line 2 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2648 \ 'line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2649 \ 'line 4 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2650 \ 'line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2651 \ 'line 6 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2652 \ 'line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2653 \ 'line 8 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2654 \ 'line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2655 \ 'line 10 Abcdefghijklmnopqrstuvwxyz' |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2656 \ ], readfile('test.out')) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2657 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2658 augroup Test4 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2659 au! |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2660 augroup END |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2661 set shelltemp&vim |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2662 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2663 " Test for the FileReadPre and FileReadPost autocmds. |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2664 augroup Test5 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2665 au! |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2666 au FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>")) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2667 au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>")) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2668 au FileReadPost *.gz '[,']s/l/L/ |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2669 augroup END |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2670 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2671 new |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2672 0r Xtestfile.gz " Read compressed file |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2673 call assert_equal([ |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2674 \ 'Line 2 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2675 \ 'Line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2676 \ 'Line 4 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2677 \ 'Line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2678 \ 'Line 6 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2679 \ 'Line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2680 \ 'Line 8 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2681 \ 'Line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2682 \ 'Line 10 Abcdefghijklmnopqrstuvwxyz' |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2683 \ ], getline(1, 9)) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2684 call assert_equal([ |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2685 \ 'line 2 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2686 \ 'line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2687 \ 'line 4 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2688 \ 'line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2689 \ 'line 6 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2690 \ 'line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2691 \ 'line 8 Abcdefghijklmnopqrstuvwxyz', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2692 \ 'line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2693 \ 'line 10 Abcdefghijklmnopqrstuvwxyz' |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2694 \ ], readfile('Xtestfile.gz')) |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2695 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2696 augroup Test5 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2697 au! |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2698 augroup END |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2699 |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2700 au! FileChangedShell |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2701 call delete('Xtestfile.gz') |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2702 call delete('Xtest.c') |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2703 call delete('test.out') |
7a942d92980d
patch 8.1.1203: some autocmd tests are old style
Bram Moolenaar <Bram@vim.org>
parents:
16217
diff
changeset
|
2704 endfunc |
16617
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2705 |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2706 func Test_throw_in_BufWritePre() |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2707 new |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2708 call setline(1, ['one', 'two', 'three']) |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2709 call assert_false(filereadable('Xthefile')) |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2710 augroup throwing |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2711 au BufWritePre X* throw 'do not write' |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2712 augroup END |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2713 try |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2714 w Xthefile |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2715 catch |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2716 let caught = 1 |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2717 endtry |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2718 call assert_equal(1, caught) |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2719 call assert_false(filereadable('Xthefile')) |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2720 |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2721 bwipe! |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2722 au! throwing |
24233eeaadd0
patch 8.1.1311: aborting an autocmd with an exception is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16401
diff
changeset
|
2723 endfunc |
18144
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2724 |
25838
15fe946b1a41
patch 8.2.3453: autocmd not executed when editing a directory
Bram Moolenaar <Bram@vim.org>
parents:
25521
diff
changeset
|
2725 func Test_autocmd_in_try_block() |
29970
d891115c0aea
patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29950
diff
changeset
|
2726 call mkdir('Xintrydir') |
25838
15fe946b1a41
patch 8.2.3453: autocmd not executed when editing a directory
Bram Moolenaar <Bram@vim.org>
parents:
25521
diff
changeset
|
2727 au BufEnter * let g:fname = expand('%') |
15fe946b1a41
patch 8.2.3453: autocmd not executed when editing a directory
Bram Moolenaar <Bram@vim.org>
parents:
25521
diff
changeset
|
2728 try |
29970
d891115c0aea
patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29950
diff
changeset
|
2729 edit Xintrydir/ |
25838
15fe946b1a41
patch 8.2.3453: autocmd not executed when editing a directory
Bram Moolenaar <Bram@vim.org>
parents:
25521
diff
changeset
|
2730 endtry |
29970
d891115c0aea
patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29950
diff
changeset
|
2731 call assert_match('Xintrydir', g:fname) |
25838
15fe946b1a41
patch 8.2.3453: autocmd not executed when editing a directory
Bram Moolenaar <Bram@vim.org>
parents:
25521
diff
changeset
|
2732 |
15fe946b1a41
patch 8.2.3453: autocmd not executed when editing a directory
Bram Moolenaar <Bram@vim.org>
parents:
25521
diff
changeset
|
2733 unlet g:fname |
15fe946b1a41
patch 8.2.3453: autocmd not executed when editing a directory
Bram Moolenaar <Bram@vim.org>
parents:
25521
diff
changeset
|
2734 au! BufEnter |
29970
d891115c0aea
patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29950
diff
changeset
|
2735 call delete('Xintrydir', 'rf') |
25838
15fe946b1a41
patch 8.2.3453: autocmd not executed when editing a directory
Bram Moolenaar <Bram@vim.org>
parents:
25521
diff
changeset
|
2736 endfunc |
15fe946b1a41
patch 8.2.3453: autocmd not executed when editing a directory
Bram Moolenaar <Bram@vim.org>
parents:
25521
diff
changeset
|
2737 |
18144
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2738 func Test_autocmd_SafeState() |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2739 CheckRunVimInTerminal |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2740 |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2741 let lines =<< trim END |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2742 let g:safe = 0 |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2743 let g:again = '' |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2744 au SafeState * let g:safe += 1 |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2745 au SafeStateAgain * let g:again ..= 'x' |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2746 func CallTimer() |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2747 call timer_start(10, {id -> execute('let g:again ..= "t"')}) |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2748 endfunc |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2749 END |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2750 call writefile(lines, 'XSafeState') |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2751 let buf = RunVimInTerminal('-S XSafeState', #{rows: 6}) |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2752 |
23229
b545334ae654
patch 8.2.2160: various typos
Bram Moolenaar <Bram@vim.org>
parents:
23027
diff
changeset
|
2753 " Sometimes we loop to handle a K_IGNORE, SafeState may be triggered once or |
19505
e7eec9cae0ea
patch 8.2.0310: autocmd test fails on a slow system
Bram Moolenaar <Bram@vim.org>
parents:
19491
diff
changeset
|
2754 " more often. |
18144
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2755 call term_sendkeys(buf, ":echo g:safe\<CR>") |
19505
e7eec9cae0ea
patch 8.2.0310: autocmd test fails on a slow system
Bram Moolenaar <Bram@vim.org>
parents:
19491
diff
changeset
|
2756 call WaitForAssert({-> assert_match('^\d ', term_getline(buf, 6))}, 1000) |
18144
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2757 |
19505
e7eec9cae0ea
patch 8.2.0310: autocmd test fails on a slow system
Bram Moolenaar <Bram@vim.org>
parents:
19491
diff
changeset
|
2758 " SafeStateAgain should be invoked at least three times |
18144
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2759 call term_sendkeys(buf, ":echo g:again\<CR>") |
19505
e7eec9cae0ea
patch 8.2.0310: autocmd test fails on a slow system
Bram Moolenaar <Bram@vim.org>
parents:
19491
diff
changeset
|
2760 call WaitForAssert({-> assert_match('^xxx', term_getline(buf, 6))}, 1000) |
18144
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2761 |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2762 call term_sendkeys(buf, ":let g:again = ''\<CR>:call CallTimer()\<CR>") |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19932
diff
changeset
|
2763 call TermWait(buf, 50) |
18148
f7d9f8fe70be
patch 8.1.2069: test for SafeStateAgain may still fail
Bram Moolenaar <Bram@vim.org>
parents:
18146
diff
changeset
|
2764 call term_sendkeys(buf, ":\<CR>") |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19932
diff
changeset
|
2765 call TermWait(buf, 50) |
18144
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2766 call term_sendkeys(buf, ":echo g:again\<CR>") |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2767 call WaitForAssert({-> assert_match('xtx', term_getline(buf, 6))}, 1000) |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2768 |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2769 call StopVimInTerminal(buf) |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2770 call delete('XSafeState') |
95719bfeced2
patch 8.1.2067: no tests for SafeState and SafeStateAgain
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2771 endfunc |
18227
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2772 |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2773 func Test_autocmd_CmdWinEnter() |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2774 CheckRunVimInTerminal |
23748
93f90f2ff4e9
patch 8.2.2415: no way to check for the cmdwin feature
Bram Moolenaar <Bram@vim.org>
parents:
23634
diff
changeset
|
2775 CheckFeature cmdwin |
93f90f2ff4e9
patch 8.2.2415: no way to check for the cmdwin feature
Bram Moolenaar <Bram@vim.org>
parents:
23634
diff
changeset
|
2776 |
18227
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2777 let lines =<< trim END |
26153
44fe7d15881d
patch 8.2.3608: users who type "q:" instead of ":q" are confused
Bram Moolenaar <Bram@vim.org>
parents:
26117
diff
changeset
|
2778 augroup vimHints | au! | augroup END |
18227
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2779 let b:dummy_var = 'This is a dummy' |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2780 autocmd CmdWinEnter * quit |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2781 let winnr = winnr('$') |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2782 END |
23278
51b1a7e3e4ab
patch 8.2.2185: BufUnload is not triggered for the quickfix dummy buffer
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
2783 let filename = 'XCmdWinEnter' |
18227
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2784 call writefile(lines, filename) |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2785 let buf = RunVimInTerminal('-S '.filename, #{rows: 6}) |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2786 |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2787 call term_sendkeys(buf, "q:") |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19932
diff
changeset
|
2788 call TermWait(buf) |
18227
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2789 call term_sendkeys(buf, ":echo b:dummy_var\<cr>") |
19651
283c8bc6a8e2
patch 8.2.0382: some tests fail when run under valgrind
Bram Moolenaar <Bram@vim.org>
parents:
19505
diff
changeset
|
2790 call WaitForAssert({-> assert_match('^This is a dummy', term_getline(buf, 6))}, 2000) |
18227
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2791 call term_sendkeys(buf, ":echo &buftype\<cr>") |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2792 call WaitForAssert({-> assert_notmatch('^nofile', term_getline(buf, 6))}, 1000) |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2793 call term_sendkeys(buf, ":echo winnr\<cr>") |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2794 call WaitForAssert({-> assert_match('^1', term_getline(buf, 6))}, 1000) |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2795 |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2796 " clean up |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2797 call StopVimInTerminal(buf) |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2798 call delete(filename) |
7d90fa3e5f8d
patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Bram Moolenaar <Bram@vim.org>
parents:
18148
diff
changeset
|
2799 endfunc |
18283
0cb608fc9c60
patch 8.1.2136: using freed memory with autocmd from fuzzer
Bram Moolenaar <Bram@vim.org>
parents:
18227
diff
changeset
|
2800 |
0cb608fc9c60
patch 8.1.2136: using freed memory with autocmd from fuzzer
Bram Moolenaar <Bram@vim.org>
parents:
18227
diff
changeset
|
2801 func Test_autocmd_was_using_freed_memory() |
18767
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18619
diff
changeset
|
2802 CheckFeature quickfix |
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18619
diff
changeset
|
2803 |
18283
0cb608fc9c60
patch 8.1.2136: using freed memory with autocmd from fuzzer
Bram Moolenaar <Bram@vim.org>
parents:
18227
diff
changeset
|
2804 pedit xx |
0cb608fc9c60
patch 8.1.2136: using freed memory with autocmd from fuzzer
Bram Moolenaar <Bram@vim.org>
parents:
18227
diff
changeset
|
2805 n x |
23847
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
2806 augroup winenter |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
2807 au WinEnter * if winnr('$') > 2 | quit | endif |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
2808 augroup END |
18283
0cb608fc9c60
patch 8.1.2136: using freed memory with autocmd from fuzzer
Bram Moolenaar <Bram@vim.org>
parents:
18227
diff
changeset
|
2809 split |
23847
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
2810 |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
2811 augroup winenter |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
2812 au! WinEnter |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
2813 augroup END |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
2814 |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
2815 bwipe xx |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
2816 bwipe x |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
2817 pclose |
18283
0cb608fc9c60
patch 8.1.2136: using freed memory with autocmd from fuzzer
Bram Moolenaar <Bram@vim.org>
parents:
18227
diff
changeset
|
2818 endfunc |
18619
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2819 |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2820 func Test_BufWrite_lockmarks() |
25969
a5a772dace5b
patch 8.2.3518: Test_xrestore sometimes fails
Bram Moolenaar <Bram@vim.org>
parents:
25967
diff
changeset
|
2821 let g:test_is_flaky = 1 |
18619
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2822 edit! Xtest |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2823 call setline(1, ['a', 'b', 'c', 'd']) |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2824 |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2825 " :lockmarks preserves the marks |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2826 call SetChangeMarks(2, 3) |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2827 lockmarks write |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2828 call assert_equal([2, 3], [line("'["), line("']")]) |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2829 |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2830 " *WritePre autocmds get the correct line range, but lockmarks preserves the |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2831 " original values for the user |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2832 augroup lockmarks |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2833 au! |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2834 au BufWritePre,FilterWritePre * call assert_equal([1, 4], [line("'["), line("']")]) |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2835 au FileWritePre * call assert_equal([3, 4], [line("'["), line("']")]) |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2836 augroup END |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2837 |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2838 lockmarks write |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2839 call assert_equal([2, 3], [line("'["), line("']")]) |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2840 |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2841 if executable('cat') |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2842 lockmarks %!cat |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2843 call assert_equal([2, 3], [line("'["), line("']")]) |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2844 endif |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2845 |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2846 lockmarks 3,4write Xtest2 |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2847 call assert_equal([2, 3], [line("'["), line("']")]) |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2848 |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2849 au! lockmarks |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2850 augroup! lockmarks |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2851 call delete('Xtest') |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2852 call delete('Xtest2') |
788d76db02ac
patch 8.1.2302: :lockmarks does not work for '[ and ']
Bram Moolenaar <Bram@vim.org>
parents:
18592
diff
changeset
|
2853 endfunc |
19073
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2854 |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2855 func Test_FileType_spell() |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2856 if !isdirectory('/tmp') |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2857 throw "Skipped: requires /tmp directory" |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2858 endif |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2859 |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2860 " this was crashing with an invalid free() |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2861 setglobal spellfile=/tmp/en.utf-8.add |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2862 augroup crash |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2863 autocmd! |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2864 autocmd BufNewFile,BufReadPost crashfile setf somefiletype |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2865 autocmd BufNewFile,BufReadPost crashfile set ft=anotherfiletype |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2866 autocmd FileType anotherfiletype setlocal spell |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2867 augroup END |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2868 func! NoCrash() abort |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2869 edit /tmp/crashfile |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2870 endfunc |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2871 call NoCrash() |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2872 |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2873 au! crash |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2874 setglobal spellfile= |
45eb6f37692e
patch 8.2.0097: crash with autocommand and spellfile
Bram Moolenaar <Bram@vim.org>
parents:
18832
diff
changeset
|
2875 endfunc |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19073
diff
changeset
|
2876 |
19435
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2877 " Test closing a window or editing another buffer from a FileChangedRO handler |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2878 " in a readonly buffer |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2879 func Test_FileChangedRO_winclose() |
22576
170077e26bde
patch 8.2.1836: autocmd test fails on pacifist systems
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
2880 call test_override('ui_delay', 10) |
170077e26bde
patch 8.2.1836: autocmd test fails on pacifist systems
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
2881 |
19435
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2882 augroup FileChangedROTest |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2883 au! |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2884 autocmd FileChangedRO * quit |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2885 augroup END |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2886 new |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2887 set readonly |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2888 call assert_fails('normal i', 'E788:') |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2889 close |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2890 augroup! FileChangedROTest |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2891 |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2892 augroup FileChangedROTest |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2893 au! |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2894 autocmd FileChangedRO * edit Xfile |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2895 augroup END |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2896 new |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2897 set readonly |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2898 call assert_fails('normal i', 'E788:') |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2899 close |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2900 augroup! FileChangedROTest |
22576
170077e26bde
patch 8.2.1836: autocmd test fails on pacifist systems
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
2901 call test_override('ALL', 0) |
19435
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2902 endfunc |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
2903 |
19489
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2904 func LogACmd() |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2905 call add(g:logged, line('$')) |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2906 endfunc |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2907 |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2908 func Test_TermChanged() |
19491
7803c6e82a87
patch 8.2.0303: TermChanged test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
19489
diff
changeset
|
2909 CheckNotGui |
7803c6e82a87
patch 8.2.0303: TermChanged test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
19489
diff
changeset
|
2910 |
19489
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2911 enew! |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2912 tabnew |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2913 call setline(1, ['a', 'b', 'c', 'd']) |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2914 $ |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2915 au TermChanged * call LogACmd() |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2916 let g:logged = [] |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2917 let term_save = &term |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2918 set term=xterm |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2919 call assert_equal([1, 4], g:logged) |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2920 |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2921 au! TermChanged |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2922 let &term = term_save |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2923 bwipe! |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2924 endfunc |
31ac050a29a7
patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
2925 |
19699
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2926 " Test for FileReadCmd autocmd |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2927 func Test_autocmd_FileReadCmd() |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2928 func ReadFileCmd() |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2929 call append(line('$'), "v:cmdarg = " .. v:cmdarg) |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2930 endfunc |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2931 augroup FileReadCmdTest |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2932 au! |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2933 au FileReadCmd Xtest call ReadFileCmd() |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2934 augroup END |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2935 |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2936 new |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2937 read ++bin Xtest |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2938 read ++nobin Xtest |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2939 read ++edit Xtest |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2940 read ++bad=keep Xtest |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2941 read ++bad=drop Xtest |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2942 read ++bad=- Xtest |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2943 read ++ff=unix Xtest |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2944 read ++ff=dos Xtest |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2945 read ++ff=mac Xtest |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2946 read ++enc=utf-8 Xtest |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2947 |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2948 call assert_equal(['', |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2949 \ 'v:cmdarg = ++bin', |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2950 \ 'v:cmdarg = ++nobin', |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2951 \ 'v:cmdarg = ++edit', |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2952 \ 'v:cmdarg = ++bad=keep', |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2953 \ 'v:cmdarg = ++bad=drop', |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2954 \ 'v:cmdarg = ++bad=-', |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2955 \ 'v:cmdarg = ++ff=unix', |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2956 \ 'v:cmdarg = ++ff=dos', |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2957 \ 'v:cmdarg = ++ff=mac', |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2958 \ 'v:cmdarg = ++enc=utf-8'], getline(1, '$')) |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2959 |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2960 close! |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2961 augroup FileReadCmdTest |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2962 au! |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2963 augroup END |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2964 delfunc ReadFileCmd |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2965 endfunc |
4e9c794c3af1
patch 8.2.0406: FileReadCmd event not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19691
diff
changeset
|
2966 |
19932
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2967 " Test for passing invalid arguments to autocmd |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2968 func Test_autocmd_invalid_args() |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2969 " Additional character after * for event |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2970 call assert_fails('autocmd *a Xfile set ff=unix', 'E215:') |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2971 augroup Test |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2972 augroup END |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2973 " Invalid autocmd event |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2974 call assert_fails('autocmd Bufabc Xfile set ft=vim', 'E216:') |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2975 " Invalid autocmd event in a autocmd group |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2976 call assert_fails('autocmd Test Bufabc Xfile set ft=vim', 'E216:') |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2977 augroup! Test |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2978 " Execute all autocmds |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2979 call assert_fails('doautocmd * BufEnter', 'E217:') |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2980 call assert_fails('augroup! x1a2b3', 'E367:') |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2981 call assert_fails('autocmd BufNew <buffer=999> pwd', 'E680:') |
22375
595ea7f099cd
patch 8.2.1736: failure to compile a pattern not tested much
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2982 call assert_fails('autocmd BufNew \) set ff=unix', 'E55:') |
19932
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2983 endfunc |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2984 |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2985 " Test for deep nesting of autocmds |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2986 func Test_autocmd_deep_nesting() |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2987 autocmd BufEnter Xfile doautocmd BufEnter Xfile |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2988 call assert_fails('doautocmd BufEnter Xfile', 'E218:') |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2989 autocmd! BufEnter Xfile |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2990 endfunc |
2c4d9ca33769
patch 8.2.0522: several errors are not tested for
Bram Moolenaar <Bram@vim.org>
parents:
19836
diff
changeset
|
2991 |
20800
e76b83c07bd8
patch 8.2.0952: no simple way to interrupt Vim
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
2992 " Tests for SigUSR1 autocmd event, which is only available on posix systems. |
e76b83c07bd8
patch 8.2.0952: no simple way to interrupt Vim
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
2993 func Test_autocmd_sigusr1() |
e76b83c07bd8
patch 8.2.0952: no simple way to interrupt Vim
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
2994 CheckUnix |
22576
170077e26bde
patch 8.2.1836: autocmd test fails on pacifist systems
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
2995 CheckExecutable /bin/kill |
20800
e76b83c07bd8
patch 8.2.0952: no simple way to interrupt Vim
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
2996 |
e76b83c07bd8
patch 8.2.0952: no simple way to interrupt Vim
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
2997 let g:sigusr1_passed = 0 |
e76b83c07bd8
patch 8.2.0952: no simple way to interrupt Vim
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
2998 au SigUSR1 * let g:sigusr1_passed = 1 |
e76b83c07bd8
patch 8.2.0952: no simple way to interrupt Vim
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
2999 call system('/bin/kill -s usr1 ' . getpid()) |
e76b83c07bd8
patch 8.2.0952: no simple way to interrupt Vim
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
3000 call WaitForAssert({-> assert_true(g:sigusr1_passed)}) |
e76b83c07bd8
patch 8.2.0952: no simple way to interrupt Vim
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
3001 |
e76b83c07bd8
patch 8.2.0952: no simple way to interrupt Vim
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
3002 au! SigUSR1 |
e76b83c07bd8
patch 8.2.0952: no simple way to interrupt Vim
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
3003 unlet g:sigusr1_passed |
e76b83c07bd8
patch 8.2.0952: no simple way to interrupt Vim
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
3004 endfunc |
e76b83c07bd8
patch 8.2.0952: no simple way to interrupt Vim
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
3005 |
20861
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3006 " Test for BufReadPre autocmd deleting the file |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3007 func Test_BufReadPre_delfile() |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3008 augroup TestAuCmd |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3009 au! |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
3010 autocmd BufReadPre XbufreadPre call delete('XbufreadPre') |
20861
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3011 augroup END |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
3012 call writefile([], 'XbufreadPre') |
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
3013 call assert_fails('new XbufreadPre', 'E200:') |
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
3014 call assert_equal('XbufreadPre', @%) |
20861
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3015 call assert_equal(1, &readonly) |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
3016 call delete('XbufreadPre') |
20861
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3017 augroup TestAuCmd |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3018 au! |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3019 augroup END |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3020 close! |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3021 endfunc |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3022 |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3023 " Test for BufReadPre autocmd changing the current buffer |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3024 func Test_BufReadPre_changebuf() |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3025 augroup TestAuCmd |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3026 au! |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
3027 autocmd BufReadPre Xchangebuf edit Xsomeotherfile |
20861
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3028 augroup END |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
3029 call writefile([], 'Xchangebuf') |
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
3030 call assert_fails('new Xchangebuf', 'E201:') |
20861
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3031 call assert_equal('Xsomeotherfile', @%) |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3032 call assert_equal(1, &readonly) |
29950
c8b1a683323c
patch 9.0.0313: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents:
29932
diff
changeset
|
3033 call delete('Xchangebuf') |
20861
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3034 augroup TestAuCmd |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3035 au! |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3036 augroup END |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3037 close! |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3038 endfunc |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3039 |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3040 " Test for BufWipeouti autocmd changing the current buffer when reading a file |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3041 " in an empty buffer with 'f' flag in 'cpo' |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3042 func Test_BufDelete_changebuf() |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3043 new |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3044 augroup TestAuCmd |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3045 au! |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3046 autocmd BufWipeout * let bufnr = bufadd('somefile') | exe "b " .. bufnr |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3047 augroup END |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3048 let save_cpo = &cpo |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3049 set cpo+=f |
21265
6a4806e326dd
patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents:
21016
diff
changeset
|
3050 call assert_fails('r Xfile', ['E812:', 'E484:']) |
20861
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3051 call assert_equal('somefile', @%) |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3052 let &cpo = save_cpo |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3053 augroup TestAuCmd |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3054 au! |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3055 augroup END |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3056 close! |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3057 endfunc |
1725bb56178a
patch 8.2.0982: insufficient testing for reading/writing files
Bram Moolenaar <Bram@vim.org>
parents:
20824
diff
changeset
|
3058 |
20879
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3059 " Test for the temporary internal window used to execute autocmds |
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3060 func Test_autocmd_window() |
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3061 %bw! |
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3062 edit one.txt |
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3063 tabnew two.txt |
24110
03438d77d8ab
patch 8.2.2596: :doautocmd may confuse scripts listening to WinEnter
Bram Moolenaar <Bram@vim.org>
parents:
23871
diff
changeset
|
3064 vnew three.txt |
03438d77d8ab
patch 8.2.2596: :doautocmd may confuse scripts listening to WinEnter
Bram Moolenaar <Bram@vim.org>
parents:
23871
diff
changeset
|
3065 tabnew four.txt |
03438d77d8ab
patch 8.2.2596: :doautocmd may confuse scripts listening to WinEnter
Bram Moolenaar <Bram@vim.org>
parents:
23871
diff
changeset
|
3066 tabprevious |
20879
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3067 let g:blist = [] |
21004
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3068 augroup aucmd_win_test1 |
20879
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3069 au! |
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3070 au BufEnter * call add(g:blist, [expand('<afile>'), |
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3071 \ win_gettype(bufwinnr(expand('<afile>')))]) |
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3072 augroup END |
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3073 |
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3074 doautoall BufEnter |
24110
03438d77d8ab
patch 8.2.2596: :doautocmd may confuse scripts listening to WinEnter
Bram Moolenaar <Bram@vim.org>
parents:
23871
diff
changeset
|
3075 call assert_equal([ |
03438d77d8ab
patch 8.2.2596: :doautocmd may confuse scripts listening to WinEnter
Bram Moolenaar <Bram@vim.org>
parents:
23871
diff
changeset
|
3076 \ ['one.txt', 'autocmd'], |
03438d77d8ab
patch 8.2.2596: :doautocmd may confuse scripts listening to WinEnter
Bram Moolenaar <Bram@vim.org>
parents:
23871
diff
changeset
|
3077 \ ['two.txt', ''], |
03438d77d8ab
patch 8.2.2596: :doautocmd may confuse scripts listening to WinEnter
Bram Moolenaar <Bram@vim.org>
parents:
23871
diff
changeset
|
3078 \ ['four.txt', 'autocmd'], |
03438d77d8ab
patch 8.2.2596: :doautocmd may confuse scripts listening to WinEnter
Bram Moolenaar <Bram@vim.org>
parents:
23871
diff
changeset
|
3079 \ ['three.txt', ''], |
03438d77d8ab
patch 8.2.2596: :doautocmd may confuse scripts listening to WinEnter
Bram Moolenaar <Bram@vim.org>
parents:
23871
diff
changeset
|
3080 \ ], g:blist) |
20879
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3081 |
21004
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3082 augroup aucmd_win_test1 |
20879
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3083 au! |
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3084 augroup END |
21004
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3085 augroup! aucmd_win_test1 |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3086 %bw! |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3087 endfunc |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3088 |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3089 " Test for trying to close the temporary window used for executing an autocmd |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3090 func Test_close_autocmd_window() |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3091 %bw! |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3092 edit one.txt |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3093 tabnew two.txt |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3094 augroup aucmd_win_test2 |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3095 au! |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3096 au BufEnter * if expand('<afile>') == 'one.txt' | 1close | endif |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3097 augroup END |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3098 |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3099 call assert_fails('doautoall BufEnter', 'E813:') |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3100 |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3101 augroup aucmd_win_test2 |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3102 au! |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3103 augroup END |
0650d220f742
patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'
Bram Moolenaar <Bram@vim.org>
parents:
20889
diff
changeset
|
3104 augroup! aucmd_win_test2 |
21016
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3105 %bwipe! |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3106 endfunc |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3107 |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3108 " Test for trying to close the tab that has the temporary window for exeucing |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3109 " an autocmd. |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3110 func Test_close_autocmd_tab() |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3111 edit one.txt |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3112 tabnew two.txt |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3113 augroup aucmd_win_test |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3114 au! |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3115 au BufEnter * if expand('<afile>') == 'one.txt' | tabfirst | tabonly | endif |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3116 augroup END |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3117 |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3118 call assert_fails('doautoall BufEnter', 'E813:') |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3119 |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3120 tabonly |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3121 augroup aucmd_win_test |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3122 au! |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3123 augroup END |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3124 augroup! aucmd_win_test |
0738c44504cb
patch 8.2.1059: crash when using :tabonly in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
21004
diff
changeset
|
3125 %bwipe! |
20879
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3126 endfunc |
0ab45b558621
patch 8.2.0991: cannot get window type for autocmd and preview window
Bram Moolenaar <Bram@vim.org>
parents:
20861
diff
changeset
|
3127 |
26998
b0ef52086d57
patch 8.2.4028: ml_get error with :doautoall and Visual area
Bram Moolenaar <Bram@vim.org>
parents:
26715
diff
changeset
|
3128 func Test_Visual_doautoall_redraw() |
b0ef52086d57
patch 8.2.4028: ml_get error with :doautoall and Visual area
Bram Moolenaar <Bram@vim.org>
parents:
26715
diff
changeset
|
3129 call setline(1, ['a', 'b']) |
b0ef52086d57
patch 8.2.4028: ml_get error with :doautoall and Visual area
Bram Moolenaar <Bram@vim.org>
parents:
26715
diff
changeset
|
3130 new |
b0ef52086d57
patch 8.2.4028: ml_get error with :doautoall and Visual area
Bram Moolenaar <Bram@vim.org>
parents:
26715
diff
changeset
|
3131 wincmd p |
b0ef52086d57
patch 8.2.4028: ml_get error with :doautoall and Visual area
Bram Moolenaar <Bram@vim.org>
parents:
26715
diff
changeset
|
3132 call feedkeys("G\<C-V>", 'txn') |
b0ef52086d57
patch 8.2.4028: ml_get error with :doautoall and Visual area
Bram Moolenaar <Bram@vim.org>
parents:
26715
diff
changeset
|
3133 autocmd User Explode ++once redraw |
b0ef52086d57
patch 8.2.4028: ml_get error with :doautoall and Visual area
Bram Moolenaar <Bram@vim.org>
parents:
26715
diff
changeset
|
3134 doautoall User Explode |
b0ef52086d57
patch 8.2.4028: ml_get error with :doautoall and Visual area
Bram Moolenaar <Bram@vim.org>
parents:
26715
diff
changeset
|
3135 %bwipe! |
b0ef52086d57
patch 8.2.4028: ml_get error with :doautoall and Visual area
Bram Moolenaar <Bram@vim.org>
parents:
26715
diff
changeset
|
3136 endfunc |
b0ef52086d57
patch 8.2.4028: ml_get error with :doautoall and Visual area
Bram Moolenaar <Bram@vim.org>
parents:
26715
diff
changeset
|
3137 |
23843
d97258eca25d
patch 8.2.2463: using :arglocal in an autocommand may use freed memory
Bram Moolenaar <Bram@vim.org>
parents:
23760
diff
changeset
|
3138 " This was using freed memory. |
d97258eca25d
patch 8.2.2463: using :arglocal in an autocommand may use freed memory
Bram Moolenaar <Bram@vim.org>
parents:
23760
diff
changeset
|
3139 func Test_BufNew_arglocal() |
d97258eca25d
patch 8.2.2463: using :arglocal in an autocommand may use freed memory
Bram Moolenaar <Bram@vim.org>
parents:
23760
diff
changeset
|
3140 arglocal |
d97258eca25d
patch 8.2.2463: using :arglocal in an autocommand may use freed memory
Bram Moolenaar <Bram@vim.org>
parents:
23760
diff
changeset
|
3141 au BufNew * arglocal |
d97258eca25d
patch 8.2.2463: using :arglocal in an autocommand may use freed memory
Bram Moolenaar <Bram@vim.org>
parents:
23760
diff
changeset
|
3142 call assert_fails('drop xx', 'E1156:') |
d97258eca25d
patch 8.2.2463: using :arglocal in an autocommand may use freed memory
Bram Moolenaar <Bram@vim.org>
parents:
23760
diff
changeset
|
3143 |
d97258eca25d
patch 8.2.2463: using :arglocal in an autocommand may use freed memory
Bram Moolenaar <Bram@vim.org>
parents:
23760
diff
changeset
|
3144 au! BufNew |
d97258eca25d
patch 8.2.2463: using :arglocal in an autocommand may use freed memory
Bram Moolenaar <Bram@vim.org>
parents:
23760
diff
changeset
|
3145 endfunc |
d97258eca25d
patch 8.2.2463: using :arglocal in an autocommand may use freed memory
Bram Moolenaar <Bram@vim.org>
parents:
23760
diff
changeset
|
3146 |
23845
7517eb94239b
patch 8.2.2464: using freed memory if window closed in autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23843
diff
changeset
|
3147 func Test_autocmd_closes_window() |
7517eb94239b
patch 8.2.2464: using freed memory if window closed in autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23843
diff
changeset
|
3148 au BufNew,BufWinLeave * e %e |
7517eb94239b
patch 8.2.2464: using freed memory if window closed in autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23843
diff
changeset
|
3149 file yyy |
7517eb94239b
patch 8.2.2464: using freed memory if window closed in autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23843
diff
changeset
|
3150 au BufNew,BufWinLeave * ball |
23861
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3151 n xxx |
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3152 |
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3153 %bwipe |
23845
7517eb94239b
patch 8.2.2464: using freed memory if window closed in autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23843
diff
changeset
|
3154 au! BufNew |
7517eb94239b
patch 8.2.2464: using freed memory if window closed in autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23843
diff
changeset
|
3155 au! BufWinLeave |
7517eb94239b
patch 8.2.2464: using freed memory if window closed in autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23843
diff
changeset
|
3156 endfunc |
7517eb94239b
patch 8.2.2464: using freed memory if window closed in autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23843
diff
changeset
|
3157 |
23847
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
3158 func Test_autocmd_quit_psearch() |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
3159 sn aa bb |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
3160 augroup aucmd_win_test |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
3161 au! |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
3162 au BufEnter,BufLeave,BufNew,WinEnter,WinLeave,WinNew * if winnr('$') > 1 | q | endif |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
3163 augroup END |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
3164 ps / |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
3165 |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
3166 augroup aucmd_win_test |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
3167 au! |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
3168 augroup END |
28556
ea98e79c9677
patch 8.2.4802: test is not cleaned up
Bram Moolenaar <Bram@vim.org>
parents:
28534
diff
changeset
|
3169 new |
ea98e79c9677
patch 8.2.4802: test is not cleaned up
Bram Moolenaar <Bram@vim.org>
parents:
28534
diff
changeset
|
3170 pclose |
23847
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
3171 endfunc |
b0e7fa957cd1
patch 8.2.2465: using freed memory in :psearch
Bram Moolenaar <Bram@vim.org>
parents:
23845
diff
changeset
|
3172 |
23861
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3173 " Fuzzer found some strange combination that caused a crash. |
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3174 func Test_autocmd_normal_mess() |
23871
533d6f1abbcf
patch 8.2.2477: autocommand tests hang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
23869
diff
changeset
|
3175 " For unknown reason this hangs on MS-Windows |
533d6f1abbcf
patch 8.2.2477: autocommand tests hang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
23869
diff
changeset
|
3176 CheckNotMSWindows |
533d6f1abbcf
patch 8.2.2477: autocommand tests hang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
23869
diff
changeset
|
3177 |
23861
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3178 augroup aucmd_normal_test |
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3179 au BufLeave,BufWinLeave,BufHidden,BufUnload,BufDelete,BufWipeout * norm 7q/qc |
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3180 augroup END |
23869
5a4f9c5c1b99
patch 8.2.2476: using freed memory when splitting window while closing buffer
Bram Moolenaar <Bram@vim.org>
parents:
23867
diff
changeset
|
3181 call assert_fails('o4', 'E1159') |
23861
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3182 silent! H |
23869
5a4f9c5c1b99
patch 8.2.2476: using freed memory when splitting window while closing buffer
Bram Moolenaar <Bram@vim.org>
parents:
23867
diff
changeset
|
3183 call assert_fails('e xx', 'E1159') |
23861
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3184 normal G |
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3185 |
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3186 augroup aucmd_normal_test |
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3187 au! |
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3188 augroup END |
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3189 endfunc |
5d11a15dbaa9
patch 8.2.2472: crash when using command line window in an autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23847
diff
changeset
|
3190 |
23863
a91f3147d06e
patch 8.2.2473: crash when leaving command line window triggers autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23861
diff
changeset
|
3191 func Test_autocmd_closing_cmdwin() |
23871
533d6f1abbcf
patch 8.2.2477: autocommand tests hang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
23869
diff
changeset
|
3192 " For unknown reason this hangs on MS-Windows |
533d6f1abbcf
patch 8.2.2477: autocommand tests hang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
23869
diff
changeset
|
3193 CheckNotMSWindows |
533d6f1abbcf
patch 8.2.2477: autocommand tests hang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
23869
diff
changeset
|
3194 |
23863
a91f3147d06e
patch 8.2.2473: crash when leaving command line window triggers autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23861
diff
changeset
|
3195 au BufWinLeave * nested q |
a91f3147d06e
patch 8.2.2473: crash when leaving command line window triggers autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23861
diff
changeset
|
3196 call assert_fails("norm 7q?\n", 'E855:') |
a91f3147d06e
patch 8.2.2473: crash when leaving command line window triggers autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23861
diff
changeset
|
3197 |
a91f3147d06e
patch 8.2.2473: crash when leaving command line window triggers autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23861
diff
changeset
|
3198 au! BufWinLeave |
a91f3147d06e
patch 8.2.2473: crash when leaving command line window triggers autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23861
diff
changeset
|
3199 new |
a91f3147d06e
patch 8.2.2473: crash when leaving command line window triggers autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23861
diff
changeset
|
3200 only |
a91f3147d06e
patch 8.2.2473: crash when leaving command line window triggers autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23861
diff
changeset
|
3201 endfunc |
a91f3147d06e
patch 8.2.2473: crash when leaving command line window triggers autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23861
diff
changeset
|
3202 |
23865
e1643a1aa1a0
patch 8.2.2474: using freed memory when window is closed by autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23863
diff
changeset
|
3203 func Test_autocmd_vimgrep() |
e1643a1aa1a0
patch 8.2.2474: using freed memory when window is closed by autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23863
diff
changeset
|
3204 augroup aucmd_vimgrep |
28534
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3205 au QuickfixCmdPre,BufNew,BufReadCmd * sb |
28556
ea98e79c9677
patch 8.2.4802: test is not cleaned up
Bram Moolenaar <Bram@vim.org>
parents:
28534
diff
changeset
|
3206 au QuickfixCmdPre,BufNew,BufReadCmd * q9 |
23865
e1643a1aa1a0
patch 8.2.2474: using freed memory when window is closed by autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23863
diff
changeset
|
3207 augroup END |
23871
533d6f1abbcf
patch 8.2.2477: autocommand tests hang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
23869
diff
changeset
|
3208 call assert_fails('lv ?a? foo', 'E926:') |
23865
e1643a1aa1a0
patch 8.2.2474: using freed memory when window is closed by autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23863
diff
changeset
|
3209 |
e1643a1aa1a0
patch 8.2.2474: using freed memory when window is closed by autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23863
diff
changeset
|
3210 augroup aucmd_vimgrep |
e1643a1aa1a0
patch 8.2.2474: using freed memory when window is closed by autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23863
diff
changeset
|
3211 au! |
e1643a1aa1a0
patch 8.2.2474: using freed memory when window is closed by autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23863
diff
changeset
|
3212 augroup END |
e1643a1aa1a0
patch 8.2.2474: using freed memory when window is closed by autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23863
diff
changeset
|
3213 endfunc |
e1643a1aa1a0
patch 8.2.2474: using freed memory when window is closed by autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23863
diff
changeset
|
3214 |
25463
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3215 func Test_autocmd_with_block() |
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3216 augroup block_testing |
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3217 au BufReadPost *.xml { |
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3218 setlocal matchpairs+=<:> |
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3219 /<start |
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3220 } |
25521
2063b858cad9
patch 8.2.3297: cannot use all commands inside a {} block
Bram Moolenaar <Bram@vim.org>
parents:
25463
diff
changeset
|
3221 au CursorHold * { |
2063b858cad9
patch 8.2.3297: cannot use all commands inside a {} block
Bram Moolenaar <Bram@vim.org>
parents:
25463
diff
changeset
|
3222 autocmd BufReadPre * ++once echo 'one' | echo 'two' |
2063b858cad9
patch 8.2.3297: cannot use all commands inside a {} block
Bram Moolenaar <Bram@vim.org>
parents:
25463
diff
changeset
|
3223 g:gotSafeState = 77 |
2063b858cad9
patch 8.2.3297: cannot use all commands inside a {} block
Bram Moolenaar <Bram@vim.org>
parents:
25463
diff
changeset
|
3224 } |
25463
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3225 augroup END |
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3226 |
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3227 let expected = "\n--- Autocommands ---\nblock_testing BufRead\n *.xml {^@ setlocal matchpairs+=<:>^@ /<start^@ }" |
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3228 call assert_equal(expected, execute('au BufReadPost *.xml')) |
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3229 |
25521
2063b858cad9
patch 8.2.3297: cannot use all commands inside a {} block
Bram Moolenaar <Bram@vim.org>
parents:
25463
diff
changeset
|
3230 doautocmd CursorHold |
2063b858cad9
patch 8.2.3297: cannot use all commands inside a {} block
Bram Moolenaar <Bram@vim.org>
parents:
25463
diff
changeset
|
3231 call assert_equal(77, g:gotSafeState) |
2063b858cad9
patch 8.2.3297: cannot use all commands inside a {} block
Bram Moolenaar <Bram@vim.org>
parents:
25463
diff
changeset
|
3232 unlet g:gotSafeState |
2063b858cad9
patch 8.2.3297: cannot use all commands inside a {} block
Bram Moolenaar <Bram@vim.org>
parents:
25463
diff
changeset
|
3233 |
25463
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3234 augroup block_testing |
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3235 au! |
29062
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3236 autocmd CursorHold * { |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3237 if true |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3238 # comment |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3239 && true |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3240 |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3241 && true |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3242 g:done = 'yes' |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3243 endif |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3244 } |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3245 augroup END |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3246 doautocmd CursorHold |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3247 call assert_equal('yes', g:done) |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3248 |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3249 unlet g:done |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3250 augroup block_testing |
036b4d49c4a0
patch 8.2.5053: cannot have a comment halfway an expression in a block
Bram Moolenaar <Bram@vim.org>
parents:
29054
diff
changeset
|
3251 au! |
25463
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3252 augroup END |
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3253 endfunc |
05f9e8f2016c
patch 8.2.3268: cannot use a block with :autocmd like with :command
Bram Moolenaar <Bram@vim.org>
parents:
24110
diff
changeset
|
3254 |
25967
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3255 " Test TextChangedI and TextChanged |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3256 func Test_Changed_ChangedI() |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3257 new |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3258 call test_override("char_avail", 1) |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3259 let [g:autocmd_i, g:autocmd_n] = ['',''] |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3260 |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3261 func! TextChangedAutocmdI(char) |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3262 let g:autocmd_{tolower(a:char)} = a:char .. b:changedtick |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3263 endfunc |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3264 |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3265 augroup Test_TextChanged |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3266 au! |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3267 au TextChanged <buffer> :call TextChangedAutocmdI('N') |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3268 au TextChangedI <buffer> :call TextChangedAutocmdI('I') |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3269 augroup END |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3270 |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3271 call feedkeys("ifoo\<esc>", 'tnix') |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3272 " TODO: Test test does not seem to trigger TextChanged autocommand, this |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3273 " requires running Vim in a terminal window. |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3274 " call assert_equal('N3', g:autocmd_n) |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3275 call assert_equal('I3', g:autocmd_i) |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3276 |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3277 call feedkeys("yyp", 'tnix') |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3278 " TODO: Test test does not seem to trigger TextChanged autocommand. |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3279 " call assert_equal('N4', g:autocmd_n) |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3280 call assert_equal('I3', g:autocmd_i) |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3281 |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3282 " CleanUp |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3283 call test_override("char_avail", 0) |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3284 au! TextChanged <buffer> |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3285 au! TextChangedI <buffer> |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3286 augroup! Test_TextChanged |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3287 delfu TextChangedAutocmdI |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3288 unlet! g:autocmd_i g:autocmd_n |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3289 |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3290 bw! |
46205b125fbd
patch 8.2.3517: TextChanged does not trigger after TextChangedI
Bram Moolenaar <Bram@vim.org>
parents:
25866
diff
changeset
|
3291 endfunc |
23865
e1643a1aa1a0
patch 8.2.2474: using freed memory when window is closed by autocommand
Bram Moolenaar <Bram@vim.org>
parents:
23863
diff
changeset
|
3292 |
28167
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
3293 func Test_closing_autocmd_window() |
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
3294 let lines =<< trim END |
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
3295 edit Xa.txt |
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
3296 tabnew Xb.txt |
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
3297 autocmd BufEnter Xa.txt unhide 1 |
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
3298 doautoall BufEnter |
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
3299 END |
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
3300 call v9.CheckScriptFailure(lines, 'E814:') |
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
3301 au! BufEnter |
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
3302 only! |
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
3303 bwipe Xa.txt |
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
3304 bwipe Xb.txt |
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
3305 endfunc |
a52a5e3363c4
patch 8.2.4609: :unhide does not check for failing to close a window
Bram Moolenaar <Bram@vim.org>
parents:
27960
diff
changeset
|
3306 |
28211
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3307 func Test_bufwipeout_changes_window() |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3308 " This should not crash, but we don't have any expectations about what |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3309 " happens, changing window in BufWipeout has unpredictable results. |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3310 tabedit |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3311 let g:window_id = win_getid() |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3312 topleft new |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3313 setlocal bufhidden=wipe |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3314 autocmd BufWipeout <buffer> call win_gotoid(g:window_id) |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3315 tabprevious |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3316 +tabclose |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3317 |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3318 unlet g:window_id |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3319 au! BufWipeout |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3320 %bwipe! |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3321 endfunc |
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3322 |
28407
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3323 func Test_v_event_readonly() |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3324 autocmd CompleteChanged * let v:event.width = 0 |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3325 call assert_fails("normal! i\<C-X>\<C-V>", 'E46:') |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3326 au! CompleteChanged |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3327 |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3328 autocmd DirChangedPre * let v:event.directory = '' |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3329 call assert_fails('cd .', 'E46:') |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3330 au! DirChangedPre |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3331 |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3332 autocmd ModeChanged * let v:event.new_mode = '' |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3333 call assert_fails('normal! cc', 'E46:') |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3334 au! ModeChanged |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3335 |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3336 autocmd TextYankPost * let v:event.operator = '' |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3337 call assert_fails('normal! yy', 'E46:') |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3338 au! TextYankPost |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3339 endfunc |
ed9b6069858b
patch 8.2.4728: no test that v:event cannot be modified
Bram Moolenaar <Bram@vim.org>
parents:
28384
diff
changeset
|
3340 |
29483
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3341 " Test for ModeChanged pattern |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3342 func Test_mode_changes() |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3343 let g:index = 0 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3344 let g:mode_seq = ['n', 'i', 'n', 'v', 'V', 'i', 'ix', 'i', 'ic', 'i', 'n', 'no', 'n', 'V', 'v', 's', 'n'] |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3345 func! TestMode() |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3346 call assert_equal(g:mode_seq[g:index], get(v:event, "old_mode")) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3347 call assert_equal(g:mode_seq[g:index + 1], get(v:event, "new_mode")) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3348 call assert_equal(mode(1), get(v:event, "new_mode")) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3349 let g:index += 1 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3350 endfunc |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3351 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3352 au ModeChanged * :call TestMode() |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3353 let g:n_to_any = 0 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3354 au ModeChanged n:* let g:n_to_any += 1 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3355 call feedkeys("i\<esc>vVca\<CR>\<C-X>\<C-L>\<esc>ggdG", 'tnix') |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3356 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3357 let g:V_to_v = 0 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3358 au ModeChanged V:v let g:V_to_v += 1 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3359 call feedkeys("Vv\<C-G>\<esc>", 'tnix') |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3360 call assert_equal(len(filter(g:mode_seq[1:], {idx, val -> val == 'n'})), g:n_to_any) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3361 call assert_equal(1, g:V_to_v) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3362 call assert_equal(len(g:mode_seq) - 1, g:index) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3363 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3364 let g:n_to_i = 0 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3365 au ModeChanged n:i let g:n_to_i += 1 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3366 let g:n_to_niI = 0 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3367 au ModeChanged i:niI let g:n_to_niI += 1 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3368 let g:niI_to_i = 0 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3369 au ModeChanged niI:i let g:niI_to_i += 1 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3370 let g:nany_to_i = 0 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3371 au ModeChanged n*:i let g:nany_to_i += 1 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3372 let g:i_to_n = 0 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3373 au ModeChanged i:n let g:i_to_n += 1 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3374 let g:nori_to_any = 0 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3375 au ModeChanged [ni]:* let g:nori_to_any += 1 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3376 let g:i_to_any = 0 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3377 au ModeChanged i:* let g:i_to_any += 1 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3378 let g:index = 0 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3379 let g:mode_seq = ['n', 'i', 'niI', 'i', 'n'] |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3380 call feedkeys("a\<C-O>l\<esc>", 'tnix') |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3381 call assert_equal(len(g:mode_seq) - 1, g:index) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3382 call assert_equal(1, g:n_to_i) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3383 call assert_equal(1, g:n_to_niI) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3384 call assert_equal(1, g:niI_to_i) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3385 call assert_equal(2, g:nany_to_i) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3386 call assert_equal(1, g:i_to_n) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3387 call assert_equal(2, g:i_to_any) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3388 call assert_equal(3, g:nori_to_any) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3389 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3390 if has('terminal') |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3391 let g:mode_seq += ['c', 'n', 't', 'nt', 'c', 'nt', 'n'] |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3392 call feedkeys(":term\<CR>\<C-W>N:bd!\<CR>", 'tnix') |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3393 call assert_equal(len(g:mode_seq) - 1, g:index) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3394 call assert_equal(1, g:n_to_i) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3395 call assert_equal(1, g:n_to_niI) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3396 call assert_equal(1, g:niI_to_i) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3397 call assert_equal(2, g:nany_to_i) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3398 call assert_equal(1, g:i_to_n) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3399 call assert_equal(2, g:i_to_any) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3400 call assert_equal(5, g:nori_to_any) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3401 endif |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3402 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3403 if has('cmdwin') |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3404 let g:n_to_c = 0 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3405 au ModeChanged n:c let g:n_to_c += 1 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3406 let g:c_to_n = 0 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3407 au ModeChanged c:n let g:c_to_n += 1 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3408 let g:mode_seq += ['c', 'n', 'c', 'n'] |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3409 call feedkeys("q:\<C-C>\<Esc>", 'tnix') |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3410 call assert_equal(len(g:mode_seq) - 1, g:index) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3411 call assert_equal(2, g:n_to_c) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3412 call assert_equal(2, g:c_to_n) |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3413 unlet g:n_to_c |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3414 unlet g:c_to_n |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3415 endif |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3416 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3417 au! ModeChanged |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3418 delfunc TestMode |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3419 unlet! g:mode_seq |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3420 unlet! g:index |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3421 unlet! g:n_to_any |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3422 unlet! g:V_to_v |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3423 unlet! g:n_to_i |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3424 unlet! g:n_to_niI |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3425 unlet! g:niI_to_i |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3426 unlet! g:nany_to_i |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3427 unlet! g:i_to_n |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3428 unlet! g:nori_to_any |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3429 unlet! g:i_to_any |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3430 endfunc |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3431 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3432 func Test_recursive_ModeChanged() |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3433 au! ModeChanged * norm 0u |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3434 sil! norm |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3435 au! ModeChanged |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3436 endfunc |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3437 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3438 func Test_ModeChanged_starts_visual() |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3439 " This was triggering ModeChanged before setting VIsual, causing a crash. |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3440 au! ModeChanged * norm 0u |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3441 sil! norm |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3442 |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3443 au! ModeChanged |
2a327999c05c
patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
29471
diff
changeset
|
3444 endfunc |
28211
522864f990ec
patch 8.2.4631: crash when switching window in BufWipeout autocommand
Bram Moolenaar <Bram@vim.org>
parents:
28167
diff
changeset
|
3445 |
28534
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3446 func Test_noname_autocmd() |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3447 augroup test_noname_autocmd_group |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3448 autocmd! |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3449 autocmd BufEnter * call add(s:li, ["BufEnter", expand("<afile>")]) |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3450 autocmd BufDelete * call add(s:li, ["BufDelete", expand("<afile>")]) |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3451 autocmd BufLeave * call add(s:li, ["BufLeave", expand("<afile>")]) |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3452 autocmd BufUnload * call add(s:li, ["BufUnload", expand("<afile>")]) |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3453 autocmd BufWipeout * call add(s:li, ["BufWipeout", expand("<afile>")]) |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3454 augroup END |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3455 |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3456 let s:li = [] |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3457 edit foo |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3458 call assert_equal([['BufUnload', ''], ['BufDelete', ''], ['BufWipeout', ''], ['BufEnter', 'foo']], s:li) |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3459 |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3460 au! test_noname_autocmd_group |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3461 augroup! test_noname_autocmd_group |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3462 endfunc |
2d600e916978
patch 8.2.4791: events triggered in different order when reusing buffer
Bram Moolenaar <Bram@vim.org>
parents:
28429
diff
changeset
|
3463 |
28917
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3464 " Test for the autocmd_get() function |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3465 func Test_autocmd_get() |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3466 augroup TestAutoCmdFns |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3467 au! |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3468 autocmd BufAdd *.vim echo "bufadd-vim" |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3469 autocmd BufAdd *.py echo "bufadd-py" |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3470 autocmd BufHidden *.vim echo "bufhidden" |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3471 augroup END |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3472 augroup TestAutoCmdFns2 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3473 autocmd BufAdd *.vim echo "bufadd-vim-2" |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3474 autocmd BufRead *.a1b2c3 echo "bufadd-vim-2" |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3475 augroup END |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3476 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3477 let l = autocmd_get() |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3478 call assert_true(l->len() > 0) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3479 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3480 " Test for getting all the autocmds in a group |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3481 let expected = [ |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3482 \ #{cmd: 'echo "bufadd-vim"', group: 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3483 \ pattern: '*.vim', nested: v:false, once: v:false, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3484 \ event: 'BufAdd'}, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3485 \ #{cmd: 'echo "bufadd-py"', group: 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3486 \ pattern: '*.py', nested: v:false, once: v:false, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3487 \ event: 'BufAdd'}, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3488 \ #{cmd: 'echo "bufhidden"', group: 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3489 \ pattern: '*.vim', nested: v:false, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3490 \ once: v:false, event: 'BufHidden'}] |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3491 call assert_equal(expected, autocmd_get(#{group: 'TestAutoCmdFns'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3492 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3493 " Test for getting autocmds for all the patterns in a group |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3494 call assert_equal(expected, autocmd_get(#{group: 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3495 \ event: '*'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3496 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3497 " Test for getting autocmds for an event in a group |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3498 let expected = [ |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3499 \ #{cmd: 'echo "bufadd-vim"', group: 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3500 \ pattern: '*.vim', nested: v:false, once: v:false, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3501 \ event: 'BufAdd'}, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3502 \ #{cmd: 'echo "bufadd-py"', group: 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3503 \ pattern: '*.py', nested: v:false, once: v:false, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3504 \ event: 'BufAdd'}] |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3505 call assert_equal(expected, autocmd_get(#{group: 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3506 \ event: 'BufAdd'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3507 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3508 " Test for getting the autocmds for all the events in a group for particular |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3509 " pattern |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3510 call assert_equal([{'cmd': 'echo "bufadd-py"', 'group': 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3511 \ 'pattern': '*.py', 'nested': v:false, 'once': v:false, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3512 \ 'event': 'BufAdd'}], |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3513 \ autocmd_get(#{group: 'TestAutoCmdFns', event: '*', pattern: '*.py'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3514 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3515 " Test for getting the autocmds for an events in a group for particular |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3516 " pattern |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3517 let l = autocmd_get(#{group: 'TestAutoCmdFns', event: 'BufAdd', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3518 \ pattern: '*.vim'}) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3519 call assert_equal([ |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3520 \ #{cmd: 'echo "bufadd-vim"', group: 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3521 \ pattern: '*.vim', nested: v:false, once: v:false, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3522 \ event: 'BufAdd'}], l) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3523 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3524 " Test for getting the autocmds for a pattern in a group |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3525 let l = autocmd_get(#{group: 'TestAutoCmdFns', pattern: '*.vim'}) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3526 call assert_equal([ |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3527 \ #{cmd: 'echo "bufadd-vim"', group: 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3528 \ pattern: '*.vim', nested: v:false, once: v:false, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3529 \ event: 'BufAdd'}, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3530 \ #{cmd: 'echo "bufhidden"', group: 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3531 \ pattern: '*.vim', nested: v:false, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3532 \ once: v:false, event: 'BufHidden'}], l) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3533 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3534 " Test for getting the autocmds for a pattern in all the groups |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3535 let l = autocmd_get(#{pattern: '*.a1b2c3'}) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3536 call assert_equal([{'cmd': 'echo "bufadd-vim-2"', 'group': 'TestAutoCmdFns2', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3537 \ 'pattern': '*.a1b2c3', 'nested': v:false, 'once': v:false, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3538 \ 'event': 'BufRead'}], l) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3539 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3540 " Test for getting autocmds for a pattern without any autocmds |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3541 call assert_equal([], autocmd_get(#{group: 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3542 \ pattern: '*.abc'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3543 call assert_equal([], autocmd_get(#{group: 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3544 \ event: 'BufAdd', pattern: '*.abc'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3545 call assert_equal([], autocmd_get(#{group: 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3546 \ event: 'BufWipeout'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3547 call assert_fails("call autocmd_get(#{group: 'abc', event: 'BufAdd'})", |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3548 \ 'E367:') |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3549 let cmd = "echo autocmd_get(#{group: 'TestAutoCmdFns', event: 'abc'})" |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3550 call assert_fails(cmd, 'E216:') |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3551 call assert_fails("call autocmd_get(#{group: 'abc'})", 'E367:') |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3552 call assert_fails("echo autocmd_get(#{event: 'abc'})", 'E216:') |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3553 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3554 augroup TestAutoCmdFns |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3555 au! |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3556 augroup END |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3557 call assert_equal([], autocmd_get(#{group: 'TestAutoCmdFns'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3558 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3559 " Test for nested and once autocmds |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3560 augroup TestAutoCmdFns |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3561 au! |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3562 autocmd VimSuspend * ++nested echo "suspend" |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3563 autocmd VimResume * ++once echo "resume" |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3564 augroup END |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3565 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3566 let expected = [ |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3567 \ {'cmd': 'echo "suspend"', 'group': 'TestAutoCmdFns', 'pattern': '*', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3568 \ 'nested': v:true, 'once': v:false, 'event': 'VimSuspend'}, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3569 \ {'cmd': 'echo "resume"', 'group': 'TestAutoCmdFns', 'pattern': '*', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3570 \ 'nested': v:false, 'once': v:true, 'event': 'VimResume'}] |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3571 call assert_equal(expected, autocmd_get(#{group: 'TestAutoCmdFns'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3572 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3573 " Test for buffer-local autocmd |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3574 augroup TestAutoCmdFns |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3575 au! |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3576 autocmd TextYankPost <buffer> echo "textyankpost" |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3577 augroup END |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3578 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3579 let expected = [ |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3580 \ {'cmd': 'echo "textyankpost"', 'group': 'TestAutoCmdFns', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3581 \ 'pattern': '<buffer=' .. bufnr() .. '>', 'nested': v:false, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3582 \ 'once': v:false, 'bufnr': bufnr(), 'event': 'TextYankPost'}] |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3583 call assert_equal(expected, autocmd_get(#{group: 'TestAutoCmdFns'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3584 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3585 augroup TestAutoCmdFns |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3586 au! |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3587 augroup END |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3588 augroup! TestAutoCmdFns |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3589 augroup TestAutoCmdFns2 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3590 au! |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3591 augroup END |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3592 augroup! TestAutoCmdFns2 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3593 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3594 call assert_fails("echo autocmd_get(#{group: []})", 'E730:') |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3595 call assert_fails("echo autocmd_get(#{event: {}})", 'E731:') |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3596 call assert_fails("echo autocmd_get([])", 'E1206:') |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3597 endfunc |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3598 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3599 " Test for the autocmd_add() function |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3600 func Test_autocmd_add() |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3601 " Define a single autocmd in a group |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3602 call autocmd_add([#{group: 'TestAcSet', event: 'BufAdd', pattern: '*.sh', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3603 \ cmd: 'echo "bufadd"', once: v:true, nested: v:true}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3604 call assert_equal([#{cmd: 'echo "bufadd"', group: 'TestAcSet', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3605 \ pattern: '*.sh', nested: v:true, once: v:true, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3606 \ event: 'BufAdd'}], autocmd_get(#{group: 'TestAcSet'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3607 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3608 " Define two autocmds in the same group |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3609 call autocmd_delete([#{group: 'TestAcSet'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3610 call autocmd_add([#{group: 'TestAcSet', event: 'BufAdd', pattern: '*.sh', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3611 \ cmd: 'echo "bufadd"'}, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3612 \ #{group: 'TestAcSet', event: 'BufEnter', pattern: '*.sh', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3613 \ cmd: 'echo "bufenter"'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3614 call assert_equal([ |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3615 \ #{cmd: 'echo "bufadd"', group: 'TestAcSet', pattern: '*.sh', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3616 \ nested: v:false, once: v:false, event: 'BufAdd'}, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3617 \ #{cmd: 'echo "bufenter"', group: 'TestAcSet', pattern: '*.sh', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3618 \ nested: v:false, once: v:false, event: 'BufEnter'}], |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3619 \ autocmd_get(#{group: 'TestAcSet'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3620 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3621 " Define a buffer-local autocmd |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3622 call autocmd_delete([#{group: 'TestAcSet'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3623 call autocmd_add([#{group: 'TestAcSet', event: 'CursorHold', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3624 \ bufnr: bufnr(), cmd: 'echo "cursorhold"'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3625 call assert_equal([ |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3626 \ #{cmd: 'echo "cursorhold"', group: 'TestAcSet', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3627 \ pattern: '<buffer=' .. bufnr() .. '>', nested: v:false, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3628 \ once: v:false, bufnr: bufnr(), event: 'CursorHold'}], |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3629 \ autocmd_get(#{group: 'TestAcSet'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3630 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3631 " Use an invalid buffer number |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3632 call autocmd_delete([#{group: 'TestAcSet'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3633 call autocmd_add([#{group: 'TestAcSet', event: 'BufEnter', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3634 \ bufnr: -1, cmd: 'echo "bufenter"'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3635 let l = [#{group: 'TestAcSet', event: 'BufAdd', bufnr: 9999, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3636 \ cmd: 'echo "bufadd"'}] |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3637 call assert_fails("echo autocmd_add(l)", 'E680:') |
29054
e7bd4c788053
patch 8.2.5049: insufficient tests for autocommands
Bram Moolenaar <Bram@vim.org>
parents:
29016
diff
changeset
|
3638 let l = [#{group: 'TestAcSet', event: 'BufAdd', bufnr: 9999, |
e7bd4c788053
patch 8.2.5049: insufficient tests for autocommands
Bram Moolenaar <Bram@vim.org>
parents:
29016
diff
changeset
|
3639 \ pattern: '*.py', cmd: 'echo "bufadd"'}] |
e7bd4c788053
patch 8.2.5049: insufficient tests for autocommands
Bram Moolenaar <Bram@vim.org>
parents:
29016
diff
changeset
|
3640 call assert_fails("echo autocmd_add(l)", 'E680:') |
e7bd4c788053
patch 8.2.5049: insufficient tests for autocommands
Bram Moolenaar <Bram@vim.org>
parents:
29016
diff
changeset
|
3641 let l = [#{group: 'TestAcSet', event: 'BufAdd', bufnr: 9999, |
e7bd4c788053
patch 8.2.5049: insufficient tests for autocommands
Bram Moolenaar <Bram@vim.org>
parents:
29016
diff
changeset
|
3642 \ pattern: ['*.py', '*.c'], cmd: 'echo "bufadd"'}] |
e7bd4c788053
patch 8.2.5049: insufficient tests for autocommands
Bram Moolenaar <Bram@vim.org>
parents:
29016
diff
changeset
|
3643 call assert_fails("echo autocmd_add(l)", 'E680:') |
28917
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3644 let l = [#{group: 'TestAcSet', event: 'BufRead', bufnr: [], |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3645 \ cmd: 'echo "bufread"'}] |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3646 call assert_fails("echo autocmd_add(l)", 'E745:') |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3647 call assert_equal([], autocmd_get(#{group: 'TestAcSet'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3648 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3649 " Add two commands to the same group, event and pattern |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3650 call autocmd_delete([#{group: 'TestAcSet'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3651 call autocmd_add([#{group: 'TestAcSet', event: 'BufUnload', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3652 \ pattern: 'abc', cmd: 'echo "cmd1"'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3653 call autocmd_add([#{group: 'TestAcSet', event: 'BufUnload', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3654 \ pattern: 'abc', cmd: 'echo "cmd2"'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3655 call assert_equal([ |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3656 \ #{cmd: 'echo "cmd1"', group: 'TestAcSet', pattern: 'abc', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3657 \ nested: v:false, once: v:false, event: 'BufUnload'}, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3658 \ #{cmd: 'echo "cmd2"', group: 'TestAcSet', pattern: 'abc', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3659 \ nested: v:false, once: v:false, event: 'BufUnload'}], |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3660 \ autocmd_get(#{group: 'TestAcSet'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3661 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3662 " When adding a new autocmd, if the autocmd 'group' is not specified, then |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3663 " the current autocmd group should be used. |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3664 call autocmd_delete([#{group: 'TestAcSet'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3665 augroup TestAcSet |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3666 call autocmd_add([#{event: 'BufHidden', pattern: 'abc', cmd: 'echo "abc"'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3667 augroup END |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3668 call assert_equal([ |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3669 \ #{cmd: 'echo "abc"', group: 'TestAcSet', pattern: 'abc', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3670 \ nested: v:false, once: v:false, event: 'BufHidden'}], |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3671 \ autocmd_get(#{group: 'TestAcSet'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3672 |
28978
3c3bdb8069f5
patch 8.2.5011: Replacing an autocommand requires several lines
Bram Moolenaar <Bram@vim.org>
parents:
28917
diff
changeset
|
3673 " Test for replacing a cmd for an event in a group |
3c3bdb8069f5
patch 8.2.5011: Replacing an autocommand requires several lines
Bram Moolenaar <Bram@vim.org>
parents:
28917
diff
changeset
|
3674 call autocmd_delete([#{group: 'TestAcSet'}]) |
3c3bdb8069f5
patch 8.2.5011: Replacing an autocommand requires several lines
Bram Moolenaar <Bram@vim.org>
parents:
28917
diff
changeset
|
3675 call autocmd_add([#{replace: v:true, group: 'TestAcSet', event: 'BufEnter', |
3c3bdb8069f5
patch 8.2.5011: Replacing an autocommand requires several lines
Bram Moolenaar <Bram@vim.org>
parents:
28917
diff
changeset
|
3676 \ pattern: '*.py', cmd: 'echo "bufenter"'}]) |
3c3bdb8069f5
patch 8.2.5011: Replacing an autocommand requires several lines
Bram Moolenaar <Bram@vim.org>
parents:
28917
diff
changeset
|
3677 call autocmd_add([#{replace: v:true, group: 'TestAcSet', event: 'BufEnter', |
3c3bdb8069f5
patch 8.2.5011: Replacing an autocommand requires several lines
Bram Moolenaar <Bram@vim.org>
parents:
28917
diff
changeset
|
3678 \ pattern: '*.py', cmd: 'echo "bufenter"'}]) |
3c3bdb8069f5
patch 8.2.5011: Replacing an autocommand requires several lines
Bram Moolenaar <Bram@vim.org>
parents:
28917
diff
changeset
|
3679 call assert_equal([ |
3c3bdb8069f5
patch 8.2.5011: Replacing an autocommand requires several lines
Bram Moolenaar <Bram@vim.org>
parents:
28917
diff
changeset
|
3680 \ #{cmd: 'echo "bufenter"', group: 'TestAcSet', pattern: '*.py', |
3c3bdb8069f5
patch 8.2.5011: Replacing an autocommand requires several lines
Bram Moolenaar <Bram@vim.org>
parents:
28917
diff
changeset
|
3681 \ nested: v:false, once: v:false, event: 'BufEnter'}], |
3c3bdb8069f5
patch 8.2.5011: Replacing an autocommand requires several lines
Bram Moolenaar <Bram@vim.org>
parents:
28917
diff
changeset
|
3682 \ autocmd_get(#{group: 'TestAcSet'})) |
3c3bdb8069f5
patch 8.2.5011: Replacing an autocommand requires several lines
Bram Moolenaar <Bram@vim.org>
parents:
28917
diff
changeset
|
3683 |
3c3bdb8069f5
patch 8.2.5011: Replacing an autocommand requires several lines
Bram Moolenaar <Bram@vim.org>
parents:
28917
diff
changeset
|
3684 " Test for adding a command for an unsupported autocmd event |
28917
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3685 let l = [#{group: 'TestAcSet', event: 'abc', pattern: '*.sh', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3686 \ cmd: 'echo "bufadd"'}] |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3687 call assert_fails('call autocmd_add(l)', 'E216:') |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3688 |
29016
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3689 " Test for using a list of events and patterns |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3690 call autocmd_delete([#{group: 'TestAcSet'}]) |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3691 let l = [#{group: 'TestAcSet', event: ['BufEnter', 'BufLeave'], |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3692 \ pattern: ['*.py', '*.sh'], cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3693 call autocmd_add(l) |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3694 call assert_equal([ |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3695 \ #{cmd: 'echo "bufcmds"', group: 'TestAcSet', pattern: '*.py', |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3696 \ nested: v:false, once: v:false, event: 'BufEnter'}, |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3697 \ #{cmd: 'echo "bufcmds"', group: 'TestAcSet', pattern: '*.sh', |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3698 \ nested: v:false, once: v:false, event: 'BufEnter'}, |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3699 \ #{cmd: 'echo "bufcmds"', group: 'TestAcSet', pattern: '*.py', |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3700 \ nested: v:false, once: v:false, event: 'BufLeave'}, |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3701 \ #{cmd: 'echo "bufcmds"', group: 'TestAcSet', pattern: '*.sh', |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3702 \ nested: v:false, once: v:false, event: 'BufLeave'}], |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3703 \ autocmd_get(#{group: 'TestAcSet'})) |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3704 |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3705 " Test for invalid values for 'event' item |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3706 call autocmd_delete([#{group: 'TestAcSet'}]) |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3707 let l = [#{group: 'TestAcSet', event: test_null_string(), |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3708 \ pattern: "*.py", cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3709 call assert_fails('call autocmd_add(l)', 'E928:') |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3710 let l = [#{group: 'TestAcSet', event: test_null_list(), |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3711 \ pattern: "*.py", cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3712 call assert_fails('call autocmd_add(l)', 'E714:') |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3713 let l = [#{group: 'TestAcSet', event: {}, |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3714 \ pattern: "*.py", cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3715 call assert_fails('call autocmd_add(l)', 'E777:') |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3716 let l = [#{group: 'TestAcSet', event: [{}], |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3717 \ pattern: "*.py", cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3718 call assert_fails('call autocmd_add(l)', 'E928:') |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3719 let l = [#{group: 'TestAcSet', event: [test_null_string()], |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3720 \ pattern: "*.py", cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3721 call assert_fails('call autocmd_add(l)', 'E928:') |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3722 let l = [#{group: 'TestAcSet', event: 'BufEnter,BufLeave', |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3723 \ pattern: '*.py', cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3724 call assert_fails('call autocmd_add(l)', 'E216:') |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3725 let l = [#{group: 'TestAcSet', event: [], |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3726 \ pattern: "*.py", cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3727 call autocmd_add(l) |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3728 let l = [#{group: 'TestAcSet', event: [""], |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3729 \ pattern: "*.py", cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3730 call assert_fails('call autocmd_add(l)', 'E216:') |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3731 let l = [#{group: 'TestAcSet', event: "", |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3732 \ pattern: "*.py", cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3733 call autocmd_add(l) |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3734 call assert_equal([], autocmd_get(#{group: 'TestAcSet'})) |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3735 |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3736 " Test for invalid values for 'pattern' item |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3737 let l = [#{group: 'TestAcSet', event: "BufEnter", |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3738 \ pattern: test_null_string(), cmd: 'echo "bufcmds"'}] |
29054
e7bd4c788053
patch 8.2.5049: insufficient tests for autocommands
Bram Moolenaar <Bram@vim.org>
parents:
29016
diff
changeset
|
3739 call assert_fails('call autocmd_add(l)', 'E928:') |
29016
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3740 let l = [#{group: 'TestAcSet', event: "BufEnter", |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3741 \ pattern: test_null_list(), cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3742 call assert_fails('call autocmd_add(l)', 'E714:') |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3743 let l = [#{group: 'TestAcSet', event: "BufEnter", |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3744 \ pattern: {}, cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3745 call assert_fails('call autocmd_add(l)', 'E777:') |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3746 let l = [#{group: 'TestAcSet', event: "BufEnter", |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3747 \ pattern: [{}], cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3748 call assert_fails('call autocmd_add(l)', 'E928:') |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3749 let l = [#{group: 'TestAcSet', event: "BufEnter", |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3750 \ pattern: [test_null_string()], cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3751 call assert_fails('call autocmd_add(l)', 'E928:') |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3752 let l = [#{group: 'TestAcSet', event: "BufEnter", |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3753 \ pattern: [], cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3754 call autocmd_add(l) |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3755 let l = [#{group: 'TestAcSet', event: "BufEnter", |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3756 \ pattern: [""], cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3757 call autocmd_add(l) |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3758 let l = [#{group: 'TestAcSet', event: "BufEnter", |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3759 \ pattern: "", cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3760 call autocmd_add(l) |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3761 call assert_equal([], autocmd_get(#{group: 'TestAcSet'})) |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3762 |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3763 let l = [#{group: 'TestAcSet', event: 'BufEnter,abc,BufLeave', |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3764 \ pattern: '*.py', cmd: 'echo "bufcmds"'}] |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3765 call assert_fails('call autocmd_add(l)', 'E216:') |
aadeddf38d9b
patch 8.2.5030: autocmd_add() can only handle one event and pattern
Bram Moolenaar <Bram@vim.org>
parents:
28978
diff
changeset
|
3766 |
28917
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3767 call assert_fails("call autocmd_add({})", 'E1211:') |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3768 call assert_equal(v:false, autocmd_add(test_null_list())) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3769 call assert_true(autocmd_add([[]])) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3770 call assert_true(autocmd_add([test_null_dict()])) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3771 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3772 augroup TestAcSet |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3773 au! |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3774 augroup END |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3775 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3776 call autocmd_add([#{group: 'TestAcSet'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3777 call autocmd_add([#{group: 'TestAcSet', event: 'BufAdd'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3778 call autocmd_add([#{group: 'TestAcSet', pat: '*.sh'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3779 call autocmd_add([#{group: 'TestAcSet', cmd: 'echo "a"'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3780 call autocmd_add([#{group: 'TestAcSet', event: 'BufAdd', pat: '*.sh'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3781 call autocmd_add([#{group: 'TestAcSet', event: 'BufAdd', cmd: 'echo "a"'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3782 call autocmd_add([#{group: 'TestAcSet', pat: '*.sh', cmd: 'echo "a"'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3783 call assert_equal([], autocmd_get(#{group: 'TestAcSet'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3784 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3785 augroup! TestAcSet |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3786 endfunc |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3787 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3788 " Test for deleting autocmd events and groups |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3789 func Test_autocmd_delete() |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3790 " Delete an event in an autocmd group |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3791 augroup TestAcSet |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3792 au! |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3793 au BufAdd *.sh echo "bufadd" |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3794 au BufEnter *.sh echo "bufenter" |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3795 augroup END |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3796 call autocmd_delete([#{group: 'TestAcSet', event: 'BufAdd'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3797 call assert_equal([#{cmd: 'echo "bufenter"', group: 'TestAcSet', |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3798 \ pattern: '*.sh', nested: v:false, once: v:false, |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3799 \ event: 'BufEnter'}], autocmd_get(#{group: 'TestAcSet'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3800 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3801 " Delete all the events in an autocmd group |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3802 augroup TestAcSet |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3803 au BufAdd *.sh echo "bufadd" |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3804 augroup END |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3805 call autocmd_delete([#{group: 'TestAcSet', event: '*'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3806 call assert_equal([], autocmd_get(#{group: 'TestAcSet'})) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3807 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3808 " Delete a non-existing autocmd group |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3809 call assert_fails("call autocmd_delete([#{group: 'abc'}])", 'E367:') |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3810 " Delete a non-existing autocmd event |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3811 let l = [#{group: 'TestAcSet', event: 'abc'}] |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3812 call assert_fails("call autocmd_delete(l)", 'E216:') |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3813 " Delete a non-existing autocmd pattern |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3814 let l = [#{group: 'TestAcSet', event: 'BufAdd', pat: 'abc'}] |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3815 call assert_true(autocmd_delete(l)) |
29054
e7bd4c788053
patch 8.2.5049: insufficient tests for autocommands
Bram Moolenaar <Bram@vim.org>
parents:
29016
diff
changeset
|
3816 " Delete an autocmd for a non-existing buffer |
e7bd4c788053
patch 8.2.5049: insufficient tests for autocommands
Bram Moolenaar <Bram@vim.org>
parents:
29016
diff
changeset
|
3817 let l = [#{event: '*', bufnr: 9999, cmd: 'echo "x"'}] |
e7bd4c788053
patch 8.2.5049: insufficient tests for autocommands
Bram Moolenaar <Bram@vim.org>
parents:
29016
diff
changeset
|
3818 call assert_fails('call autocmd_delete(l)', 'E680:') |
28917
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3819 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3820 " Delete an autocmd group |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3821 augroup TestAcSet |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3822 au! |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3823 au BufAdd *.sh echo "bufadd" |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3824 au BufEnter *.sh echo "bufenter" |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3825 augroup END |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3826 call autocmd_delete([#{group: 'TestAcSet'}]) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3827 call assert_fails("call autocmd_get(#{group: 'TestAcSet'})", 'E367:') |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3828 |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3829 call assert_true(autocmd_delete([[]])) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3830 call assert_true(autocmd_delete([test_null_dict()])) |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3831 endfunc |
c5862dfaf0bd
patch 8.2.4981: it is not possible to manipulate autocommands
Bram Moolenaar <Bram@vim.org>
parents:
28558
diff
changeset
|
3832 |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19073
diff
changeset
|
3833 " vim: shiftwidth=2 sts=2 expandtab |