diff options
| author | Jędrzej Boczar <yendreij@gmail.com> | 2021-03-13 22:46:45 +0100 |
|---|---|---|
| committer | Kiyan <yazdani.kiyan@protonmail.com> | 2021-04-23 21:21:38 +0200 |
| commit | 67f2c7149c0de39248f1bdeba1a4303b156c3199 (patch) | |
| tree | 1365bbaddf0570e2ab3d051bd3b4e7e2c876e2a6 /lua/nvim-treesitter/test_utils.lua | |
| parent | eefa5662e619b319c8736c5496fa68cb41d51f97 (diff) | |
Initial sketch of automated indent tests
Diffstat (limited to 'lua/nvim-treesitter/test_utils.lua')
| -rw-r--r-- | lua/nvim-treesitter/test_utils.lua | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lua/nvim-treesitter/test_utils.lua b/lua/nvim-treesitter/test_utils.lua new file mode 100644 index 00000000..e3206b7d --- /dev/null +++ b/lua/nvim-treesitter/test_utils.lua @@ -0,0 +1,25 @@ +local M = {} + +function M.indent_whole_file(file) + assert.are.same(1, vim.fn.filereadable(file)) + + -- load reference file + vim.cmd(string.format('edit %s', file)) + local reference = vim.api.nvim_buf_get_lines(0, 0, -1, true) + + -- FIXME: why this is not set automatically? + vim.bo.indentexpr = 'nvim_treesitter#indent()' + assert.are.same('nvim_treesitter#indent()', vim.bo.indentexpr) + + -- indent the whole file + vim.cmd 'normal gg=G' + local indented = vim.api.nvim_buf_get_lines(0, 0, -1, true) + + -- clear any changes to avoid 'No write since last change (add ! to override)' + vim.cmd 'edit!' + + -- compare before and after + assert.are.same(reference, indented) +end + +return M |
