Add indentation tests
This commit is contained in:
parent
f8f328fa17
commit
0ca28eb2e9
22
test/indent/expressions.bp
Normal file
22
test/indent/expressions.bp
Normal file
|
@ -0,0 +1,22 @@
|
|||
foo = 1 + 2
|
||||
|
||||
foo = [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
]
|
||||
|
||||
foo = {
|
||||
foo: [
|
||||
"bar",
|
||||
],
|
||||
},
|
||||
|
||||
foo = {
|
||||
foo: [
|
||||
"bar",
|
||||
{
|
||||
key: "value",
|
||||
},
|
||||
],
|
||||
},
|
28
test/indent/select.bp
Normal file
28
test/indent/select.bp
Normal file
|
@ -0,0 +1,28 @@
|
|||
foo = select(variant("VARIANT"), {
|
||||
"x86": "my_x86",
|
||||
"x86_64": [
|
||||
"x86",
|
||||
"x64",
|
||||
],
|
||||
"arm": {
|
||||
some: "aarch",
|
||||
value: "aarch64",
|
||||
},
|
||||
default: 0,
|
||||
})
|
||||
|
||||
foo = select(
|
||||
variant("VARIANT"),
|
||||
{
|
||||
"x86": "my_x86",
|
||||
"x86_64": [
|
||||
"x86",
|
||||
"x64",
|
||||
],
|
||||
"arm": {
|
||||
some: "aarch",
|
||||
value: "aarch64",
|
||||
},
|
||||
default: 0,
|
||||
}
|
||||
)
|
47
test/indent_spec.lua
Normal file
47
test/indent_spec.lua
Normal file
|
@ -0,0 +1,47 @@
|
|||
package.path = package.path .. ";" .. vim.env.NVIM_TREESITTER .. "/?.lua"
|
||||
|
||||
local Runner = require("tests.indent.common").Runner
|
||||
|
||||
-- FIXME: path to root
|
||||
local runner = Runner:new(it, ".", {
|
||||
tabstop = 4,
|
||||
shiftwidth = 4,
|
||||
softtabstop = 0,
|
||||
expandtab = true,
|
||||
})
|
||||
|
||||
describe("indent Blueprint:", function()
|
||||
describe("whole file:", function()
|
||||
runner:whole_file("test/highlight/", {
|
||||
expected_failures = {
|
||||
-- NOTE: none for now
|
||||
},
|
||||
})
|
||||
runner:whole_file("test/indent/", {
|
||||
expected_failures = {
|
||||
-- NOTE: none for now
|
||||
},
|
||||
})
|
||||
end)
|
||||
|
||||
describe("new line:", function()
|
||||
runner:new_line("test/indent/expressions.bp", { on_line = 2, text = "foo = 42", indent = 0 }, "variable declaration")
|
||||
runner:new_line("test/indent/expressions.bp", { on_line = 4, text = "0,", indent = 4 }, "list element")
|
||||
runner:new_line("test/indent/expressions.bp", { on_line = 6, text = "]", indent = 0 }, "list closing delimiter")
|
||||
runner:new_line("test/indent/expressions.bp", { on_line = 9, text = "key: 42", indent = 4 }, "map property")
|
||||
runner:new_line("test/indent/expressions.bp", { on_line = 12, text = "key: 42", indent = 4 }, "map property, trailing")
|
||||
runner:new_line("test/indent/expressions.bp", { on_line = 9, text = "}", indent = 0 }, "map closing delimiter")
|
||||
runner:new_line("test/indent/expressions.bp", { on_line = 11, text = "]", indent = 4 }, "nested list closing delimiter")
|
||||
runner:new_line("test/indent/expressions.bp", { on_line = 18, text = "key: 42", indent = 12 }, "nested map property")
|
||||
runner:new_line("test/indent/expressions.bp", { on_line = 19, text = "key: 42", indent = 12 }, "nested map property, trailing")
|
||||
|
||||
runner:new_line("test/indent/select.bp", { on_line = 1, text = '"case": "value"', indent = 4 }, "select case")
|
||||
runner:new_line("test/indent/select.bp", { on_line = 1, text = 'default: "value"', indent = 4 }, "default case")
|
||||
runner:new_line("test/indent/select.bp", { on_line = 11, text = '"case": "value"', indent = 4 }, "select case, trailing")
|
||||
runner:new_line("test/indent/select.bp", { on_line = 11, text = 'default: "value"', indent = 4 }, "default case, trailing")
|
||||
runner:new_line("test/indent/select.bp", { on_line = 16, text = '"case": "value"', indent = 8 }, "select case, alternate formatting")
|
||||
runner:new_line("test/indent/select.bp", { on_line = 16, text = 'default: "value"', indent = 8 }, "default case, alternate formatting")
|
||||
runner:new_line("test/indent/select.bp", { on_line = 26, text = '"case": "value"', indent = 8 }, "select case, trailing, alternate formattingg")
|
||||
runner:new_line("test/indent/select.bp", { on_line = 26, text = 'default: "value"', indent = 8 }, "default case, trailing, alternate formattingn")
|
||||
end)
|
||||
end)
|
Loading…
Reference in a new issue