diff --git a/lua/tests/indent/cpp_spec.lua b/lua/tests/indent/cpp_spec.lua deleted file mode 100644 index fd1f35799..000000000 --- a/lua/tests/indent/cpp_spec.lua +++ /dev/null @@ -1,62 +0,0 @@ -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 Path = require('plenary.path') - -local opts = { - tabstop = 4, - shiftwidth = 4, - softtabstop = 0, - expandtab = true, - filetype = 'cpp', -} - -local get_name = function(file) - return Path:new(file):make_relative('lua/tests/indent') -end - -describe('indent C++:', function() - describe('whole file:', function() - local files = scan_dir('lua/tests/indent/c'); - vim.list_extend(files, scan_dir('lua/tests/indent/cpp')) - - for _, file in ipairs(files) do - it(get_name(file), 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]', get_name(file), title), function() - new_line(file, spec, opts) - end) - end - - run('lua/tests/indent/cpp/access.cpp', { on_line = 3, text = 'protected:', indent = 0 }) - run('lua/tests/indent/cpp/class.cpp', { on_line = 2, text = 'using T = int;', indent = 4 }) - run('lua/tests/indent/cpp/stream.cpp', { on_line = 5, text = '<< x + 3', indent = 8 }) - - -- TODO: find a clean way to import these from c_spec.lua - run('lua/tests/indent/c/array.c', { on_line = 2, text = '0,', indent = 4 }) - run('lua/tests/indent/c/cond.c', { on_line = 3, text = 'x++;', indent = 8 }) - run('lua/tests/indent/c/cond.c', { on_line = 8, text = 'x++;', indent = 8 }) - run('lua/tests/indent/c/expr.c', { on_line = 10, text = '2 *', indent = 8 }) - run('lua/tests/indent/c/func.c', { on_line = 17, text = 'int z,', indent = 4 }) - run('lua/tests/indent/c/label.c', { on_line = 3, text = 'normal:', indent = 0 }) - run('lua/tests/indent/c/loop.c', { on_line = 3, text = 'x++;', indent = 8 }) - run('lua/tests/indent/c/preproc_cond.c', { on_line = 5, text = 'x++;', indent = 4 }) - run('lua/tests/indent/c/preproc_func.c', { on_line = 3, text = 'x++; \\', indent = 8 }) - run('lua/tests/indent/c/string.c', { on_line = 1, text = 'brave new \\', indent = 0 }) - run('lua/tests/indent/c/string.c', { on_line = 4, text = '"brave new "', indent = 4 }) - run('lua/tests/indent/c/struct.c', { on_line = 4, text = 'int y;', indent = 8 }) - run('lua/tests/indent/c/switch.c', { on_line = 3, text = 'x++;', indent = 12 }) - run('lua/tests/indent/c/ternary.c', { on_line = 4, text = ': (x == 0) : 0', indent = 8 }) - -- the line after inserted one will be left with wrong indent but we only care about the inserted one - run('lua/tests/indent/c/no_braces.c', { on_line = 4, text = 'x++;', indent = 8 }) - run('lua/tests/indent/c/no_braces.c', { on_line = 7, text = 'x++;', indent = 8 }) - run('lua/tests/indent/c/no_braces.c', { on_line = 10, text = 'x++;', indent = 8 }) - end) -end) diff --git a/scripts/run_tests.sh b/scripts/run_tests.sh index 569a2d5e8..c7800d50f 100755 --- a/scripts/run_tests.sh +++ b/scripts/run_tests.sh @@ -5,7 +5,7 @@ cd $HERE/.. run() { nvim --headless --noplugin -u scripts/minimal_init.lua \ - -c "PlenaryBustedDirectory lua/tests/indent/ { minimal_init = './scripts/minimal_init.lua' }" + -c "PlenaryBustedDirectory tests/indent/ { minimal_init = './scripts/minimal_init.lua' }" } if [[ $1 = '--summary' ]]; then diff --git a/scripts/style-check.sh b/scripts/style-check.sh index bf3b906f3..8dfb53aa2 100755 --- a/scripts/style-check.sh +++ b/scripts/style-check.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash # ignore indent test files -luacheck `find -name "*.lua" -not -path "./lua/tests/indent/lua/*"` --codes +luacheck `find -name "*.lua" -not -path "./tests/indent/lua/*"` --codes diff --git a/lua/tests/indent/c/array.c b/tests/indent/c/array.c similarity index 100% rename from lua/tests/indent/c/array.c rename to tests/indent/c/array.c diff --git a/lua/tests/indent/c/comment.c b/tests/indent/c/comment.c similarity index 100% rename from lua/tests/indent/c/comment.c rename to tests/indent/c/comment.c diff --git a/lua/tests/indent/c/cond.c b/tests/indent/c/cond.c similarity index 100% rename from lua/tests/indent/c/cond.c rename to tests/indent/c/cond.c diff --git a/lua/tests/indent/c/enum.c b/tests/indent/c/enum.c similarity index 100% rename from lua/tests/indent/c/enum.c rename to tests/indent/c/enum.c diff --git a/lua/tests/indent/c/expr.c b/tests/indent/c/expr.c similarity index 100% rename from lua/tests/indent/c/expr.c rename to tests/indent/c/expr.c diff --git a/lua/tests/indent/c/func.c b/tests/indent/c/func.c similarity index 100% rename from lua/tests/indent/c/func.c rename to tests/indent/c/func.c diff --git a/lua/tests/indent/c/label.c b/tests/indent/c/label.c similarity index 100% rename from lua/tests/indent/c/label.c rename to tests/indent/c/label.c diff --git a/lua/tests/indent/c/loop.c b/tests/indent/c/loop.c similarity index 100% rename from lua/tests/indent/c/loop.c rename to tests/indent/c/loop.c diff --git a/lua/tests/indent/c/no_braces.c b/tests/indent/c/no_braces.c similarity index 100% rename from lua/tests/indent/c/no_braces.c rename to tests/indent/c/no_braces.c diff --git a/lua/tests/indent/c/preproc_cond.c b/tests/indent/c/preproc_cond.c similarity index 100% rename from lua/tests/indent/c/preproc_cond.c rename to tests/indent/c/preproc_cond.c diff --git a/lua/tests/indent/c/preproc_func.c b/tests/indent/c/preproc_func.c similarity index 100% rename from lua/tests/indent/c/preproc_func.c rename to tests/indent/c/preproc_func.c diff --git a/lua/tests/indent/c/string.c b/tests/indent/c/string.c similarity index 100% rename from lua/tests/indent/c/string.c rename to tests/indent/c/string.c diff --git a/lua/tests/indent/c/struct.c b/tests/indent/c/struct.c similarity index 100% rename from lua/tests/indent/c/struct.c rename to tests/indent/c/struct.c diff --git a/lua/tests/indent/c/switch.c b/tests/indent/c/switch.c similarity index 100% rename from lua/tests/indent/c/switch.c rename to tests/indent/c/switch.c diff --git a/lua/tests/indent/c/ternary.c b/tests/indent/c/ternary.c similarity index 100% rename from lua/tests/indent/c/ternary.c rename to tests/indent/c/ternary.c diff --git a/lua/tests/indent/c_spec.lua b/tests/indent/c_spec.lua similarity index 94% rename from lua/tests/indent/c_spec.lua rename to tests/indent/c_spec.lua index 2850023ab..98311c772 100644 --- a/lua/tests/indent/c_spec.lua +++ b/tests/indent/c_spec.lua @@ -11,7 +11,7 @@ local opts = { describe('indent C:', function() describe('whole file:', function() - local files = scan_dir('lua/tests/indent/c'); + local files = scan_dir('tests/indent/c'); for _, file in ipairs(files) do it(vim.fn.fnamemodify(file, ':t'), function() whole_file(file, opts) @@ -23,7 +23,7 @@ describe('indent C:', 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/c/' .. file, spec, opts) + new_line('tests/indent/c/' .. file, spec, opts) end) end diff --git a/lua/tests/indent/cpp/access.cpp b/tests/indent/cpp/access.cpp similarity index 100% rename from lua/tests/indent/cpp/access.cpp rename to tests/indent/cpp/access.cpp diff --git a/lua/tests/indent/cpp/class.cpp b/tests/indent/cpp/class.cpp similarity index 100% rename from lua/tests/indent/cpp/class.cpp rename to tests/indent/cpp/class.cpp diff --git a/lua/tests/indent/cpp/stream.cpp b/tests/indent/cpp/stream.cpp similarity index 100% rename from lua/tests/indent/cpp/stream.cpp rename to tests/indent/cpp/stream.cpp diff --git a/tests/indent/cpp_spec.lua b/tests/indent/cpp_spec.lua new file mode 100644 index 000000000..d3c98401c --- /dev/null +++ b/tests/indent/cpp_spec.lua @@ -0,0 +1,62 @@ +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 Path = require('plenary.path') + +local opts = { + tabstop = 4, + shiftwidth = 4, + softtabstop = 0, + expandtab = true, + filetype = 'cpp', +} + +local get_name = function(file) + return Path:new(file):make_relative('tests/indent') +end + +describe('indent C++:', function() + describe('whole file:', function() + local files = scan_dir('tests/indent/c'); + vim.list_extend(files, scan_dir('tests/indent/cpp')) + + for _, file in ipairs(files) do + it(get_name(file), 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]', get_name(file), title), function() + new_line(file, spec, opts) + end) + end + + run('tests/indent/cpp/access.cpp', { on_line = 3, text = 'protected:', indent = 0 }) + run('tests/indent/cpp/class.cpp', { on_line = 2, text = 'using T = int;', indent = 4 }) + run('tests/indent/cpp/stream.cpp', { on_line = 5, text = '<< x + 3', indent = 8 }) + + -- TODO: find a clean way to import these from c_spec.lua + run('tests/indent/c/array.c', { on_line = 2, text = '0,', indent = 4 }) + run('tests/indent/c/cond.c', { on_line = 3, text = 'x++;', indent = 8 }) + run('tests/indent/c/cond.c', { on_line = 8, text = 'x++;', indent = 8 }) + run('tests/indent/c/expr.c', { on_line = 10, text = '2 *', indent = 8 }) + run('tests/indent/c/func.c', { on_line = 17, text = 'int z,', indent = 4 }) + run('tests/indent/c/label.c', { on_line = 3, text = 'normal:', indent = 0 }) + run('tests/indent/c/loop.c', { on_line = 3, text = 'x++;', indent = 8 }) + run('tests/indent/c/preproc_cond.c', { on_line = 5, text = 'x++;', indent = 4 }) + run('tests/indent/c/preproc_func.c', { on_line = 3, text = 'x++; \\', indent = 8 }) + run('tests/indent/c/string.c', { on_line = 1, text = 'brave new \\', indent = 0 }) + run('tests/indent/c/string.c', { on_line = 4, text = '"brave new "', indent = 4 }) + run('tests/indent/c/struct.c', { on_line = 4, text = 'int y;', indent = 8 }) + run('tests/indent/c/switch.c', { on_line = 3, text = 'x++;', indent = 12 }) + run('tests/indent/c/ternary.c', { on_line = 4, text = ': (x == 0) : 0', indent = 8 }) + -- the line after inserted one will be left with wrong indent but we only care about the inserted one + run('tests/indent/c/no_braces.c', { on_line = 4, text = 'x++;', indent = 8 }) + run('tests/indent/c/no_braces.c', { on_line = 7, text = 'x++;', indent = 8 }) + run('tests/indent/c/no_braces.c', { on_line = 10, text = 'x++;', indent = 8 }) + end) +end) diff --git a/lua/tests/indent/lua/comment.lua b/tests/indent/lua/comment.lua similarity index 100% rename from lua/tests/indent/lua/comment.lua rename to tests/indent/lua/comment.lua diff --git a/lua/tests/indent/lua/cond.lua b/tests/indent/lua/cond.lua similarity index 100% rename from lua/tests/indent/lua/cond.lua rename to tests/indent/lua/cond.lua diff --git a/lua/tests/indent/lua/func.lua b/tests/indent/lua/func.lua similarity index 100% rename from lua/tests/indent/lua/func.lua rename to tests/indent/lua/func.lua diff --git a/lua/tests/indent/lua/loop.lua b/tests/indent/lua/loop.lua similarity index 100% rename from lua/tests/indent/lua/loop.lua rename to tests/indent/lua/loop.lua diff --git a/lua/tests/indent/lua/string.lua b/tests/indent/lua/string.lua similarity index 100% rename from lua/tests/indent/lua/string.lua rename to tests/indent/lua/string.lua diff --git a/lua/tests/indent/lua/table.lua b/tests/indent/lua/table.lua similarity index 100% rename from lua/tests/indent/lua/table.lua rename to tests/indent/lua/table.lua diff --git a/lua/tests/indent/lua_spec.lua b/tests/indent/lua_spec.lua similarity index 94% rename from lua/tests/indent/lua_spec.lua rename to tests/indent/lua_spec.lua index 3a2a7cb7b..473f584c4 100644 --- a/lua/tests/indent/lua_spec.lua +++ b/tests/indent/lua_spec.lua @@ -11,7 +11,7 @@ local opts = { describe('indent Lua:', function() describe('whole file:', function() - local files = scan_dir('lua/tests/indent/lua'); + local files = scan_dir('tests/indent/lua'); for _, file in ipairs(files) do it(vim.fn.fnamemodify(file, ':t'), function() whole_file(file, opts) @@ -23,7 +23,7 @@ describe('indent Lua:', 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) + new_line('tests/indent/lua/' .. file, spec, opts) end) end diff --git a/lua/tests/indent/python/aligned_indent.py b/tests/indent/python/aligned_indent.py similarity index 100% rename from lua/tests/indent/python/aligned_indent.py rename to tests/indent/python/aligned_indent.py diff --git a/lua/tests/indent/python/basic_blocks.py b/tests/indent/python/basic_blocks.py similarity index 100% rename from lua/tests/indent/python/basic_blocks.py rename to tests/indent/python/basic_blocks.py diff --git a/lua/tests/indent/python/basic_collections.py b/tests/indent/python/basic_collections.py similarity index 100% rename from lua/tests/indent/python/basic_collections.py rename to tests/indent/python/basic_collections.py diff --git a/lua/tests/indent/python/branches.py b/tests/indent/python/branches.py similarity index 100% rename from lua/tests/indent/python/branches.py rename to tests/indent/python/branches.py diff --git a/lua/tests/indent/python/comprehensions.py b/tests/indent/python/comprehensions.py similarity index 100% rename from lua/tests/indent/python/comprehensions.py rename to tests/indent/python/comprehensions.py diff --git a/lua/tests/indent/python/control_flow.py b/tests/indent/python/control_flow.py similarity index 100% rename from lua/tests/indent/python/control_flow.py rename to tests/indent/python/control_flow.py diff --git a/lua/tests/indent/python/hanging_indent.py b/tests/indent/python/hanging_indent.py similarity index 100% rename from lua/tests/indent/python/hanging_indent.py rename to tests/indent/python/hanging_indent.py diff --git a/lua/tests/indent/python/join_lines.py b/tests/indent/python/join_lines.py similarity index 100% rename from lua/tests/indent/python/join_lines.py rename to tests/indent/python/join_lines.py diff --git a/lua/tests/indent/python/nested_collections.py b/tests/indent/python/nested_collections.py similarity index 100% rename from lua/tests/indent/python/nested_collections.py rename to tests/indent/python/nested_collections.py diff --git a/lua/tests/indent/python/strings.py b/tests/indent/python/strings.py similarity index 100% rename from lua/tests/indent/python/strings.py rename to tests/indent/python/strings.py diff --git a/lua/tests/indent/python_spec.lua b/tests/indent/python_spec.lua similarity index 95% rename from lua/tests/indent/python_spec.lua rename to tests/indent/python_spec.lua index 2927ad4e5..7a058af55 100644 --- a/lua/tests/indent/python_spec.lua +++ b/tests/indent/python_spec.lua @@ -11,7 +11,7 @@ local opts = { describe('indent Python:', function() describe('whole file:', function() - local files = scan_dir('lua/tests/indent/python'); + local files = scan_dir('tests/indent/python'); for _, file in ipairs(files) do it(vim.fn.fnamemodify(file, ':t'), function() whole_file(file, opts) @@ -23,7 +23,7 @@ describe('indent Python:', 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/python/' .. file, spec, opts) + new_line('tests/indent/python/' .. file, spec, opts) end) end diff --git a/lua/tests/indent/rust/array.rs b/tests/indent/rust/array.rs similarity index 100% rename from lua/tests/indent/rust/array.rs rename to tests/indent/rust/array.rs diff --git a/lua/tests/indent/rust/comment.rs b/tests/indent/rust/comment.rs similarity index 100% rename from lua/tests/indent/rust/comment.rs rename to tests/indent/rust/comment.rs diff --git a/lua/tests/indent/rust/cond.rs b/tests/indent/rust/cond.rs similarity index 100% rename from lua/tests/indent/rust/cond.rs rename to tests/indent/rust/cond.rs diff --git a/lua/tests/indent/rust/enum.rs b/tests/indent/rust/enum.rs similarity index 100% rename from lua/tests/indent/rust/enum.rs rename to tests/indent/rust/enum.rs diff --git a/lua/tests/indent/rust/func.rs b/tests/indent/rust/func.rs similarity index 100% rename from lua/tests/indent/rust/func.rs rename to tests/indent/rust/func.rs diff --git a/lua/tests/indent/rust/impl.rs b/tests/indent/rust/impl.rs similarity index 100% rename from lua/tests/indent/rust/impl.rs rename to tests/indent/rust/impl.rs diff --git a/lua/tests/indent/rust/loop.rs b/tests/indent/rust/loop.rs similarity index 100% rename from lua/tests/indent/rust/loop.rs rename to tests/indent/rust/loop.rs diff --git a/lua/tests/indent/rust/macro.rs b/tests/indent/rust/macro.rs similarity index 100% rename from lua/tests/indent/rust/macro.rs rename to tests/indent/rust/macro.rs diff --git a/lua/tests/indent/rust/match.rs b/tests/indent/rust/match.rs similarity index 100% rename from lua/tests/indent/rust/match.rs rename to tests/indent/rust/match.rs diff --git a/lua/tests/indent/rust/mod.rs b/tests/indent/rust/mod.rs similarity index 100% rename from lua/tests/indent/rust/mod.rs rename to tests/indent/rust/mod.rs diff --git a/lua/tests/indent/rust/string.rs b/tests/indent/rust/string.rs similarity index 100% rename from lua/tests/indent/rust/string.rs rename to tests/indent/rust/string.rs diff --git a/lua/tests/indent/rust/struct.rs b/tests/indent/rust/struct.rs similarity index 100% rename from lua/tests/indent/rust/struct.rs rename to tests/indent/rust/struct.rs diff --git a/lua/tests/indent/rust/trait.rs b/tests/indent/rust/trait.rs similarity index 100% rename from lua/tests/indent/rust/trait.rs rename to tests/indent/rust/trait.rs diff --git a/lua/tests/indent/rust/where.rs b/tests/indent/rust/where.rs similarity index 100% rename from lua/tests/indent/rust/where.rs rename to tests/indent/rust/where.rs diff --git a/lua/tests/indent/rust_spec.lua b/tests/indent/rust_spec.lua similarity index 96% rename from lua/tests/indent/rust_spec.lua rename to tests/indent/rust_spec.lua index 120b6771b..c3ffe3fdf 100644 --- a/lua/tests/indent/rust_spec.lua +++ b/tests/indent/rust_spec.lua @@ -11,7 +11,7 @@ local opts = { describe('indent Rust:', function() describe('whole file:', function() - local files = scan_dir('lua/tests/indent/rust'); + local files = scan_dir('tests/indent/rust'); for _, file in ipairs(files) do it(vim.fn.fnamemodify(file, ':t'), function() whole_file(file, opts) @@ -23,7 +23,7 @@ describe('indent Rust:', 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/rust/' .. file, spec, opts) + new_line('tests/indent/rust/' .. file, spec, opts) end) end