@@ -467,21 +467,21 @@ var unmarshalTests = []struct {
467
467
{CaseName : Name ("" ), in : `{"alphabet": "xyz"}` , ptr : new (U ), err : fmt .Errorf ("json: unknown field \" alphabet\" " ), disallowUnknownFields : true },
468
468
469
469
// syntax errors
470
- {CaseName : Name ("" ), in : `{"X": "foo", "Y"}` , err : & SyntaxError {"invalid character '}' after object key" , 17 }},
471
- {CaseName : Name ("" ), in : `[1, 2, 3+]` , err : & SyntaxError {"invalid character '+' after array element" , 9 }},
472
- {CaseName : Name ("" ), in : `{"X":12x}` , err : & SyntaxError {"invalid character 'x' after object key:value pair" , 8 }, useNumber : true },
470
+ {CaseName : Name ("" ), in : `{"X": "foo", "Y"}` , err : & SyntaxError {invalidChar : '}' , invalidCharContext : " after object key" , Offset : 17 }},
471
+ {CaseName : Name ("" ), in : `[1, 2, 3+]` , err : & SyntaxError {invalidChar : '+' , invalidCharContext : " after array element" , Offset : 9 }},
472
+ {CaseName : Name ("" ), in : `{"X":12x}` , err : & SyntaxError {invalidChar : 'x' , invalidCharContext : " after object key:value pair" , Offset : 8 }, useNumber : true },
473
473
{CaseName : Name ("" ), in : `[2, 3` , err : & SyntaxError {msg : "unexpected end of JSON input" , Offset : 5 }},
474
- {CaseName : Name ("" ), in : `{"F3": -}` , ptr : new (V ), err : & SyntaxError {msg : "invalid character '}' in numeric literal" , Offset : 9 }},
474
+ {CaseName : Name ("" ), in : `{"F3": -}` , ptr : new (V ), err : & SyntaxError {invalidChar : '}' , invalidCharContext : " in numeric literal" , Offset : 9 }},
475
475
476
476
// raw value errors
477
- {CaseName : Name ("" ), in : "\x01 42" , err : & SyntaxError {"invalid character ' \\ x01' looking for beginning of value" , 1 }},
478
- {CaseName : Name ("" ), in : " 42 \x01 " , err : & SyntaxError {"invalid character ' \\ x01' after top-level value" , 5 }},
479
- {CaseName : Name ("" ), in : "\x01 true" , err : & SyntaxError {"invalid character ' \\ x01' looking for beginning of value" , 1 }},
480
- {CaseName : Name ("" ), in : " false \x01 " , err : & SyntaxError {"invalid character ' \\ x01' after top-level value" , 8 }},
481
- {CaseName : Name ("" ), in : "\x01 1.2" , err : & SyntaxError {"invalid character ' \\ x01' looking for beginning of value" , 1 }},
482
- {CaseName : Name ("" ), in : " 3.4 \x01 " , err : & SyntaxError {"invalid character ' \\ x01' after top-level value" , 6 }},
483
- {CaseName : Name ("" ), in : "\x01 \" string\" " , err : & SyntaxError {"invalid character ' \\ x01' looking for beginning of value" , 1 }},
484
- {CaseName : Name ("" ), in : " \" string\" \x01 " , err : & SyntaxError {"invalid character ' \\ x01' after top-level value" , 11 }},
477
+ {CaseName : Name ("" ), in : "\x01 42" , err : & SyntaxError {invalidChar : '\ x01', invalidCharContext : " looking for beginning of value" , Offset : 1 }},
478
+ {CaseName : Name ("" ), in : " 42 \x01 " , err : & SyntaxError {invalidChar : '\ x01', invalidCharContext : " after top-level value" , Offset : 5 }},
479
+ {CaseName : Name ("" ), in : "\x01 true" , err : & SyntaxError {invalidChar : '\ x01', invalidCharContext : " looking for beginning of value" , Offset : 1 }},
480
+ {CaseName : Name ("" ), in : " false \x01 " , err : & SyntaxError {invalidChar : '\ x01', invalidCharContext : " after top-level value" , Offset : 8 }},
481
+ {CaseName : Name ("" ), in : "\x01 1.2" , err : & SyntaxError {invalidChar : '\ x01', invalidCharContext : " looking for beginning of value" , Offset : 1 }},
482
+ {CaseName : Name ("" ), in : " 3.4 \x01 " , err : & SyntaxError {invalidChar : '\ x01', invalidCharContext : " after top-level value" , Offset : 6 }},
483
+ {CaseName : Name ("" ), in : "\x01 \" string\" " , err : & SyntaxError {invalidChar : '\ x01', invalidCharContext : " looking for beginning of value" , Offset : 1 }},
484
+ {CaseName : Name ("" ), in : " \" string\" \x01 " , err : & SyntaxError {invalidChar : '\ x01', invalidCharContext : " after top-level value" , Offset : 11 }},
485
485
486
486
// array tests
487
487
{CaseName : Name ("" ), in : `[1, 2, 3]` , ptr : new ([3 ]int ), out : [3 ]int {1 , 2 , 3 }},
@@ -1096,8 +1096,9 @@ var unmarshalTests = []struct {
1096
1096
in : `invalid` ,
1097
1097
ptr : new (Number ),
1098
1098
err : & SyntaxError {
1099
- msg : "invalid character 'i' looking for beginning of value" ,
1100
- Offset : 1 ,
1099
+ invalidChar : 'i' ,
1100
+ invalidCharContext : "looking for beginning of value" ,
1101
+ Offset : 1 ,
1101
1102
},
1102
1103
},
1103
1104
{
@@ -1178,7 +1179,7 @@ var unmarshalTests = []struct {
1178
1179
CaseName : Name ("" ),
1179
1180
in : `[1,2,true,4,5}` ,
1180
1181
ptr : new ([]int ),
1181
- err : & SyntaxError {msg : "invalid character '}' after array element" , Offset : 14 },
1182
+ err : & SyntaxError {invalidChar : '}' , invalidCharContext : " after array element" , Offset : 14 },
1182
1183
},
1183
1184
{
1184
1185
CaseName : Name ("" ),
@@ -2589,23 +2590,23 @@ func TestUnmarshalErrorAfterMultipleJSON(t *testing.T) {
2589
2590
}{{
2590
2591
CaseName : Name ("" ),
2591
2592
in : `1 false null :` ,
2592
- err : & SyntaxError {"invalid character ':' looking for beginning of value" , 14 },
2593
+ err : & SyntaxError {invalidChar : ':' , invalidCharContext : " looking for beginning of value" , Offset : 14 },
2593
2594
}, {
2594
2595
CaseName : Name ("" ),
2595
2596
in : `1 [] [,]` ,
2596
- err : & SyntaxError {"invalid character ',' looking for beginning of value" , 7 },
2597
+ err : & SyntaxError {invalidChar : ',' , invalidCharContext : " looking for beginning of value" , Offset : 7 },
2597
2598
}, {
2598
2599
CaseName : Name ("" ),
2599
2600
in : `1 [] [true:]` ,
2600
- err : & SyntaxError {"invalid character ':' after array element" , 11 },
2601
+ err : & SyntaxError {invalidChar : ':' , invalidCharContext : " after array element" , Offset : 11 },
2601
2602
}, {
2602
2603
CaseName : Name ("" ),
2603
2604
in : `1 {} {"x"=}` ,
2604
- err : & SyntaxError {"invalid character '=' after object key" , 14 },
2605
+ err : & SyntaxError {invalidChar : '=' , invalidCharContext : " after object key" , Offset : 14 },
2605
2606
}, {
2606
2607
CaseName : Name ("" ),
2607
2608
in : `falsetruenul#` ,
2608
- err : & SyntaxError {"invalid character '#' in literal null (expecting 'l')" , 13 },
2609
+ err : & SyntaxError {invalidChar : '#' , invalidCharContext : " in literal null (expecting 'l')" , Offset : 13 },
2609
2610
}}
2610
2611
for _ , tt := range tests {
2611
2612
t .Run (tt .Name , func (t * testing.T ) {
0 commit comments