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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
-- Test for autocommand that changes the buffer list, when doing ":ball".
local n = require('test.functional.testnvim')()
local clear, feed, insert = n.clear, n.feed, n.insert
local feed_command, expect = n.feed_command, n.expect
describe(':ball', function()
setup(clear)
it('is working', function()
-- Must disable 'hidden' so that the BufReadPost autocmd is triggered
-- when Xxx2 is reloaded
feed_command('set nohidden')
insert([[
start of test file Xxx
this is a test
this is a test
end of test file Xxx]])
feed_command('w! Xxx0')
feed('gg')
-- Write test file Xxx1
feed('A1<esc>:.,/end of/w! Xxx1<cr>')
feed_command('sp Xxx1')
feed_command('close')
-- Write test file Xxx2
feed('$r2:.,/end of/w! Xxx2<cr>')
feed_command('sp Xxx2')
feed_command('close')
-- Write test file Xxx3
feed('$r3:.,/end of/w! Xxx3<cr>')
feed_command('sp Xxx3')
feed_command('close')
feed_command('au BufReadPost Xxx2 bwipe')
-- Open window for all args, close Xxx2
feed('$r4:ball<cr>')
-- Write contents of this file
feed_command('%yank A')
-- Append contents of second window (Xxx1)
feed('')
feed_command('%yank A')
-- Append contents of last window (this file)
feed('')
feed_command('%yank A')
feed_command('bf')
feed_command('%d')
feed_command('0put=@a')
feed_command('$d')
expect([[
start of test file Xxx4
this is a test
this is a test
end of test file Xxx
start of test file Xxx1
this is a test
this is a test
end of test file Xxx
start of test file Xxx4
this is a test
this is a test
end of test file Xxx]])
end)
teardown(function()
os.remove('Xxx0')
os.remove('Xxx1')
os.remove('Xxx2')
os.remove('Xxx3')
end)
end)
|