blob: ff02c41e6cd5eaae011d195d5bf234e2bf167835 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
local helpers = require('test.functional.helpers')(after_each)
local Screen = require('test.functional.ui.screen')
local clear = helpers.clear
local exec = helpers.exec
local feed = helpers.feed
local poke_eventloop = helpers.poke_eventloop
before_each(clear)
describe(':global', function()
-- oldtest: Test_interrupt_global()
it('can be interrupted using Ctrl-C in cmdline mode vim-patch:9.0.0082', function()
local screen = Screen.new(75, 6)
screen:set_default_attr_ids({
[0] = {bold = true, reverse = true}, -- MsgSeparator
[1] = {background = Screen.colors.Red, foreground = Screen.colors.White}, -- ErrorMsg
})
screen:attach()
exec([[
set nohlsearch noincsearch
cnoremap ; <Cmd>sleep 10<CR>
call setline(1, repeat(['foo'], 5))
]])
feed(':g/foo/norm :<C-V>;<CR>')
poke_eventloop() -- Wait for :sleep to start
feed('<C-C>')
screen:expect([[
^foo |
foo |
foo |
foo |
foo |
{1:Interrupted} |
]])
-- Also test in Ex mode
feed('gQg/foo/norm :<C-V>;<CR>')
poke_eventloop() -- Wait for :sleep to start
feed('<C-C>')
screen:expect([[
{0: }|
Entering Ex mode. Type "visual" to go to Normal mode. |
:g/foo/norm :; |
|
{1:Interrupted} |
:^ |
]])
end)
end)
|