aboutsummaryrefslogtreecommitdiffstats
path: root/tests/indent/t32_spec.lua
diff options
context:
space:
mode:
authorChristoph Sax <christoph.sax@mailbox.org>2023-07-30 17:23:30 +0200
committerChristian Clason <c.clason@uni-graz.at>2023-07-30 19:29:33 +0200
commit536c8a3880a79492e6d69506b36088ebf4dd2f2a (patch)
treeedec49275195d064df4ace4a4085e48ddbd44796 /tests/indent/t32_spec.lua
parentfeat(t32)!: update queries for new HLL node types (diff)
downloadnvim-treesitter-536c8a3880a79492e6d69506b36088ebf4dd2f2a.tar
nvim-treesitter-536c8a3880a79492e6d69506b36088ebf4dd2f2a.tar.gz
nvim-treesitter-536c8a3880a79492e6d69506b36088ebf4dd2f2a.tar.bz2
nvim-treesitter-536c8a3880a79492e6d69506b36088ebf4dd2f2a.tar.lz
nvim-treesitter-536c8a3880a79492e6d69506b36088ebf4dd2f2a.tar.xz
nvim-treesitter-536c8a3880a79492e6d69506b36088ebf4dd2f2a.tar.zst
nvim-treesitter-536c8a3880a79492e6d69506b36088ebf4dd2f2a.zip
feat(t32): re-enable tests
- Switch to GitLab mirror repository - Lock grammar version 2.2.0 - Revert "fix(tests): mark t32 as allowed to fail" This reverts commit ba223ceecc5d66312780c45079b6ae55c406fa96. - Revert "fix(tests): remove t32 tests" This reverts commit 97957a547b93412411ba3a8a9abd27589247c869.
Diffstat (limited to 'tests/indent/t32_spec.lua')
-rw-r--r--tests/indent/t32_spec.lua123
1 files changed, 123 insertions, 0 deletions
diff --git a/tests/indent/t32_spec.lua b/tests/indent/t32_spec.lua
new file mode 100644
index 000000000..b305cd61c
--- /dev/null
+++ b/tests/indent/t32_spec.lua
@@ -0,0 +1,123 @@
+local Runner = require("tests.indent.common").Runner
+local XFAIL = require("tests.indent.common").XFAIL
+
+local runner = Runner:new(it, "tests/indent/t32", {
+ tabstop = 2,
+ shiftwidth = 2,
+ softtabstop = 0,
+ expandtab = true,
+})
+
+describe("indent t32:", function()
+ describe("whole file:", function()
+ runner:whole_file "."
+ end)
+
+ describe("new line:", function()
+ runner:new_line("if_block.cmm", { on_line = 2, text = "GOTO start", indent = 0 }, "command after IF", XFAIL)
+
+ runner:new_line("if_block.cmm", { on_line = 5, text = "GOTO start", indent = 2 }, "command in IF then block")
+
+ runner:new_line("if_block.cmm", { on_line = 4, text = "(", indent = 0 }, "block after IF")
+
+ for ii, test in ipairs {
+ { 1, 2 },
+ { 14, 2 },
+ { 19, 2 },
+ { 21, 2 },
+ { 41, 2 },
+ { 42, 4 },
+ } do
+ runner:new_line(
+ "if_block.cmm",
+ { on_line = test[1], text = "&x=1.", indent = test[2] },
+ "command in IF then[" .. ii .. "]"
+ )
+ end
+
+ runner:new_line("if_block.cmm", { on_line = 45, text = "&x=1.", indent = 2 }, "command in IF then")
+
+ for ii, test in ipairs {
+ { 16, 2 },
+ { 21, 2 },
+ { 23, 2 },
+ { 44, 4 },
+ } do
+ runner:new_line(
+ "if_block.cmm",
+ { on_line = test[1], text = "(\n", indent = test[2] },
+ "command in IF else[" .. ii .. "]"
+ )
+ end
+
+ runner:new_line("while_block.cmm", { on_line = 2, text = "&x=1.", indent = 2 }, "command after WHILE")
+
+ runner:new_line("while_block.cmm", { on_line = 4, text = "&x=1.", indent = 0 }, "command after WHILE")
+
+ runner:new_line("while_block.cmm", { on_line = 1, text = "(\n", indent = 0 }, "block in WHILE then")
+
+ for ii, test in ipairs {
+ { 5, 2 },
+ { 12, 2 },
+ } do
+ runner:new_line(
+ "while_block.cmm",
+ { on_line = test[1], text = "&x=1.", indent = test[2] },
+ "command in WHILE then block[" .. ii .. "]"
+ )
+ end
+
+ for ii, test in ipairs {
+ { 1, 0, nil },
+ { 4, 2, XFAIL },
+ } do
+ runner:new_line(
+ "repeat_block.cmm",
+ { on_line = test[1], text = "&x=1.", indent = test[2] },
+ "command after RePeaT[" .. ii .. "]"
+ )
+ end
+
+ runner:new_line("repeat_block.cmm", { on_line = 3, text = "(\n", indent = 0 }, "block in RePeaT then")
+
+ for ii, test in ipairs {
+ { 7, 2, XFAIL },
+ { 18, 2, nil },
+ { 24, 2, XFAIL },
+ } do
+ runner:new_line(
+ "repeat_block.cmm",
+ { on_line = test[1], text = "&x=1.", indent = test[2] },
+ "command in RePeaT then block [" .. ii .. "]"
+ )
+ end
+
+ runner:new_line("subroutine_block.cmm", { on_line = 1, text = "(\n", indent = 0 }, "block after call label")
+
+ for ii, test in ipairs {
+ { 2, 2, XFAIL },
+ { 3, 2, nil },
+ { 8, 2, XFAIL },
+ { 12, 2, nil },
+ { 19, 2, XFAIL },
+ } do
+ runner:new_line(
+ "subroutine_block.cmm",
+ { on_line = test[1], text = "&x=1.", indent = test[2] },
+ "command in subroutine block[" .. ii .. "]"
+ )
+ end
+
+ for ii, test in ipairs {
+ { 5, 2 },
+ { 13, 2 },
+ { 23, 2 },
+ } do
+ runner:new_line(
+ "subroutine_block.cmm",
+ { on_line = test[1], text = "&x=1.", indent = test[2] },
+ "command after subroutine block[" .. ii .. "]"
+ )
+ end
+ end)
+end)