48 lines
856 B
Go
48 lines
856 B
Go
package mapstructure
|
|
|
|
import "testing"
|
|
|
|
// GH-1
|
|
func TestDecode_NilValue(t *testing.T) {
|
|
input := map[string]interface{}{
|
|
"vfoo": nil,
|
|
"vother": nil,
|
|
}
|
|
|
|
var result Map
|
|
err := Decode(input, &result)
|
|
if err != nil {
|
|
t.Fatalf("should not error: %s", err)
|
|
}
|
|
|
|
if result.Vfoo != "" {
|
|
t.Fatalf("value should be default: %s", result.Vfoo)
|
|
}
|
|
|
|
if result.Vother != nil {
|
|
t.Fatalf("Vother should be nil: %s", result.Vother)
|
|
}
|
|
}
|
|
|
|
// GH-10
|
|
func TestDecode_mapInterfaceInterface(t *testing.T) {
|
|
input := map[interface{}]interface{}{
|
|
"vfoo": nil,
|
|
"vother": nil,
|
|
}
|
|
|
|
var result Map
|
|
err := Decode(input, &result)
|
|
if err != nil {
|
|
t.Fatalf("should not error: %s", err)
|
|
}
|
|
|
|
if result.Vfoo != "" {
|
|
t.Fatalf("value should be default: %s", result.Vfoo)
|
|
}
|
|
|
|
if result.Vother != nil {
|
|
t.Fatalf("Vother should be nil: %s", result.Vother)
|
|
}
|
|
}
|