Bram Moolenaar | 1473551 | 2016-03-26 21:00:08 +0100 | [diff] [blame] | 1 | " Tests for autocommands |
| 2 | |
| 3 | func Test_vim_did_enter() |
| 4 | call assert_false(v:vim_did_enter) |
| 5 | |
| 6 | " This script will never reach the main loop, can't check if v:vim_did_enter |
| 7 | " becomes one. |
| 8 | endfunc |
Bram Moolenaar | 40b1b54 | 2016-04-20 20:18:23 +0200 | [diff] [blame] | 9 | |
| 10 | if !has('timers') |
| 11 | finish |
| 12 | endif |
| 13 | |
| 14 | func ExitInsertMode(id) |
| 15 | call feedkeys("\<Esc>") |
| 16 | endfunc |
| 17 | |
| 18 | func Test_cursorhold_insert() |
| 19 | let g:triggered = 0 |
| 20 | au CursorHoldI * let g:triggered += 1 |
| 21 | set updatetime=20 |
| 22 | call timer_start(100, 'ExitInsertMode') |
| 23 | call feedkeys('a', 'x!') |
| 24 | call assert_equal(1, g:triggered) |
| 25 | endfunc |
| 26 | |
| 27 | func Test_cursorhold_insert_ctrl_x() |
| 28 | let g:triggered = 0 |
| 29 | au CursorHoldI * let g:triggered += 1 |
| 30 | set updatetime=20 |
| 31 | call timer_start(100, 'ExitInsertMode') |
| 32 | " CursorHoldI does not trigger after CTRL-X |
| 33 | call feedkeys("a\<C-X>", 'x!') |
| 34 | call assert_equal(0, g:triggered) |
| 35 | endfunc |