mirror of
https://gitee.com/johng/gf
synced 2026-06-07 02:12:11 +08:00
44 lines
801 B
Go
44 lines
801 B
Go
package mxj
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestSetValueForPath(t *testing.T) {
|
|
m := map[string]interface{}{
|
|
"Div": map[string]interface{}{
|
|
"Colour": "blue",
|
|
"Font": map[string]interface{}{
|
|
"Family": "sans",
|
|
},
|
|
},
|
|
}
|
|
mv := Map(m)
|
|
|
|
// testing setting a new key
|
|
err := mv.SetValueForPath("big", "Div.Font.Size")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
val, err := mv.ValueForPathString("Div.Font.Size")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if val != "big" {
|
|
t.Fatal("key's value hasn't changed")
|
|
}
|
|
|
|
// testing setting a new value to en existing key
|
|
err = mv.SetValueForPath("red", "Div.Colour")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
val, err = mv.ValueForPathString("Div.Colour")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if val != "red" {
|
|
t.Fatal("existig key's value hasn't changed")
|
|
}
|
|
}
|