Fix implicit declaration

This commit is contained in:
Thomas Pelletier
2013-12-10 19:29:01 +01:00
parent 4fdde9794a
commit a4d623ad05
2 changed files with 38 additions and 13 deletions
+23 -3
View File
@@ -12,9 +12,15 @@ func assertTree(t *testing.T, tree *TomlTree, err error, ref map[string]interfac
return
}
for k, v := range ref {
if fmt.Sprintf("%v", tree.Get(k)) != fmt.Sprintf("%v", v) {
t.Log("was expecting", v, "at", k, "but got", tree.Get(k))
t.Error()
node := tree.Get(k)
switch node.(type) {
case *TomlTree:
assertTree(t, node.(*TomlTree), err, v.(map[string]interface{}))
default:
if fmt.Sprintf("%v", node) != fmt.Sprintf("%v", v) {
t.Log("was expecting", v, "at", k, "but got", node)
t.Error()
}
}
}
}
@@ -225,6 +231,20 @@ func TestEmptyIntermediateTable(t *testing.T) {
}
}
func TestImplicitDeclarationBefore(t *testing.T) {
tree, err := Load("[a.b.c]\nanswer = 42\n[a]\nbetter = 43")
assertTree(t, tree, err, map[string]interface{}{
"a": map[string]interface{}{
"b": map[string]interface{}{
"c": map[string]interface{}{
"answer": int64(42),
},
},
"better": int64(43),
},
})
}
func TestFloatsWithoutLeadingZeros(t *testing.T) {
_, err := Load("a = .42")
if err.Error() != "cannot start float with a dot" {