tests(comment): fix
This commit is contained in:
parent
387021ce0a
commit
7495e29d4f
5 changed files with 33 additions and 19 deletions
|
|
@ -7,33 +7,39 @@ local ts = require "gopher._utils.ts"
|
|||
local log = require "gopher._utils.log"
|
||||
local comment = {}
|
||||
|
||||
---@param name string
|
||||
---@return string
|
||||
---@private
|
||||
local function template(name)
|
||||
return "// " .. (name or "") .. " "
|
||||
end
|
||||
|
||||
---@param bufnr integer
|
||||
---@return string
|
||||
---@private
|
||||
local function generate(bufnr)
|
||||
local cmt = "// "
|
||||
|
||||
local ok, res = pcall(ts.get_struct_under_cursor, bufnr)
|
||||
if ok then
|
||||
return cmt .. res.name .. " "
|
||||
local sok, sres = pcall(ts.get_struct_under_cursor, bufnr)
|
||||
vim.print(sok, sres)
|
||||
if sok then
|
||||
return template(sres.name)
|
||||
end
|
||||
|
||||
ok, res = pcall(ts.get_func_under_cursor, bufnr)
|
||||
if ok then
|
||||
return cmt .. res.name .. " "
|
||||
local fok, fres = pcall(ts.get_func_under_cursor, bufnr)
|
||||
if fok then
|
||||
return template(fres.name)
|
||||
end
|
||||
|
||||
ok, res = pcall(ts.get_interface_under_cursor, bufnr)
|
||||
if ok then
|
||||
return cmt .. res.name .. " "
|
||||
local iok, ires = pcall(ts.get_interface_under_cursor, bufnr)
|
||||
if iok then
|
||||
return template(ires.name)
|
||||
end
|
||||
|
||||
ok, res = pcall(ts.get_package_under_cursor, bufnr)
|
||||
if ok then
|
||||
return cmt .. "Package " .. res.name .. " provides "
|
||||
local pok, pres = pcall(ts.get_package_under_cursor, bufnr)
|
||||
if pok then
|
||||
return "// Package " .. pres.name .. " provides "
|
||||
end
|
||||
|
||||
return cmt
|
||||
return "// "
|
||||
end
|
||||
|
||||
function comment.comment()
|
||||
|
|
|
|||
|
|
@ -21,6 +21,9 @@ local function do_the_test(fixture, pos)
|
|||
child.cmd "write"
|
||||
|
||||
t.eq(t.readfile(tmp), fixtures.output)
|
||||
|
||||
-- without it all other(not even from this module) tests are falling
|
||||
t.deletefile(tmp)
|
||||
end
|
||||
|
||||
T["comment"] = MiniTest.new_set {}
|
||||
|
|
@ -37,11 +40,11 @@ T["comment"]["should add comment to function"] = function()
|
|||
end
|
||||
|
||||
T["comment"]["should add comment to method"] = function()
|
||||
do_the_test("func", { 5, 1 })
|
||||
do_the_test("method", { 5, 1 })
|
||||
end
|
||||
|
||||
T["comment"]["should add comment to interface"] = function()
|
||||
do_the_test("interface", { 3, 1 })
|
||||
do_the_test("interface", { 3, 6 })
|
||||
end
|
||||
|
||||
T["comment"]["otherwise should add // above cursor"] = function()
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ function testutils.writefile(fpath, contents)
|
|||
vim.fn.writefile(vim.split(contents, "\n"), fpath)
|
||||
end
|
||||
|
||||
---@param fpath string
|
||||
function testutils.deletefile(fpath)
|
||||
vim.fn.delete(fpath)
|
||||
end
|
||||
|
||||
---@param fixture string
|
||||
---@return {input: string, output: string}
|
||||
function testutils.get_fixtures(fixture)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue