aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/functional/legacy/close_count_spec.lua182
1 files changed, 182 insertions, 0 deletions
diff --git a/test/functional/legacy/close_count_spec.lua b/test/functional/legacy/close_count_spec.lua
new file mode 100644
index 0000000000..04f310181a
--- /dev/null
+++ b/test/functional/legacy/close_count_spec.lua
@@ -0,0 +1,182 @@
+-- Tests for :[count]close! and :[count]hide
+
+local helpers = require('test.functional.helpers')
+local feed, insert, source = helpers.feed, helpers.insert, helpers.source
+local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
+
+describe('close_count', function()
+ setup(function()
+ clear()
+ os.remove('test.out')
+ end)
+ teardown(function()
+ os.remove('test.out')
+ end)
+
+ it('is working', function()
+ execute('let tests = []')
+ execute('for i in range(5)')
+ execute('new')
+ execute('endfor')
+ execute('4wincmd w')
+ execute('close!')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('1close!')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('$close!')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('1wincmd w')
+ execute('2close!')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('1wincmd w')
+ execute('new')
+ execute('new')
+ execute('2wincmd w')
+ execute('-1close!')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('2wincmd w')
+ execute('+1close!')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('e! test.out')
+ execute([[call append(0, map(copy(tests), 'join(v:val, " ")'))]])
+ execute('w')
+ execute('only!')
+ execute('b1')
+ execute('let tests = []')
+ execute('so tiny.vim')
+ execute('for i in range(5)')
+ execute('new')
+ execute('endfor')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('4wincmd w')
+ execute('.hide')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('1hide')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('$hide')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('1wincmd w')
+ execute('2hide')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('1wincmd w')
+ execute('new')
+ execute('new')
+ execute('3wincmd w')
+ execute('-hide')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('2wincmd w')
+ execute('+hide')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('e! test.out')
+ execute([[call append(line('$'), map(copy(tests), 'join(v:val, " ")'))]])
+ feed('Go<esc>')
+ execute('w')
+ execute('only!')
+ execute('b1')
+ execute('let tests = []')
+ execute('so tiny.vim')
+ execute('set hidden')
+ execute('for i in range(5)')
+ execute('new')
+ execute('endfor')
+ execute('1wincmd w')
+ execute('$ hide')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('$-1 close!')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('1wincmd w')
+ execute('.+close!')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('e! test.out')
+ execute([[call append(line('$'), map(copy(tests), 'join(v:val, " ")'))]])
+ feed('Go<esc>')
+ execute('w')
+ execute('only!')
+ execute('b1')
+ execute('let tests = []')
+ execute('so tiny.vim')
+ execute('set hidden')
+ execute('for i in range(5)')
+ execute('new')
+ execute('endfor')
+ execute('4wincmd w')
+ feed('<C-W>c<cr>')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ feed('1<C-W>c<cr>')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ feed('9<C-W>c<cr>')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('1wincmd w')
+ feed('2<C-W>c<cr>')
+ execute('let buffers = []')
+ execute([[windo call add(buffers, bufnr('%'))]])
+ execute('call add(tests, buffers)')
+ execute('only!')
+ execute('e! test.out')
+ execute([[call append(line('$'), map(copy(tests), 'join(v:val, " ")'))]])
+
+ -- Assert buffer contents.
+ expect([=[
+ 6 5 4 2 1
+ 5 4 2 1
+ 5 4 2
+ 5 2
+ 7 5 2
+ 7 5
+
+ 13 12 11 10 9 1
+ 13 12 11 9 1
+ 12 11 9 1
+ 12 11 9
+ 12 9
+ 15 12 9
+ 15 12
+
+ 20 19 18 17 16
+ 20 19 18 16
+ 20 18 16
+
+ 25 24 23 21 1
+ 24 23 21 1
+ 24 23 21
+ 24 21]=])
+ end)
+end)