diff options
Diffstat (limited to 'tests/indent/tiger_spec.lua')
| -rw-r--r-- | tests/indent/tiger_spec.lua | 272 |
1 files changed, 196 insertions, 76 deletions
diff --git a/tests/indent/tiger_spec.lua b/tests/indent/tiger_spec.lua index c1f252fd8..b41019c12 100644 --- a/tests/indent/tiger_spec.lua +++ b/tests/indent/tiger_spec.lua @@ -1,113 +1,233 @@ -local Runner = require("tests.indent.common").Runner +local Runner = require('tests.indent.common').Runner -local runner = Runner:new(it, "tests/indent/tiger", { +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 "." +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") - 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") - 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") - 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") + describe('new line:', function() + runner:new_line( + 'classes.tig', + { on_line = 1, text = 'var a := 0', indent = 2 }, + 'class declaration beginning' + ) + 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' + ) + 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' + ) + 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") - runner:new_line("control-flow.tig", { on_line = 4, text = "true", indent = 4 }, "if consequence") - runner:new_line("control-flow.tig", { on_line = 4, text = "true", indent = 4 }, "if alternative") - runner:new_line("control-flow.tig", { on_line = 10, text = "start := 0", indent = 4 }, "for index start") - runner:new_line("control-flow.tig", { on_line = 12, text = "the_end", indent = 4 }, "for index end") - runner:new_line("control-flow.tig", { on_line = 14, text = "break", indent = 4 }, "for body") - runner:new_line("control-flow.tig", { on_line = 18, text = "true", indent = 4 }, "while condition") - runner:new_line("control-flow.tig", { on_line = 20, text = "break", indent = 4 }, "while body") + runner:new_line('control-flow.tig', { on_line = 2, text = 'true', indent = 4 }, 'if condition') + runner:new_line( + 'control-flow.tig', + { on_line = 4, text = 'true', indent = 4 }, + 'if consequence' + ) + runner:new_line( + 'control-flow.tig', + { on_line = 4, text = 'true', indent = 4 }, + 'if alternative' + ) + runner:new_line( + 'control-flow.tig', + { on_line = 10, text = 'start := 0', indent = 4 }, + 'for index start' + ) + runner:new_line( + 'control-flow.tig', + { on_line = 12, text = 'the_end', indent = 4 }, + 'for index end' + ) + runner:new_line('control-flow.tig', { on_line = 14, text = 'break', indent = 4 }, 'for body') + runner:new_line( + 'control-flow.tig', + { on_line = 18, text = 'true', indent = 4 }, + 'while condition' + ) + runner:new_line('control-flow.tig', { on_line = 20, text = 'break', indent = 4 }, 'while body') - runner:new_line("functions.tig", { on_line = 1, text = "parameter: int,", indent = 2 }, "parameter list beginning") - 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") - runner:new_line("functions.tig", { on_line = 9, text = "a,", indent = 6 }, "function call beginning") - 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") + runner:new_line( + 'functions.tig', + { on_line = 1, text = 'parameter: int,', indent = 2 }, + 'parameter list beginning' + ) + 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' + ) + runner:new_line( + 'functions.tig', + { on_line = 9, text = 'a,', indent = 6 }, + 'function call beginning' + ) + 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' + ) - 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'") - runner:new_line("groupings.tig", { on_line = 4, text = "a := a + 1;", indent = 4 }, "sequence") - 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( + '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'") + runner:new_line('groupings.tig', { on_line = 4, text = 'a := a + 1;', indent = 4 }, 'sequence') + 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" + 'values-and-expressions.tig', + { on_line = 4, text = 'field: record,', indent = 4 }, + 'record type beginning' + ) + 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' + ) + 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 = 5, text = "field: record,", indent = 4 }, - "record type middle" + 'values-and-expressions.tig', + { on_line = 13, text = 'a', indent = 4 }, + 'array index' ) runner:new_line( - "values-and-expressions.tig", - { on_line = 7, text = ",field: record", indent = 4 }, - "record type end" + 'values-and-expressions.tig', + { on_line = 14, text = '+ a', indent = 4 }, + 'array index follow-up' ) - 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" + 'values-and-expressions.tig', + { on_line = 15, text = '+ a', indent = 2 }, + 'after array value' ) runner:new_line( - "values-and-expressions.tig", - { on_line = 11, text = "+ a", indent = 4 }, - "variable declaration init follow-up" + 'values-and-expressions.tig', + { on_line = 18, text = 'a', indent = 4 }, + 'array expression size' ) - runner:new_line("values-and-expressions.tig", { on_line = 13, text = "a", indent = 4 }, "array index") - 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") runner:new_line( - "values-and-expressions.tig", - { on_line = 20, text = "of", indent = 4 }, - "array expression after size" + 'values-and-expressions.tig', + { on_line = 20, text = 'of', indent = 4 }, + 'array expression after size' ) runner:new_line( - "values-and-expressions.tig", - { on_line = 21, text = "a", indent = 4 }, - "array expression init value" + 'values-and-expressions.tig', + { on_line = 21, text = 'a', indent = 4 }, + 'array expression init value' ) runner:new_line( - "values-and-expressions.tig", - { on_line = 25, text = "field = 0,", indent = 4 }, - "record expression beginning" + 'values-and-expressions.tig', + { on_line = 25, text = 'field = 0,', indent = 4 }, + 'record expression beginning' ) runner:new_line( - "values-and-expressions.tig", - { on_line = 26, text = "field = 0,", indent = 4 }, - "record expression middle" + '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" + '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" + 'values-and-expressions.tig', + { on_line = 29, text = 'a := 0', indent = 2 }, + 'after record expression' ) end) end) |
