diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2018-04-08 03:01:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-08 03:01:15 +0200 |
commit | fa6415f13f526220237cff6c6f0055aaad2cdd9e (patch) | |
tree | c1d90c7903dd5a4b7ae45b3a3cca852c9ab6b26a /test/functional/api/ui_spec.lua | |
parent | 929a732d006ddd2bac49cf5e555e9e83372a511d (diff) | |
download | rneovim-fa6415f13f526220237cff6c6f0055aaad2cdd9e.tar.gz rneovim-fa6415f13f526220237cff6c6f0055aaad2cdd9e.tar.bz2 rneovim-fa6415f13f526220237cff6c6f0055aaad2cdd9e.zip |
test/API: validate channel arg (#8245)
Diffstat (limited to 'test/functional/api/ui_spec.lua')
-rw-r--r-- | test/functional/api/ui_spec.lua | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/functional/api/ui_spec.lua b/test/functional/api/ui_spec.lua new file mode 100644 index 0000000000..32aae5d8f2 --- /dev/null +++ b/test/functional/api/ui_spec.lua @@ -0,0 +1,39 @@ +local helpers = require('test.functional.helpers')(after_each) +local Screen = require('test.functional.ui.screen') +local clear = helpers.clear +local eq = helpers.eq +local eval = helpers.eval +local request = helpers.request + +describe('nvim_ui_attach()', function() + before_each(function() + clear() + end) + it('handles very large width/height #2180', function() + local screen = Screen.new(999, 999) + screen:attach() + eq(999, eval('&lines')) + eq(999, eval('&columns')) + end) + it('invalid option returns error', function() + local screen = Screen.new() + local status, rv = pcall(function() screen:attach({foo={'foo'}}) end) + eq(false, status) + eq('No such UI option', rv:match("No such .*")) + end) + it('validates channel arg', function() + assert.has_error(function() request('nvim_ui_try_resize', 40, 10) end, + 'UI not attached to channel: 1') + assert.has_error(function() request('nvim_ui_set_option', 'rgb', true) end, + 'UI not attached to channel: 1') + assert.has_error(function() request('nvim_ui_detach') end, + 'UI not attached to channel: 1') + + local screen = Screen.new() + screen:attach({rgb=false}) + assert.has_error(function() + request('nvim_ui_attach', 40, 10, { rgb=false }) + end, + 'UI already attached to channel: 1') + end) +end) |