mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-17 10:50:06 -04:00
tests/indent: add Lua tests
This commit is contained in:
parent
1d7e5144ab
commit
70ebdac96a
7 changed files with 105 additions and 0 deletions
7
lua/tests/indent/lua/comment.lua
Normal file
7
lua/tests/indent/lua/comment.lua
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
-- some
|
||||||
|
-- comment
|
||||||
|
|
||||||
|
--[[
|
||||||
|
another
|
||||||
|
comment
|
||||||
|
--]]
|
||||||
12
lua/tests/indent/lua/cond.lua
Normal file
12
lua/tests/indent/lua/cond.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
local x = 10
|
||||||
|
|
||||||
|
if x > 3 then
|
||||||
|
x = 3
|
||||||
|
elseif x < 3 then
|
||||||
|
x = -3
|
||||||
|
else
|
||||||
|
if x > 0 then
|
||||||
|
x = 1
|
||||||
|
end
|
||||||
|
x = 0
|
||||||
|
end
|
||||||
9
lua/tests/indent/lua/func.lua
Normal file
9
lua/tests/indent/lua/func.lua
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
function foo(x)
|
||||||
|
local bar = function(a, b, c)
|
||||||
|
return a + b + c
|
||||||
|
end
|
||||||
|
return bar(
|
||||||
|
x,
|
||||||
|
1,
|
||||||
|
2)
|
||||||
|
end
|
||||||
14
lua/tests/indent/lua/loop.lua
Normal file
14
lua/tests/indent/lua/loop.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
local x = 1
|
||||||
|
|
||||||
|
while x < 10 do
|
||||||
|
x = x + 1
|
||||||
|
break
|
||||||
|
end
|
||||||
|
|
||||||
|
for i = 1,3 do
|
||||||
|
x = x + i
|
||||||
|
end
|
||||||
|
|
||||||
|
repeat
|
||||||
|
x = x + 1
|
||||||
|
until x > 100
|
||||||
5
lua/tests/indent/lua/string.lua
Normal file
5
lua/tests/indent/lua/string.lua
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
local s = [[
|
||||||
|
a
|
||||||
|
multiline
|
||||||
|
string
|
||||||
|
]]
|
||||||
10
lua/tests/indent/lua/table.lua
Normal file
10
lua/tests/indent/lua/table.lua
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
local a = {
|
||||||
|
x = 1,
|
||||||
|
y = 2,
|
||||||
|
z = {
|
||||||
|
1, 2, 3,
|
||||||
|
},
|
||||||
|
['hello world'] = {
|
||||||
|
1, 2, 3
|
||||||
|
}
|
||||||
|
}
|
||||||
48
lua/tests/indent/lua_spec.lua
Normal file
48
lua/tests/indent/lua_spec.lua
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
local whole_file = require('nvim-treesitter.test_utils').indent_whole_file
|
||||||
|
local new_line = require('nvim-treesitter.test_utils').indent_new_line
|
||||||
|
local scan_dir = require('plenary.scandir').scan_dir
|
||||||
|
|
||||||
|
local opts = {
|
||||||
|
tabstop = 2,
|
||||||
|
shiftwidth = 2,
|
||||||
|
softtabstop = 0,
|
||||||
|
expandtab = true,
|
||||||
|
}
|
||||||
|
|
||||||
|
describe('indent Lua:', function()
|
||||||
|
describe('whole file:', function()
|
||||||
|
local files = scan_dir('lua/tests/indent/lua');
|
||||||
|
for _, file in ipairs(files) do
|
||||||
|
it(vim.fn.fnamemodify(file, ':t'), function()
|
||||||
|
whole_file(file, opts)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
describe('new line:', function()
|
||||||
|
local run = function(file, spec, title)
|
||||||
|
title = title and title or tostring(spec.on_line)
|
||||||
|
it(string.format('%s[%s]', file, title), function()
|
||||||
|
new_line('lua/tests/indent/lua/' .. file, spec, opts)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
run('comment.lua', { on_line = 1, text = 'line', indent = '-- ' })
|
||||||
|
run('comment.lua', { on_line = 5, text = 'multiline', indent = ' ' })
|
||||||
|
run('func.lua', { on_line = 1, text = 'x = x + 1', indent = 2 })
|
||||||
|
run('func.lua', { on_line = 2, text = 'y = y + 1', indent = 4 })
|
||||||
|
run('func.lua', { on_line = 5, text = '3,', indent = 4 })
|
||||||
|
run('string.lua', { on_line = 1, text = 'x', indent = 0 })
|
||||||
|
run('string.lua', { on_line = 2, text = 'x', indent = 0 })
|
||||||
|
run('string.lua', { on_line = 3, text = 'x', indent = 2 })
|
||||||
|
run('string.lua', { on_line = 4, text = 'x', indent = 4 })
|
||||||
|
run('table.lua', { on_line = 1, text = 'b = 0,', indent = 2 })
|
||||||
|
run('table.lua', { on_line = 5, text = '4,', indent = 4 })
|
||||||
|
run('table.lua', { on_line = 7, text = '4,', indent = 4 })
|
||||||
|
run('loop.lua', { on_line = 4, text = 'x = x + 1', indent = 2 })
|
||||||
|
run('cond.lua', { on_line = 5, text = 'x = x + 1', indent = 2 })
|
||||||
|
run('cond.lua', { on_line = 7, text = 'x = x + 1', indent = 2 })
|
||||||
|
run('cond.lua', { on_line = 8, text = 'x = x + 1', indent = 4 })
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue