mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-02 19:46:58 -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