diff --git a/misc_tests/jsoniter_array_test.go b/misc_tests/jsoniter_array_test.go index ef467d1..56e3e12 100644 --- a/misc_tests/jsoniter_array_test.go +++ b/misc_tests/jsoniter_array_test.go @@ -3,9 +3,10 @@ package misc_tests import ( "bytes" "encoding/json" + "testing" + "github.com/json-iterator/go" "github.com/stretchr/testify/require" - "testing" ) func Test_empty_array(t *testing.T) { @@ -168,6 +169,17 @@ func Test_decode_byte_array_from_base64(t *testing.T) { should.Equal([]byte{1, 2, 3}, data) } +func Test_decode_byte_array_from_base64_with_newlines(t *testing.T) { + should := require.New(t) + data := []byte{} + err := json.Unmarshal([]byte(`"A\rQ\nID"`), &data) + should.Nil(err) + should.Equal([]byte{1, 2, 3}, data) + err = jsoniter.Unmarshal([]byte(`"A\rQ\nID"`), &data) + should.Nil(err) + should.Equal([]byte{1, 2, 3}, data) +} + func Test_decode_byte_array_from_array(t *testing.T) { should := require.New(t) data := []byte{} diff --git a/reflect_native.go b/reflect_native.go index 52e94a4..9042eb0 100644 --- a/reflect_native.go +++ b/reflect_native.go @@ -2,10 +2,11 @@ package jsoniter import ( "encoding/base64" - "github.com/modern-go/reflect2" "reflect" "strconv" "unsafe" + + "github.com/modern-go/reflect2" ) const ptrSize = 32 << uintptr(^uintptr(0)>>63)