1
0
mirror of https://github.com/golang/go synced 2024-11-23 22:40:04 -07:00

encoding/json: add tests for InvalidUnmarshalError

R=golang-codereviews, shawn.p.smith
CC=golang-codereviews
https://golang.org/cl/41960047
This commit is contained in:
Dave Cheney 2014-01-02 09:49:55 +11:00
parent 4d239bcea2
commit 66730120fa

View File

@ -1316,3 +1316,26 @@ func TestPrefilled(t *testing.T) {
}
}
}
var invalidUnmarshalTests = []struct {
v interface{}
want string
}{
{nil, "json: Unmarshal(nil)"},
{struct{}{}, "json: Unmarshal(non-pointer struct {})"},
{(*int)(nil), "json: Unmarshal(nil *int)"},
}
func TestInvalidUnmarshal(t *testing.T) {
buf := []byte(`{"a":"1"}`)
for _, tt := range invalidUnmarshalTests {
err := Unmarshal(buf, tt.v)
if err == nil {
t.Errorf("Unmarshal expecting error, got nil")
continue
}
if got := err.Error(); got != tt.want {
t.Errorf("Unmarshal = %q; want %q", got, tt.want)
}
}
}