| 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) |
| } |
| } |