diff options
| author | Bruno BELANYI <bruno@belanyi.fr> | 2022-06-14 17:30:49 +0200 |
|---|---|---|
| committer | Stephan Seitz <stephan.seitz@fau.de> | 2022-06-14 22:34:03 +0200 |
| commit | 6e3f888dc7e5ea78e121c9ee41d365f339957824 (patch) | |
| tree | 44f3c02804d98f3f2a7bf3916fb93cfee52ba878 /tests/indent/tiger_spec.lua | |
| parent | feat(tiger): initial support (diff) | |
| download | nvim-treesitter-6e3f888dc7e5ea78e121c9ee41d365f339957824.tar nvim-treesitter-6e3f888dc7e5ea78e121c9ee41d365f339957824.tar.gz nvim-treesitter-6e3f888dc7e5ea78e121c9ee41d365f339957824.tar.bz2 nvim-treesitter-6e3f888dc7e5ea78e121c9ee41d365f339957824.tar.lz nvim-treesitter-6e3f888dc7e5ea78e121c9ee41d365f339957824.tar.xz nvim-treesitter-6e3f888dc7e5ea78e121c9ee41d365f339957824.tar.zst nvim-treesitter-6e3f888dc7e5ea78e121c9ee41d365f339957824.zip | |
test(tiger): import upstream tests
Diffstat (limited to 'tests/indent/tiger_spec.lua')
| -rw-r--r-- | tests/indent/tiger_spec.lua | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/tests/indent/tiger_spec.lua b/tests/indent/tiger_spec.lua new file mode 100644 index 000000000..f435b4c03 --- /dev/null +++ b/tests/indent/tiger_spec.lua @@ -0,0 +1,138 @@ +local Runner = require("tests.indent.common").Runner +local XFAIL = require("tests.indent.common").XFAIL + +local runner = Runner:new(it, "tests/indent/tiger", { + tabstop = 2, + shiftwidth = 2, + softtabstop = 0, + expandtab = true, +}) + +describe("indent Tiger:", function() + describe("whole file:", function() + runner:whole_file "." + end) + + describe("new line:", function() + runner:new_line( + "classes.tig", + { on_line = 1, text = "var a := 0", indent = 2 }, + "class declaration beginning", + XFAIL + ) + runner:new_line("classes.tig", { on_line = 2, text = "var a := 0", indent = 2 }, "class declaration after field") + runner:new_line("classes.tig", { on_line = 4, text = "var a := 0", indent = 2 }, "class declaration after method") + runner:new_line("classes.tig", { on_line = 5, text = "var a := 0", indent = 0 }, "after class declaration") + runner:new_line("classes.tig", { on_line = 7, text = "var a := 0", indent = 2 }, "class type beginning", XFAIL) + runner:new_line("classes.tig", { on_line = 8, text = "var a := 0", indent = 2 }, "class type after field") + runner:new_line("classes.tig", { on_line = 10, text = "self.a := 0", indent = 4 }, "inside method", XFAIL) + runner:new_line("classes.tig", { on_line = 13, text = "var a := 0", indent = 2 }, "class type after method") + runner:new_line("classes.tig", { on_line = 14, text = "var a := 0", indent = 0 }, "after class type") + + runner:new_line("control-flow.tig", { on_line = 2, text = "true", indent = 4 }, "if condition", XFAIL) + runner:new_line("control-flow.tig", { on_line = 4, text = "true", indent = 4 }, "if consequence", XFAIL) + runner:new_line("control-flow.tig", { on_line = 4, text = "true", indent = 4 }, "if alternative", XFAIL) + runner:new_line("control-flow.tig", { on_line = 10, text = "start := 0", indent = 4 }, "for index start", XFAIL) + runner:new_line("control-flow.tig", { on_line = 12, text = "the_end", indent = 4 }, "for index end", XFAIL) + runner:new_line("control-flow.tig", { on_line = 14, text = "break", indent = 4 }, "for body", XFAIL) + runner:new_line("control-flow.tig", { on_line = 18, text = "true", indent = 4 }, "while condition", XFAIL) + runner:new_line("control-flow.tig", { on_line = 20, text = "break", indent = 4 }, "while body", XFAIL) + + runner:new_line( + "functions.tig", + { on_line = 1, text = "parameter: int,", indent = 2 }, + "parameter list beginning", + XFAIL + ) + runner:new_line("functions.tig", { on_line = 2, text = "parameter: int,", indent = 2 }, "parameter list middle") + runner:new_line("functions.tig", { on_line = 4, text = ",parameter: int", indent = 2 }, "parameter list end") + runner:new_line("functions.tig", { on_line = 5, text = "var a := 0", indent = 0 }, "after parameter list") + runner:new_line("functions.tig", { on_line = 7, text = "print(a)", indent = 2 }, "function body", XFAIL) + runner:new_line("functions.tig", { on_line = 9, text = "a,", indent = 6 }, "function call beginning", XFAIL) + runner:new_line("functions.tig", { on_line = 10, text = "a,", indent = 6 }, "function call middle") + runner:new_line("functions.tig", { on_line = 12, text = ",a", indent = 6 }, "function call end") + runner:new_line("functions.tig", { on_line = 13, text = "; print(a)", indent = 4 }, "after function call") + runner:new_line( + "functions.tig", + { on_line = 14, text = "var a := 12", indent = 0 }, + "after function declaration", + XFAIL + ) + + runner:new_line("groupings.tig", { on_line = 2, text = "var b := 0", indent = 2 }, "let declarations") + runner:new_line("groupings.tig", { on_line = 3, text = "a := a + 1", indent = 2 }, "after 'in'", XFAIL) + runner:new_line("groupings.tig", { on_line = 4, text = "a := a + 1;", indent = 4 }, "sequence", XFAIL) + runner:new_line("groupings.tig", { on_line = 8, text = "a := a + 1;", indent = 2 }, "after sequence") + runner:new_line("groupings.tig", { on_line = 10, text = "+ 1", indent = 0 }, "after 'end'") + + runner:new_line( + "values-and-expressions.tig", + { on_line = 4, text = "field: record,", indent = 4 }, + "record type beginning", + XFAIL + ) + runner:new_line( + "values-and-expressions.tig", + { on_line = 5, text = "field: record,", indent = 4 }, + "record type middle" + ) + runner:new_line( + "values-and-expressions.tig", + { on_line = 7, text = ",field: record", indent = 4 }, + "record type end" + ) + runner:new_line("values-and-expressions.tig", { on_line = 8, text = "var a := 0", indent = 2 }, "after record type") + runner:new_line( + "values-and-expressions.tig", + { on_line = 10, text = "0", indent = 4 }, + "variable declaration init value", + XFAIL + ) + runner:new_line( + "values-and-expressions.tig", + { on_line = 11, text = "+ a", indent = 4 }, + "variable declaration init follow-up" + ) + runner:new_line("values-and-expressions.tig", { on_line = 13, text = "a", indent = 4 }, "array index", XFAIL) + runner:new_line("values-and-expressions.tig", { on_line = 14, text = "+ a", indent = 4 }, "array index follow-up") + runner:new_line("values-and-expressions.tig", { on_line = 15, text = "+ a", indent = 2 }, "after array value") + runner:new_line( + "values-and-expressions.tig", + { on_line = 18, text = "a", indent = 4 }, + "array expression size", + XFAIL + ) + runner:new_line( + "values-and-expressions.tig", + { on_line = 20, text = "of", indent = 2 }, + "array expression after size" + ) + runner:new_line( + "values-and-expressions.tig", + { on_line = 21, text = "a", indent = 4 }, + "array expression init value", + XFAIL + ) + runner:new_line( + "values-and-expressions.tig", + { on_line = 25, text = "field = 0,", indent = 4 }, + "record expression beginning", + XFAIL + ) + runner:new_line( + "values-and-expressions.tig", + { on_line = 26, text = "field = 0,", indent = 4 }, + "record expression middle" + ) + runner:new_line( + "values-and-expressions.tig", + { on_line = 28, text = ",field = 0", indent = 4 }, + "record expression end" + ) + runner:new_line( + "values-and-expressions.tig", + { on_line = 29, text = "a := 0", indent = 2 }, + "after record expression" + ) + end) +end) |
