diff options
author | Kalle Ranki <kalle.ranki@gmail.com> | 2016-09-04 10:54:41 +0300 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2016-09-04 09:54:41 +0200 |
commit | e75e9c10dc947bc4aac0aea927e47038bf984b7f (patch) | |
tree | 60a6c0ac9f79c68155ab33321261525352b9b221 /test/unit/option_spec.lua | |
parent | 9bba8ba372298d7cfac543085df6546e18d2c256 (diff) | |
download | rneovim-e75e9c10dc947bc4aac0aea927e47038bf984b7f.tar.gz rneovim-e75e9c10dc947bc4aac0aea927e47038bf984b7f.tar.bz2 rneovim-e75e9c10dc947bc4aac0aea927e47038bf984b7f.zip |
test: Add unittest spec for option.c (#5289)
Move typedef expand_T to types.h for tests
Fix lint error for old style comments
Describe 'check_ff_value' valid values as an initial test.
Fix 'get_sts_value' comment inaccuracy and add unit test for it
Diffstat (limited to 'test/unit/option_spec.lua')
-rw-r--r-- | test/unit/option_spec.lua | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/test/unit/option_spec.lua b/test/unit/option_spec.lua new file mode 100644 index 0000000000..8bab0194a2 --- /dev/null +++ b/test/unit/option_spec.lua @@ -0,0 +1,51 @@ +local helpers = require("test.unit.helpers") + +local to_cstr = helpers.to_cstr +local eq = helpers.eq + +local option = helpers.cimport("./src/nvim/option.h") +local globals = helpers.cimport("./src/nvim/globals.h") + +local check_ff_value = function(ff) + return option.check_ff_value(to_cstr(ff)) +end + +describe('check_ff_value', function() + + it('views empty string as valid', function() + eq(1, check_ff_value("")) + end) + + it('views "unix", "dos" and "mac" as valid', function() + eq(1, check_ff_value("unix")) + eq(1, check_ff_value("dos")) + eq(1, check_ff_value("mac")) + end) + + it('views "foo" as invalid', function() + eq(0, check_ff_value("foo")) + end) +end) + +describe('get_sts_value', function() + it([[returns 'softtabstop' when it is non-negative]], function() + globals.curbuf.b_p_sts = 5 + eq(5, option.get_sts_value()) + + globals.curbuf.b_p_sts = 0 + eq(0, option.get_sts_value()) + end) + + it([[returns "effective shiftwidth" when 'softtabstop' is negative]], function() + local shiftwidth = 2 + globals.curbuf.b_p_sw = shiftwidth + local tabstop = 5 + globals.curbuf.b_p_ts = tabstop + globals.curbuf.b_p_sts = -2 + eq(shiftwidth, option.get_sts_value()) + + shiftwidth = 0 + globals.curbuf.b_p_sw = shiftwidth + eq(tabstop, option.get_sts_value()) + end) +end) |