diff options
Diffstat (limited to 'test/functional/api/tabpage_spec.lua')
-rw-r--r-- | test/functional/api/tabpage_spec.lua | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/functional/api/tabpage_spec.lua b/test/functional/api/tabpage_spec.lua new file mode 100644 index 0000000000..9937e0c72e --- /dev/null +++ b/test/functional/api/tabpage_spec.lua @@ -0,0 +1,42 @@ +-- Sanity checks for tabpage_* API calls via msgpack-rpc +local helpers = require('test.functional.helpers') +local clear, nvim, tabpage, curtab, eq, ok = + helpers.clear, helpers.nvim, helpers.tabpage, helpers.curtab, helpers.eq, + helpers.ok + +describe('tabpage_* functions', function() + before_each(clear) + + describe('get_windows and get_window', function() + it('works', function() + nvim('command', 'tabnew') + nvim('command', 'vsplit') + local tab1, tab2 = unpack(nvim('get_tabpages')) + local win1, win2, win3 = unpack(nvim('get_windows')) + eq({win1}, tabpage('get_windows', tab1)) + eq({win2, win3}, tabpage('get_windows', tab2)) + eq(win2, tabpage('get_window', tab2)) + nvim('set_current_window', win3) + eq(win3, tabpage('get_window', tab2)) + end) + end) + + describe('{get,set}_var', function() + it('works', function() + curtab('set_var', 'lua', {1, 2, {['3'] = 1}}) + eq({1, 2, {['3'] = 1}}, curtab('get_var', 'lua')) + eq({1, 2, {['3'] = 1}}, nvim('eval', 't:lua')) + end) + end) + + describe('is_valid', function() + it('works', function() + nvim('command', 'tabnew') + local tab = nvim('get_tabpages')[2] + nvim('set_current_tabpage', tab) + ok(tabpage('is_valid', tab)) + nvim('command', 'tabclose') + ok(not tabpage('is_valid', tab)) + end) + end) +end) |