aboutsummaryrefslogtreecommitdiff
path: root/test/unit/indent_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/indent_spec.lua')
-rw-r--r--test/unit/indent_spec.lua30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/unit/indent_spec.lua b/test/unit/indent_spec.lua
new file mode 100644
index 0000000000..ec86822b55
--- /dev/null
+++ b/test/unit/indent_spec.lua
@@ -0,0 +1,30 @@
+local helpers = require("test.unit.helpers")(after_each)
+local itp = helpers.gen_itp(it)
+
+local eq = helpers.eq
+
+local indent = helpers.cimport("./src/nvim/indent.h")
+local globals = helpers.cimport("./src/nvim/globals.h")
+
+describe('get_sts_value', function()
+ itp([[returns 'softtabstop' when it is non-negative]], function()
+ globals.curbuf.b_p_sts = 5
+ eq(5, indent.get_sts_value())
+
+ globals.curbuf.b_p_sts = 0
+ eq(0, indent.get_sts_value())
+ end)
+
+ itp([[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, indent.get_sts_value())
+
+ shiftwidth = 0
+ globals.curbuf.b_p_sw = shiftwidth
+ eq(tabstop, indent.get_sts_value())
+ end)
+end)