From 42a880ab95d9ac85988256fea387cc01ebf52192 Mon Sep 17 00:00:00 2001 From: Oleksandr Smirnov Date: Thu, 13 Feb 2025 22:48:21 +0200 Subject: [PATCH] chore: setup mini.test --- Taskfile.yml | 12 ++++------- nvim.toml | 3 +++ scripts/minimal_init.lua | 21 +++++++++++++++---- .../{config_spec.lua => config_test.lua} | 0 spec/units/{utils_spec.lua => utils_test.lua} | 0 5 files changed, 24 insertions(+), 12 deletions(-) rename spec/units/{config_spec.lua => config_test.lua} (100%) rename spec/units/{utils_spec.lua => utils_test.lua} (100%) diff --git a/Taskfile.yml b/Taskfile.yml index 581f11c..c6f5339 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -26,17 +26,13 @@ tasks: cmds: - stylua . - test: - desc: runs all tests - aliases: [tests, spec] + tests: + desc: run all tests cmds: - | nvim --headless \ - -u ./scripts/minimal_init.lua \ - -c "PlenaryBustedDirectory spec \ - {minimal_init='./scripts/minimal_init.lua' \ - ,sequential=true}" \ - -c ":qa!" + -u ./scripts/minimal_init.lua \ + -c "lua MiniTest.run()" docgen: desc: generate vimhelp diff --git a/nvim.toml b/nvim.toml index fa09a88..50dc11f 100644 --- a/nvim.toml +++ b/nvim.toml @@ -1,6 +1,9 @@ [vim] any = true +[MiniTest] +any = true + [describe] any = true [[describe.args]] diff --git a/scripts/minimal_init.lua b/scripts/minimal_init.lua index 49a606e..5b70e90 100644 --- a/scripts/minimal_init.lua +++ b/scripts/minimal_init.lua @@ -19,6 +19,11 @@ local function install_plug(plugin) end end +vim.env.XDG_CONFIG_HOME = root ".tests/config" +vim.env.XDG_DATA_HOME = root ".tests/data" +vim.env.XDG_STATE_HOME = root ".tests/state" +vim.env.XDG_CACHE_HOME = root ".tests/cache" + vim.cmd [[set runtimepath=$VIMRUNTIME]] vim.opt.runtimepath:append(root()) vim.opt.packpath = { root ".tests/site" } @@ -28,7 +33,15 @@ install_plug "nvim-lua/plenary.nvim" install_plug "nvim-treesitter/nvim-treesitter" install_plug "echasnovski/mini.doc" -- used for docs generation -vim.env.XDG_CONFIG_HOME = root ".tests/config" -vim.env.XDG_DATA_HOME = root ".tests/data" -vim.env.XDG_STATE_HOME = root ".tests/state" -vim.env.XDG_CACHE_HOME = root ".tests/cache" +-- setup mini.test only when running headless nvim +if #vim.api.nvim_list_uis() == 0 then + install_plug "echasnovski/mini.test" + + require("mini.test").setup { + collect = { + find_files = function() + return vim.fn.globpath("spec", "**/*_test.lua", true, true) + end, + }, + } +end diff --git a/spec/units/config_spec.lua b/spec/units/config_test.lua similarity index 100% rename from spec/units/config_spec.lua rename to spec/units/config_test.lua diff --git a/spec/units/utils_spec.lua b/spec/units/utils_test.lua similarity index 100% rename from spec/units/utils_spec.lua rename to spec/units/utils_test.lua