diff options
author | Steven Arcangeli <stevearc@stevearc.com> | 2023-08-27 18:15:04 -0700 |
---|---|---|
committer | Steven Arcangeli <stevearc@stevearc.com> | 2023-08-27 18:15:09 -0700 |
commit | f87f3ea322b1111e1929d149224ff736c8390db3 (patch) | |
tree | 44b11765d02fbb8b88bedafa4bde69ff33d22ad9 /tests/test_util.lua | |
parent | 446aa570048586f9c13f1ea88e280567f336691e (diff) |
test: add a test suite
Diffstat (limited to 'tests/test_util.lua')
-rw-r--r-- | tests/test_util.lua | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/test_util.lua b/tests/test_util.lua new file mode 100644 index 0000000..a225aec --- /dev/null +++ b/tests/test_util.lua @@ -0,0 +1,34 @@ +require("plenary.async").tests.add_to_env() +local conform = require("conform") +local M = {} + +local OUTPUT_FILE = "tests/fake_formatter_output" + +M.reset_editor = function() + vim.cmd.tabonly({ mods = { silent = true } }) + for i, winid in ipairs(vim.api.nvim_tabpage_list_wins(0)) do + if i > 1 then + vim.api.nvim_win_close(winid, true) + end + end + vim.api.nvim_win_set_buf(0, vim.api.nvim_create_buf(false, true)) + for _, bufnr in ipairs(vim.api.nvim_list_bufs()) do + vim.api.nvim_buf_delete(bufnr, { force = true }) + end + conform.formatters = {} + conform.formatters_by_ft = {} + pcall(vim.api.nvim_del_augroup_by_name, "Conform") + if vim.fn.filereadable(OUTPUT_FILE) == 1 then + vim.fn.delete(OUTPUT_FILE) + end +end + +---@param lines string[] +M.set_formatter_output = function(lines) + local content = table.concat(lines, "\n") + local fd = assert(vim.loop.fs_open(OUTPUT_FILE, "w", 420)) -- 0644 + vim.loop.fs_write(fd, content) + vim.loop.fs_close(fd) +end + +return M |