all repos

gopher.nvim @ fabdcc5fb374e9d99c528588e3bfed604a3582a3

Minimalistic plugin for Go development

gopher.nvim/spec/unit/struct_tag_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
66
67
68
local t = require "spec.testutils"
local _, T, st = t.setup "struct_tags"

st["should parse tags"] = function()
  local out = require("gopher.struct_tags").parse_args { "json", "yaml", "etc" }

  t.eq(out.tags, "json,yaml,etc")
  t.eq(out.options, "")
end

st["should parse tags separated by commas"] = function()
  local out = require("gopher.struct_tags").parse_args { "json,yaml,etc" }

  t.eq(out.tags, "json,yaml,etc")
  t.eq(out.options, "")
end

st["should parse tags separated by command and spaces"] = function()
  local out = require("gopher.struct_tags").parse_args {
    "json,yaml",
    "json=omitempty",
    "xml=something",
  }

  t.eq(out.tags, "json,yaml,xml")
  t.eq(out.options, "json=omitempty,xml=something")
end

st["should parse tag with an option"] = function()
  local out = require("gopher.struct_tags").parse_args {
    "json=omitempty",
    "xml",
    "xml=theoption",
  }

  t.eq(out.tags, "json,xml")
  t.eq(out.options, "json=omitempty,xml=theoption")
end

st["should parse tags with an option"] = function()
  local out = require("gopher.struct_tags").parse_args { "json=omitempty", "yaml" }

  t.eq(out.tags, "json,yaml")
  t.eq(out.options, "json=omitempty")
end

st["should parse tags with an option separated with comma"] = function()
  local out = require("gopher.struct_tags").parse_args { "json=omitempty,yaml" }

  t.eq(out.tags, "json,yaml")
  t.eq(out.options, "json=omitempty")
end

st["should parse tags with options specified separately"] = function()
  local out = require("gopher.struct_tags").parse_args { "json", "yaml", "json=omitempty" }

  t.eq(out.tags, "json,yaml")
  t.eq(out.options, "json=omitempty")
end

st["should parse tags with options specified separately and separated by comma"] = function()
  local out = require("gopher.struct_tags").parse_args { "json,yaml,json=omitempty" }

  t.eq(out.tags, "json,yaml")
  t.eq(out.options, "json=omitempty")
end

return T