aboutsummaryrefslogtreecommitdiff
path: root/test/functional/options/num_options_spec.lua
diff options
context:
space:
mode:
authorJakob Schnitzer <mail@jakobschnitzer.de>2017-03-27 09:51:14 +0200
committerJakob Schnitzer <mail@jakobschnitzer.de>2017-03-30 23:04:54 +0200
commit628d0335b8e402008b3c03db9f5d2a109d5e8ef2 (patch)
treee09ceb262b1bbb802d03b8d5b6b1d0fb7b4b17a3 /test/functional/options/num_options_spec.lua
parente47622f26b40d88bb8582c391df30474a64a082c (diff)
downloadrneovim-628d0335b8e402008b3c03db9f5d2a109d5e8ef2.tar.gz
rneovim-628d0335b8e402008b3c03db9f5d2a109d5e8ef2.tar.bz2
rneovim-628d0335b8e402008b3c03db9f5d2a109d5e8ef2.zip
options: add some tests
Diffstat (limited to 'test/functional/options/num_options_spec.lua')
-rw-r--r--test/functional/options/num_options_spec.lua42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/functional/options/num_options_spec.lua b/test/functional/options/num_options_spec.lua
new file mode 100644
index 0000000000..c37bbeffc3
--- /dev/null
+++ b/test/functional/options/num_options_spec.lua
@@ -0,0 +1,42 @@
+-- Tests for :setlocal and :setglobal
+
+local helpers = require('test.functional.helpers')(after_each)
+local clear, execute, eval, eq, nvim =
+ helpers.clear, helpers.execute, helpers.eval, helpers.eq, helpers.nvim
+
+local function get_num_option_global(opt)
+ return nvim('command_output', 'setglobal ' .. opt .. '?'):match('%d+')
+end
+
+local function should_fail(opt, value, errmsg)
+ execute('let v:errmsg = ""')
+ execute('setglobal ' .. opt .. '=' .. value)
+ eq(errmsg, eval("v:errmsg"):match("E%d*:"))
+ execute('let v:errmsg = ""')
+ execute('setlocal ' .. opt .. '=' .. value)
+ eq(errmsg, eval("v:errmsg"):match("E%d*:"))
+ execute('let v:errmsg = ""')
+end
+
+describe(':setlocal', function()
+ before_each(clear)
+
+ it('setlocal sets only local value', function()
+ eq('0', get_num_option_global('iminsert'))
+ execute('setlocal iminsert=1')
+ eq('0', get_num_option_global('iminsert'))
+ eq('0', get_num_option_global('imsearch'))
+ execute('setlocal imsearch=1')
+ eq('0', get_num_option_global('imsearch'))
+ end)
+end)
+
+describe(':set validation', function()
+ before_each(clear)
+
+ it('setlocal and setglobal validate values', function()
+ should_fail('shiftwidth', -10, 'E487')
+ should_fail('tabstop', -10, 'E487')
+ should_fail('winheight', -10, 'E487')
+ end)
+end)