Delete function to Tree (#256)
Adds delete* functions to the tree so that keys can be removed programatically.
This commit is contained in:
committed by
Thomas Pelletier
parent
489c49b1b4
commit
ad2aec1dcc
@@ -69,6 +69,60 @@ func TestTomlHasPath(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestTomlDelete(t *testing.T) {
|
||||
tree, _ := Load(`
|
||||
key = "value"
|
||||
`)
|
||||
err := tree.Delete("key")
|
||||
if err != nil {
|
||||
t.Errorf("Delete - unexpected error while deleting key: %s", err.Error())
|
||||
}
|
||||
|
||||
if tree.Get("key") != nil {
|
||||
t.Errorf("Delete should have removed key but did not.")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestTomlDeleteUnparsableKey(t *testing.T) {
|
||||
tree, _ := Load(`
|
||||
key = "value"
|
||||
`)
|
||||
err := tree.Delete(".")
|
||||
if err == nil {
|
||||
t.Errorf("Delete should error")
|
||||
}
|
||||
}
|
||||
|
||||
func TestTomlDeleteNestedKey(t *testing.T) {
|
||||
tree, _ := Load(`
|
||||
[foo]
|
||||
[foo.bar]
|
||||
key = "value"
|
||||
`)
|
||||
err := tree.Delete("foo.bar.key")
|
||||
if err != nil {
|
||||
t.Errorf("Error while deleting nested key: %s", err.Error())
|
||||
}
|
||||
|
||||
if tree.Get("key") != nil {
|
||||
t.Errorf("Delete should have removed nested key but did not.")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestTomlDeleteNonexistentNestedKey(t *testing.T) {
|
||||
tree, _ := Load(`
|
||||
[foo]
|
||||
[foo.bar]
|
||||
key = "value"
|
||||
`)
|
||||
err := tree.Delete("foo.not.there.key")
|
||||
if err == nil {
|
||||
t.Errorf("Delete should have thrown an error trying to delete key in nonexistent tree")
|
||||
}
|
||||
}
|
||||
|
||||
func TestTomlGetPath(t *testing.T) {
|
||||
node := newTree()
|
||||
//TODO: set other node data
|
||||
|
||||
Reference in New Issue
Block a user