Handle nil, map[string]string, and map[interface{}]interface{} input (#103)
* Handle map[string]string and map[interface{}]interface{} input
* Handle nil values
Fixes #99
This commit is contained in:
committed by
Thomas Pelletier
parent
67b7b944a8
commit
45932ad32d
@@ -647,6 +647,7 @@ func TestToTomlValue(t *testing.T) {
|
||||
"1979-05-27T07:32:00Z"},
|
||||
{[]interface{}{"gamma", "delta"},
|
||||
"[\n \"gamma\",\n \"delta\",\n]"},
|
||||
{nil, ""},
|
||||
} {
|
||||
result := toTomlValue(item.Value, 0)
|
||||
if result != item.Expect {
|
||||
@@ -668,6 +669,28 @@ func TestToString(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestToStringMapStringString(t *testing.T) {
|
||||
in := map[string]interface{}{"m": map[string]string{"v": "abc"}}
|
||||
want := "\n[m]\n v = \"abc\"\n"
|
||||
tree := TreeFromMap(in)
|
||||
got := tree.String()
|
||||
|
||||
if got != want {
|
||||
t.Errorf("want:\n%q\ngot:\n%q", want, got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestToStringMapInterfaceInterface(t *testing.T) {
|
||||
in := map[string]interface{}{"m": map[interface{}]interface{}{"v": "abc"}}
|
||||
want := "\n[m]\n v = \"abc\"\n"
|
||||
tree := TreeFromMap(in)
|
||||
got := tree.String()
|
||||
|
||||
if got != want {
|
||||
t.Errorf("want:\n%q\ngot:\n%q", want, got)
|
||||
}
|
||||
}
|
||||
|
||||
func assertPosition(t *testing.T, text string, ref map[string]Position) {
|
||||
tree, err := Load(text)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user