mirror of
https://github.com/golang/go
synced 2024-11-24 00:50:10 -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:
parent
4d239bcea2
commit
66730120fa
@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user