all repos

gopher.nvim @ 6a3924cee5a9f36d316f8e4a90c3020438d3513f

Minimalistic plugin for Go development

gopher.nvim/spec/integration/comment_test.lua(view raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
local t = require "spec.testutils"
local child, T, comment = t.setup "comment"

local function do_the_test(fixture, pos)
  local rs = t.setup_test("comment/" .. fixture, child, pos)
  child.cmd "GoCmt"
  child.cmd "write"

  t.eq(t.readfile(rs.tmp), rs.fixtures.output)
  t.cleanup(rs)
end

comment["should add comment to package"] = function()
  do_the_test("package", { 1, 1 })
end

comment["should add comment to struct"] = function()
  do_the_test("struct", { 4, 1 })
end

comment["should add a comment on struct field"] = function()
  do_the_test("struct_fields", { 5, 8 })
end

comment["should add a comment on var struct field"] = function()
  do_the_test("var_struct_fields", { 6, 4 })
end

comment["should add a comment on one field of many structs"] = function()
  do_the_test("many_structs_fields", { 10, 4 })
end

comment["should add comment to function"] = function()
  do_the_test("func", { 3, 1 })
end

comment["should add comment to method"] = function()
  do_the_test("method", { 5, 1 })
end

comment["should add comment to interface"] = function()
  do_the_test("interface", { 3, 6 })
end

comment["should add comment on interface method"] = function()
  do_the_test("interface_method", { 4, 2 })
end

comment["should add a comment on interface with many method"] = function()
  do_the_test("interface_many_method", { 5, 2 })
end

comment["should add a comment on a var"] = function()
  do_the_test("var", { 4, 2 })
end

comment["should add a comment on a short declared var"] = function()
  do_the_test("svar", { 4, 8 })
end

comment["otherwise should add // above cursor"] = function()
  do_the_test("empty", { 1, 1 })
end

return T