feat: raw map parser.
This commit is contained in:
parent
0186c31d59
commit
c42f1b7a50
13 changed files with 901 additions and 18 deletions
|
@ -68,6 +68,30 @@ fii = "bir"
|
|||
assert.Equal(t, expected, element)
|
||||
}
|
||||
|
||||
func TestDecodeContent_TOML_rawValue(t *testing.T) {
|
||||
content := `
|
||||
name = "test"
|
||||
[[meta.aaa]]
|
||||
bbb = 1
|
||||
`
|
||||
|
||||
type Foo struct {
|
||||
Name string
|
||||
Meta map[string]interface{}
|
||||
}
|
||||
|
||||
element := &Foo{}
|
||||
|
||||
err := DecodeContent(content, ".toml", element)
|
||||
require.NoError(t, err)
|
||||
|
||||
expected := &Foo{
|
||||
Name: "test",
|
||||
Meta: map[string]interface{}{"aaa": []interface{}{map[string]interface{}{"bbb": "1"}}},
|
||||
}
|
||||
assert.Equal(t, expected, element)
|
||||
}
|
||||
|
||||
func TestDecode_YAML(t *testing.T) {
|
||||
f, err := ioutil.TempFile("", "traefik-config-*.yaml")
|
||||
require.NoError(t, err)
|
||||
|
@ -126,3 +150,28 @@ yi: {}
|
|||
}
|
||||
assert.Equal(t, expected, element)
|
||||
}
|
||||
|
||||
func TestDecodeContent_YAML_rawValue(t *testing.T) {
|
||||
content := `
|
||||
name: test
|
||||
meta:
|
||||
aaa:
|
||||
- bbb: 1
|
||||
`
|
||||
|
||||
type Foo struct {
|
||||
Name string
|
||||
Meta map[string]interface{}
|
||||
}
|
||||
|
||||
element := &Foo{}
|
||||
|
||||
err := DecodeContent(content, ".yaml", element)
|
||||
require.NoError(t, err)
|
||||
|
||||
expected := &Foo{
|
||||
Name: "test",
|
||||
Meta: map[string]interface{}{"aaa": []interface{}{map[string]interface{}{"bbb": "1"}}},
|
||||
}
|
||||
assert.Equal(t, expected, element)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue