mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
json: keep track of error offset in SyntaxError
R=rsc CC=golang-dev https://golang.org/cl/4430043
This commit is contained in:
parent
e806565626
commit
9b8d4e0977
3 changed files with 17 additions and 10 deletions
|
|
@ -71,7 +71,7 @@ var unmarshalTests = []unmarshalTest{
|
|||
{`{"X":"a", "y":"b", "Z":"c"}`, new(badTag), badTag{"a", "b", "c"}, nil},
|
||||
|
||||
// syntax errors
|
||||
{`{"X": "foo", "Y"}`, nil, nil, SyntaxError("invalid character '}' after object key")},
|
||||
{`{"X": "foo", "Y"}`, nil, nil, &SyntaxError{"invalid character '}' after object key", 17}},
|
||||
|
||||
// composite tests
|
||||
{allValueIndent, new(All), allValue, nil},
|
||||
|
|
@ -125,12 +125,12 @@ func TestMarshalBadUTF8(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestUnmarshal(t *testing.T) {
|
||||
var scan scanner
|
||||
for i, tt := range unmarshalTests {
|
||||
var scan scanner
|
||||
in := []byte(tt.in)
|
||||
if err := checkValid(in, &scan); err != nil {
|
||||
if !reflect.DeepEqual(err, tt.err) {
|
||||
t.Errorf("#%d: checkValid: %v", i, err)
|
||||
t.Errorf("#%d: checkValid: %#v", i, err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue