mirror of
https://github.com/json-iterator/go.git
synced 2025-04-20 11:28:49 +02:00
37 lines
730 B
Go
37 lines
730 B
Go
|
package test
|
||
|
|
||
|
import (
|
||
|
"github.com/json-iterator/go"
|
||
|
"github.com/stretchr/testify/require"
|
||
|
"reflect"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func Test_errorInput(t *testing.T) {
|
||
|
for _, testCase := range unmarshalCases {
|
||
|
if testCase.obj != nil {
|
||
|
continue
|
||
|
}
|
||
|
valType := reflect.TypeOf(testCase.ptr).Elem()
|
||
|
t.Run(valType.String(), func(t *testing.T) {
|
||
|
for _, data := range []string{
|
||
|
`x`,
|
||
|
`n`,
|
||
|
`nul`,
|
||
|
`{x}`,
|
||
|
`{"x"}`,
|
||
|
`{"x": "y"x}`,
|
||
|
`{"x": "y"`,
|
||
|
`{"x": "y", "a"}`,
|
||
|
`[`,
|
||
|
`[{"x": "y"}`,
|
||
|
} {
|
||
|
ptrVal := reflect.New(valType)
|
||
|
ptr := ptrVal.Interface()
|
||
|
err := jsoniter.ConfigCompatibleWithStandardLibrary.Unmarshal([]byte(data), ptr)
|
||
|
require.Error(t, err, "on input %q", data)
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
}
|