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
|
---@param bufnr integer
|
||||||
---@return string
|
---@return string
|
||||||
|
---@private
|
||||||
local function generate(bufnr)
|
local function generate(bufnr)
|
||||||
local cmt = "// "
|
local cmt = "// "
|
||||||
|
|
||||||
local ok, res = pcall(ts.get_struct_under_cursor, bufnr)
|
local ok, res = pcall(ts.get_struct_under_cursor, bufnr)
|
||||||
if ok then
|
if ok then
|
||||||
cmt = cmt .. res.name .. " "
|
return cmt .. res.name .. " "
|
||||||
return cmt
|
|
||||||
end
|
end
|
||||||
|
|
||||||
ok, res = pcall(ts.get_func_under_cursor, bufnr)
|
ok, res = pcall(ts.get_func_under_cursor, bufnr)
|
||||||
if ok then
|
if ok then
|
||||||
cmt = cmt .. res.name .. " "
|
return cmt .. res.name .. " "
|
||||||
return cmt
|
|
||||||
end
|
end
|
||||||
|
|
||||||
ok, res = pcall(ts.get_interface_under_cursor, bufnr)
|
ok, res = pcall(ts.get_interface_under_cursor, bufnr)
|
||||||
if ok then
|
if ok then
|
||||||
cmt = cmt .. res.name .. " "
|
return cmt .. res.name .. " "
|
||||||
return cmt
|
|
||||||
end
|
end
|
||||||
|
|
||||||
ok, res = pcall(ts.get_package_under_cursor, bufnr)
|
ok, res = pcall(ts.get_package_under_cursor, bufnr)
|
||||||
if ok then
|
if ok then
|
||||||
cmt = cmt .. "Package " .. res.name .. " provides "
|
return cmt .. "Package " .. res.name .. " provides "
|
||||||
return cmt
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return cmt
|
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
|
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 = {
|
hooks = {
|
||||||
post_once = child.stop,
|
post_once = child.stop,
|
||||||
pre_case = function()
|
pre_case = function()
|
||||||
MiniTest.skip "This module should be fixed first"
|
|
||||||
child.restart { "-u", t.mininit_path }
|
child.restart { "-u", t.mininit_path }
|
||||||
end,
|
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"] = 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()
|
||||||
|
do_the_test("empty", { 1, 1 })
|
||||||
T["comment"]["otherwise should add // above cursor"] = function() end
|
end
|
||||||
|
|
||||||
return T
|
return T
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue