test(comment): e2e
This commit is contained in:
parent
9eeaab25ed
commit
387021ce0a
13 changed files with 80 additions and 17 deletions
|
|
@ -9,31 +9,28 @@ local comment = {}
|
|||
|
||||
---@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
|
||||
cmt = cmt .. res.name .. " "
|
||||
return cmt
|
||||
return cmt .. res.name .. " "
|
||||
end
|
||||
|
||||
ok, res = pcall(ts.get_func_under_cursor, bufnr)
|
||||
if ok then
|
||||
cmt = cmt .. res.name .. " "
|
||||
return cmt
|
||||
return cmt .. res.name .. " "
|
||||
end
|
||||
|
||||
ok, res = pcall(ts.get_interface_under_cursor, bufnr)
|
||||
if ok then
|
||||
cmt = cmt .. res.name .. " "
|
||||
return cmt
|
||||
return cmt .. res.name .. " "
|
||||
end
|
||||
|
||||
ok, res = pcall(ts.get_package_under_cursor, bufnr)
|
||||
if ok then
|
||||
cmt = cmt .. "Package " .. res.name .. " provides "
|
||||
return cmt
|
||||
return cmt .. "Package " .. res.name .. " provides "
|
||||
end
|
||||
|
||||
return cmt
|
||||
|
|
|
|||
0
spec/fixtures/comment/empty_input.go
vendored
Normal file
0
spec/fixtures/comment/empty_input.go
vendored
Normal file
2
spec/fixtures/comment/empty_output.go
vendored
Normal file
2
spec/fixtures/comment/empty_output.go
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
//
|
||||
|
||||
5
spec/fixtures/comment/func_input.go
vendored
Normal file
5
spec/fixtures/comment/func_input.go
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
package main
|
||||
|
||||
func Test(a int) bool {
|
||||
return false
|
||||
}
|
||||
6
spec/fixtures/comment/func_output.go
vendored
Normal file
6
spec/fixtures/comment/func_output.go
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
package main
|
||||
|
||||
// Test
|
||||
func Test(a int) bool {
|
||||
return false
|
||||
}
|
||||
3
spec/fixtures/comment/interface_input.go
vendored
Normal file
3
spec/fixtures/comment/interface_input.go
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
package main
|
||||
|
||||
type Testinter interface{}
|
||||
4
spec/fixtures/comment/interface_output.go
vendored
Normal file
4
spec/fixtures/comment/interface_output.go
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
package main
|
||||
|
||||
// Testinter
|
||||
type Testinter interface{}
|
||||
7
spec/fixtures/comment/method_input.go
vendored
Normal file
7
spec/fixtures/comment/method_input.go
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
package main
|
||||
|
||||
type Method struct{}
|
||||
|
||||
func (Method) Run() error {
|
||||
return nil
|
||||
}
|
||||
8
spec/fixtures/comment/method_output.go
vendored
Normal file
8
spec/fixtures/comment/method_output.go
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
package main
|
||||
|
||||
type Method struct{}
|
||||
|
||||
// Run
|
||||
func (Method) Run() error {
|
||||
return nil
|
||||
}
|
||||
2
spec/fixtures/comment/package_output.go
vendored
2
spec/fixtures/comment/package_output.go
vendored
|
|
@ -1,2 +1,2 @@
|
|||
// Package main provides main
|
||||
// Package main provides
|
||||
package main
|
||||
|
|
|
|||
3
spec/fixtures/comment/struct_input.go
vendored
Normal file
3
spec/fixtures/comment/struct_input.go
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
package main
|
||||
|
||||
type CommentStruct struct {}
|
||||
4
spec/fixtures/comment/struct_output.go
vendored
Normal file
4
spec/fixtures/comment/struct_output.go
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
package main
|
||||
|
||||
// CommentStruct
|
||||
type CommentStruct struct {}
|
||||
|
|
@ -5,23 +5,47 @@ local T = MiniTest.new_set {
|
|||
hooks = {
|
||||
post_once = child.stop,
|
||||
pre_case = function()
|
||||
MiniTest.skip "This module should be fixed first"
|
||||
child.restart { "-u", t.mininit_path }
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
local function do_the_test(fixture, pos)
|
||||
local tmp = t.tmpfile()
|
||||
local fixtures = t.get_fixtures("comment/" .. fixture)
|
||||
t.writefile(tmp, fixtures.input)
|
||||
|
||||
child.cmd("silent edit " .. tmp)
|
||||
child.fn.setpos(".", { child.fn.bufnr "%", unpack(pos) })
|
||||
child.cmd "GoCmt"
|
||||
child.cmd "write"
|
||||
|
||||
t.eq(t.readfile(tmp), fixtures.output)
|
||||
end
|
||||
|
||||
T["comment"] = MiniTest.new_set {}
|
||||
T["comment"]["should add comment to package"] = function()
|
||||
do_the_test("package", { 1, 1 })
|
||||
end
|
||||
|
||||
T["comment"]["should add comment to package"] = function() end
|
||||
T["comment"]["should add comment to struct"] = function()
|
||||
do_the_test("struct", { 4, 1 })
|
||||
end
|
||||
|
||||
T["comment"]["should add comment to struct"] = function() end
|
||||
T["comment"]["should add comment to function"] = function()
|
||||
do_the_test("func", { 3, 1 })
|
||||
end
|
||||
|
||||
T["comment"]["should add comment to function"] = function() end
|
||||
T["comment"]["should add comment to method"] = function()
|
||||
do_the_test("func", { 5, 1 })
|
||||
end
|
||||
|
||||
T["comment"]["should add comment to method"] = function() end
|
||||
T["comment"]["should add comment to interface"] = function()
|
||||
do_the_test("interface", { 3, 1 })
|
||||
end
|
||||
|
||||
T["comment"]["should add comment to interface"] = function() end
|
||||
|
||||
T["comment"]["otherwise should add // above cursor"] = function() end
|
||||
T["comment"]["otherwise should add // above cursor"] = function()
|
||||
do_the_test("empty", { 1, 1 })
|
||||
end
|
||||
|
||||
return T
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue