* chore: remove unused rules from nvim selene setup * test: add test for config * chore: update tasks, run tests on all recent versions * refactor(test): make helper test function more ergonomic In my opinion, requiring user to access tests via `T["module_name"]` was too fragile and typos prone. * fix(config): typo annotations * chore(ci): install go bins via gopher.nvim itself * feat(struct_tags): add range support (#117) * feat(struct_tags): add range support * refactor: use `start`, and `end_` naming for ranges * fix(testutils): validate provided cursor position * chore: update CONTRIBUTING.md * chore: add demos (#118) * chore: add dataset for demos * chore(demos): add demos * chore: update CONTRIBUTING * this copefully will fix comments gif * chore: add note about lazy loading * chore(readme): at this point there is no code from go.nvim or iferr * chore(readme): update the structure * chore(readme): change wording of some things
27 lines
645 B
Lua
27 lines
645 B
Lua
local t = require "spec.testutils"
|
|
local child, T, iferr = t.setup "iferr"
|
|
|
|
iferr["should add if != nil {"] = function()
|
|
local rs = t.setup_test("iferr/iferr", child, { 8, 2 })
|
|
child.cmd "GoIfErr"
|
|
child.cmd "write"
|
|
|
|
t.eq(t.readfile(rs.tmp), rs.fixtures.output)
|
|
t.cleanup(rs)
|
|
end
|
|
|
|
iferr["should add if err with custom message"] = function()
|
|
child.lua [[
|
|
require("gopher").setup {
|
|
iferr = { message = 'fmt.Errorf("failed to %w", err)' }
|
|
} ]]
|
|
|
|
local rs = t.setup_test("iferr/message", child, { 6, 2 })
|
|
child.cmd "GoIfErr"
|
|
child.cmd "write"
|
|
|
|
t.eq(t.readfile(rs.tmp), rs.fixtures.output)
|
|
t.cleanup(rs)
|
|
end
|
|
|
|
return T
|