aboutsummaryrefslogtreecommitdiff
path: root/test/unit/indent_spec.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-08-19 19:20:39 +0800
committerGitHub <noreply@github.com>2022-08-19 19:20:39 +0800
commit2af9be3db59b2e26268dc62cb65e673e2f7d4783 (patch)
tree37d12b5e0ff7b9847c2504c544e691733015a577 /test/unit/indent_spec.lua
parent5dc43265b1f966a9653cc552fa5301ee487a8116 (diff)
downloadrneovim-2af9be3db59b2e26268dc62cb65e673e2f7d4783.tar.gz
rneovim-2af9be3db59b2e26268dc62cb65e673e2f7d4783.tar.bz2
rneovim-2af9be3db59b2e26268dc62cb65e673e2f7d4783.zip
vim-patch:8.1.1966: some code in options.c fits better elsewhere (#19840)
Problem: Some code in options.c fits better elsewhere. Solution: Move functions from options.c to other files. (Yegappan Lakshmanan, closes vim/vim#4889) https://github.com/vim/vim/commit/e677df8d93772a705f40a94f3c871aee78fe4d99
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)