mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
remove ccirrelo/supervisor, update
everything seems to work even though sirupsen is upper case? :cyfap:
This commit is contained in:
7
vendor/github.com/json-iterator/go/extra/fuzzy_decoder.go
generated
vendored
7
vendor/github.com/json-iterator/go/extra/fuzzy_decoder.go
generated
vendored
@@ -7,6 +7,7 @@ import (
|
||||
"reflect"
|
||||
"strings"
|
||||
"unsafe"
|
||||
"io"
|
||||
)
|
||||
|
||||
const maxUint = ^uint(0)
|
||||
@@ -206,7 +207,7 @@ func (decoder *fuzzyIntegerDecoder) Decode(ptr unsafe.Pointer, iter *jsoniter.It
|
||||
defer iter.Pool().ReturnIterator(newIter)
|
||||
isFloat := strings.IndexByte(str, '.') != -1
|
||||
decoder.fun(isFloat, ptr, newIter)
|
||||
if newIter.Error != nil {
|
||||
if newIter.Error != nil && newIter.Error != io.EOF {
|
||||
iter.Error = newIter.Error
|
||||
}
|
||||
}
|
||||
@@ -225,7 +226,7 @@ func (decoder *fuzzyFloat32Decoder) Decode(ptr unsafe.Pointer, iter *jsoniter.It
|
||||
newIter := iter.Pool().BorrowIterator([]byte(str))
|
||||
defer iter.Pool().ReturnIterator(newIter)
|
||||
*((*float32)(ptr)) = newIter.ReadFloat32()
|
||||
if newIter.Error != nil {
|
||||
if newIter.Error != nil && newIter.Error != io.EOF {
|
||||
iter.Error = newIter.Error
|
||||
}
|
||||
default:
|
||||
@@ -247,7 +248,7 @@ func (decoder *fuzzyFloat64Decoder) Decode(ptr unsafe.Pointer, iter *jsoniter.It
|
||||
newIter := iter.Pool().BorrowIterator([]byte(str))
|
||||
defer iter.Pool().ReturnIterator(newIter)
|
||||
*((*float64)(ptr)) = newIter.ReadFloat64()
|
||||
if newIter.Error != nil {
|
||||
if newIter.Error != nil && newIter.Error != io.EOF {
|
||||
iter.Error = newIter.Error
|
||||
}
|
||||
default:
|
||||
|
||||
21
vendor/github.com/json-iterator/go/extra/fuzzy_decoder_test.go
generated
vendored
21
vendor/github.com/json-iterator/go/extra/fuzzy_decoder_test.go
generated
vendored
@@ -257,3 +257,24 @@ func Test_empty_array_as_object(t *testing.T) {
|
||||
should.Nil(jsoniter.UnmarshalFromString(`[]`, &val))
|
||||
should.Equal(struct{}{}, val)
|
||||
}
|
||||
|
||||
func Test_bad_case(t *testing.T) {
|
||||
var jsonstr = `
|
||||
{
|
||||
"extra_type": 181760,
|
||||
"combo_type": 0,
|
||||
"trigger_time_ms": 1498800398000,
|
||||
"_create_time": "2017-06-16 11:21:39",
|
||||
"_msg_type": 41000
|
||||
}
|
||||
`
|
||||
|
||||
type OrderEventRequestParams struct {
|
||||
ExtraType uint64 `json:"extra_type"`
|
||||
}
|
||||
|
||||
var a OrderEventRequestParams
|
||||
err := jsoniter.UnmarshalFromString(jsonstr, &a)
|
||||
should := require.New(t)
|
||||
should.Nil(err)
|
||||
}
|
||||
|
||||
8
vendor/github.com/json-iterator/go/feature_config.go
generated
vendored
8
vendor/github.com/json-iterator/go/feature_config.go
generated
vendored
@@ -17,6 +17,7 @@ type Config struct {
|
||||
EscapeHTML bool
|
||||
SortMapKeys bool
|
||||
UseNumber bool
|
||||
TagKey string
|
||||
}
|
||||
|
||||
type frozenConfig struct {
|
||||
@@ -95,6 +96,13 @@ func (cfg *frozenConfig) useNumber() {
|
||||
}
|
||||
}})
|
||||
}
|
||||
func (cfg *frozenConfig) getTagKey() string {
|
||||
tagKey := cfg.configBeforeFrozen.TagKey
|
||||
if tagKey == "" {
|
||||
return "json"
|
||||
}
|
||||
return tagKey
|
||||
}
|
||||
|
||||
func (cfg *frozenConfig) registerExtension(extension Extension) {
|
||||
cfg.extensions = append(cfg.extensions, extension)
|
||||
|
||||
8
vendor/github.com/json-iterator/go/feature_iter.go
generated
vendored
8
vendor/github.com/json-iterator/go/feature_iter.go
generated
vendored
@@ -285,14 +285,18 @@ func (iter *Iterator) Read() interface{} {
|
||||
case ArrayValue:
|
||||
arr := []interface{}{}
|
||||
iter.ReadArrayCB(func(iter *Iterator) bool {
|
||||
arr = append(arr, iter.Read())
|
||||
var elem interface{}
|
||||
iter.ReadVal(&elem)
|
||||
arr = append(arr, elem)
|
||||
return true
|
||||
})
|
||||
return arr
|
||||
case ObjectValue:
|
||||
obj := map[string]interface{}{}
|
||||
iter.ReadMapCB(func(Iter *Iterator, field string) bool {
|
||||
obj[field] = iter.Read()
|
||||
var elem interface{}
|
||||
iter.ReadVal(&elem)
|
||||
obj[field] = elem
|
||||
return true
|
||||
})
|
||||
return obj
|
||||
|
||||
2
vendor/github.com/json-iterator/go/feature_iter_skip_strict.go
generated
vendored
2
vendor/github.com/json-iterator/go/feature_iter_skip_strict.go
generated
vendored
@@ -64,7 +64,7 @@ func (iter *Iterator) trySkipString() bool {
|
||||
} else if c == '\\' {
|
||||
return false
|
||||
} else if c < ' ' {
|
||||
iter.ReportError("ReadString",
|
||||
iter.ReportError("trySkipString",
|
||||
fmt.Sprintf(`invalid control character found: %d`, c))
|
||||
return true // already failed
|
||||
}
|
||||
|
||||
6
vendor/github.com/json-iterator/go/feature_iter_string.go
generated
vendored
6
vendor/github.com/json-iterator/go/feature_iter_string.go
generated
vendored
@@ -47,7 +47,7 @@ func (iter *Iterator) readStringSlowPath() (ret string) {
|
||||
str = append(str, c)
|
||||
}
|
||||
}
|
||||
iter.ReportError("ReadString", "unexpected end of input")
|
||||
iter.ReportError("readStringSlowPath", "unexpected end of input")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ func (iter *Iterator) readEscapedChar(c byte, str []byte) []byte {
|
||||
case 't':
|
||||
str = append(str, '\t')
|
||||
default:
|
||||
iter.ReportError("ReadString",
|
||||
iter.ReportError("readEscapedChar",
|
||||
`invalid escape char after \`)
|
||||
return nil
|
||||
}
|
||||
@@ -139,7 +139,7 @@ func (iter *Iterator) ReadStringAsSlice() (ret []byte) {
|
||||
}
|
||||
return copied
|
||||
}
|
||||
iter.ReportError("ReadString", `expects " or n`)
|
||||
iter.ReportError("ReadStringAsSlice", `expects " or n`)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
2
vendor/github.com/json-iterator/go/feature_json_number.go
generated
vendored
2
vendor/github.com/json-iterator/go/feature_json_number.go
generated
vendored
@@ -12,4 +12,4 @@ func CastJsonNumber(val interface{}) (string, bool) {
|
||||
return string(typedVal), true
|
||||
}
|
||||
return "", false
|
||||
}
|
||||
}
|
||||
|
||||
13
vendor/github.com/json-iterator/go/feature_reflect.go
generated
vendored
13
vendor/github.com/json-iterator/go/feature_reflect.go
generated
vendored
@@ -466,6 +466,19 @@ func createEncoderOfType(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error
|
||||
}
|
||||
return encoder, nil
|
||||
}
|
||||
if reflect.PtrTo(typ).Implements(marshalerType) {
|
||||
checkIsEmpty, err := createCheckIsEmpty(reflect.PtrTo(typ))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
templateInterface := reflect.New(typ).Interface()
|
||||
var encoder ValEncoder = &marshalerEncoder{
|
||||
templateInterface: extractInterface(templateInterface),
|
||||
checkIsEmpty: checkIsEmpty,
|
||||
}
|
||||
encoder = &optionalEncoder{encoder}
|
||||
return encoder, nil
|
||||
}
|
||||
if typ.Implements(textMarshalerType) {
|
||||
checkIsEmpty, err := createCheckIsEmpty(typ)
|
||||
if err != nil {
|
||||
|
||||
4
vendor/github.com/json-iterator/go/feature_reflect_extension.go
generated
vendored
4
vendor/github.com/json-iterator/go/feature_reflect_extension.go
generated
vendored
@@ -227,7 +227,7 @@ func describeStruct(cfg *frozenConfig, typ reflect.Type) (*StructDescriptor, err
|
||||
bindings := []*Binding{}
|
||||
for i := 0; i < typ.NumField(); i++ {
|
||||
field := typ.Field(i)
|
||||
tag := field.Tag.Get("json")
|
||||
tag := field.Tag.Get(cfg.getTagKey())
|
||||
tagParts := strings.Split(tag, ",")
|
||||
if tag == "-" {
|
||||
continue
|
||||
@@ -373,7 +373,7 @@ func (bindings sortableBindings) Swap(i, j int) {
|
||||
func processTags(structDescriptor *StructDescriptor, cfg *frozenConfig) {
|
||||
for _, binding := range structDescriptor.Fields {
|
||||
shouldOmitEmpty := false
|
||||
tagParts := strings.Split(binding.Field.Tag.Get("json"), ",")
|
||||
tagParts := strings.Split(binding.Field.Tag.Get(cfg.getTagKey()), ",")
|
||||
for _, tagPart := range tagParts[1:] {
|
||||
if tagPart == "omitempty" {
|
||||
shouldOmitEmpty = true
|
||||
|
||||
52
vendor/github.com/json-iterator/go/feature_reflect_native.go
generated
vendored
52
vendor/github.com/json-iterator/go/feature_reflect_native.go
generated
vendored
@@ -31,6 +31,10 @@ type intCodec struct {
|
||||
}
|
||||
|
||||
func (codec *intCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
if iter.ReadNil() {
|
||||
*((*int)(ptr)) = 0
|
||||
return
|
||||
}
|
||||
*((*int)(ptr)) = iter.ReadInt()
|
||||
}
|
||||
|
||||
@@ -50,6 +54,10 @@ type uintptrCodec struct {
|
||||
}
|
||||
|
||||
func (codec *uintptrCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
if iter.ReadNil() {
|
||||
*((*uintptr)(ptr)) = 0
|
||||
return
|
||||
}
|
||||
*((*uintptr)(ptr)) = uintptr(iter.ReadUint64())
|
||||
}
|
||||
|
||||
@@ -69,6 +77,10 @@ type int8Codec struct {
|
||||
}
|
||||
|
||||
func (codec *int8Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
if iter.ReadNil() {
|
||||
*((*uint8)(ptr)) = 0
|
||||
return
|
||||
}
|
||||
*((*int8)(ptr)) = iter.ReadInt8()
|
||||
}
|
||||
|
||||
@@ -88,6 +100,10 @@ type int16Codec struct {
|
||||
}
|
||||
|
||||
func (codec *int16Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
if iter.ReadNil() {
|
||||
*((*int16)(ptr)) = 0
|
||||
return
|
||||
}
|
||||
*((*int16)(ptr)) = iter.ReadInt16()
|
||||
}
|
||||
|
||||
@@ -107,6 +123,10 @@ type int32Codec struct {
|
||||
}
|
||||
|
||||
func (codec *int32Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
if iter.ReadNil() {
|
||||
*((*int32)(ptr)) = 0
|
||||
return
|
||||
}
|
||||
*((*int32)(ptr)) = iter.ReadInt32()
|
||||
}
|
||||
|
||||
@@ -126,6 +146,10 @@ type int64Codec struct {
|
||||
}
|
||||
|
||||
func (codec *int64Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
if iter.ReadNil() {
|
||||
*((*int64)(ptr)) = 0
|
||||
return
|
||||
}
|
||||
*((*int64)(ptr)) = iter.ReadInt64()
|
||||
}
|
||||
|
||||
@@ -145,6 +169,10 @@ type uintCodec struct {
|
||||
}
|
||||
|
||||
func (codec *uintCodec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
if iter.ReadNil() {
|
||||
*((*uint)(ptr)) = 0
|
||||
return
|
||||
}
|
||||
*((*uint)(ptr)) = iter.ReadUint()
|
||||
}
|
||||
|
||||
@@ -164,6 +192,10 @@ type uint8Codec struct {
|
||||
}
|
||||
|
||||
func (codec *uint8Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
if iter.ReadNil() {
|
||||
*((*uint8)(ptr)) = 0
|
||||
return
|
||||
}
|
||||
*((*uint8)(ptr)) = iter.ReadUint8()
|
||||
}
|
||||
|
||||
@@ -183,6 +215,10 @@ type uint16Codec struct {
|
||||
}
|
||||
|
||||
func (codec *uint16Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
if iter.ReadNil() {
|
||||
*((*uint16)(ptr)) = 0
|
||||
return
|
||||
}
|
||||
*((*uint16)(ptr)) = iter.ReadUint16()
|
||||
}
|
||||
|
||||
@@ -202,6 +238,10 @@ type uint32Codec struct {
|
||||
}
|
||||
|
||||
func (codec *uint32Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
if iter.ReadNil() {
|
||||
*((*uint32)(ptr)) = 0
|
||||
return
|
||||
}
|
||||
*((*uint32)(ptr)) = iter.ReadUint32()
|
||||
}
|
||||
|
||||
@@ -221,6 +261,10 @@ type uint64Codec struct {
|
||||
}
|
||||
|
||||
func (codec *uint64Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
if iter.ReadNil() {
|
||||
*((*uint64)(ptr)) = 0
|
||||
return
|
||||
}
|
||||
*((*uint64)(ptr)) = iter.ReadUint64()
|
||||
}
|
||||
|
||||
@@ -240,6 +284,10 @@ type float32Codec struct {
|
||||
}
|
||||
|
||||
func (codec *float32Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
if iter.ReadNil() {
|
||||
*((*float32)(ptr)) = 0
|
||||
return
|
||||
}
|
||||
*((*float32)(ptr)) = iter.ReadFloat32()
|
||||
}
|
||||
|
||||
@@ -259,6 +307,10 @@ type float64Codec struct {
|
||||
}
|
||||
|
||||
func (codec *float64Codec) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
if iter.ReadNil() {
|
||||
*((*float64)(ptr)) = 0
|
||||
return
|
||||
}
|
||||
*((*float64)(ptr)) = iter.ReadFloat64()
|
||||
}
|
||||
|
||||
|
||||
12
vendor/github.com/json-iterator/go/feature_reflect_object.go
generated
vendored
12
vendor/github.com/json-iterator/go/feature_reflect_object.go
generated
vendored
@@ -4,8 +4,8 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
"reflect"
|
||||
"unsafe"
|
||||
"strings"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
func encoderOfStruct(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error) {
|
||||
@@ -29,7 +29,7 @@ func encoderOfStruct(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error) {
|
||||
if old.toName != toName {
|
||||
continue
|
||||
}
|
||||
old.ignored, new.ignored = resolveConflictBinding(old.binding, new.binding)
|
||||
old.ignored, new.ignored = resolveConflictBinding(cfg, old.binding, new.binding)
|
||||
}
|
||||
orderedBindings = append(orderedBindings, new)
|
||||
}
|
||||
@@ -49,9 +49,9 @@ func encoderOfStruct(cfg *frozenConfig, typ reflect.Type) (ValEncoder, error) {
|
||||
return &structEncoder{structDescriptor.onePtrEmbedded, structDescriptor.onePtrOptimization, finalOrderedFields}, nil
|
||||
}
|
||||
|
||||
func resolveConflictBinding(old, new *Binding) (ignoreOld, ignoreNew bool) {
|
||||
newTagged := new.Field.Tag.Get("json") != ""
|
||||
oldTagged := old.Field.Tag.Get("json") != ""
|
||||
func resolveConflictBinding(cfg *frozenConfig, old, new *Binding) (ignoreOld, ignoreNew bool) {
|
||||
newTagged := new.Field.Tag.Get(cfg.getTagKey()) != ""
|
||||
oldTagged := old.Field.Tag.Get(cfg.getTagKey()) != ""
|
||||
if newTagged {
|
||||
if oldTagged {
|
||||
if len(old.levels) > len(new.levels) {
|
||||
@@ -91,7 +91,7 @@ func decoderOfStruct(cfg *frozenConfig, typ reflect.Type) (ValDecoder, error) {
|
||||
bindings[fromName] = binding
|
||||
continue
|
||||
}
|
||||
ignoreOld, ignoreNew := resolveConflictBinding(old, binding)
|
||||
ignoreOld, ignoreNew := resolveConflictBinding(cfg, old, binding)
|
||||
if ignoreOld {
|
||||
delete(bindings, fromName)
|
||||
}
|
||||
|
||||
2
vendor/github.com/json-iterator/go/feature_reflect_struct_decoder.go
generated
vendored
2
vendor/github.com/json-iterator/go/feature_reflect_struct_decoder.go
generated
vendored
@@ -4,8 +4,8 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
"reflect"
|
||||
"unsafe"
|
||||
"strings"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
func createStructDecoder(typ reflect.Type, fields map[string]*structFieldDecoder) (ValDecoder, error) {
|
||||
|
||||
2
vendor/github.com/json-iterator/go/feature_stream_string.go
generated
vendored
2
vendor/github.com/json-iterator/go/feature_stream_string.go
generated
vendored
@@ -289,6 +289,8 @@ func writeStringSlowPathWithHTMLEscaped(stream *Stream, i int, s string, valLen
|
||||
if start < i {
|
||||
stream.WriteRaw(s[start:i])
|
||||
}
|
||||
stream.WriteRaw(`\ufffd`)
|
||||
i++
|
||||
start = i
|
||||
continue
|
||||
}
|
||||
|
||||
53
vendor/github.com/json-iterator/go/jsoniter_customize_test.go
generated
vendored
53
vendor/github.com/json-iterator/go/jsoniter_customize_test.go
generated
vendored
@@ -285,3 +285,56 @@ func Test_marshal_json_with_time(t *testing.T) {
|
||||
should.Nil(Unmarshal([]byte(`{"TF1":{"F1":"fake","F2":"fake"}}`), &obj))
|
||||
should.NotNil(obj.TF1.F2)
|
||||
}
|
||||
|
||||
func Test_customize_tag_key(t *testing.T) {
|
||||
|
||||
type TestObject struct {
|
||||
Field string `orm:"field"`
|
||||
}
|
||||
|
||||
should := require.New(t)
|
||||
json := Config{TagKey: "orm"}.Froze()
|
||||
str, err := json.MarshalToString(TestObject{"hello"})
|
||||
should.Nil(err)
|
||||
should.Equal(`{"field":"hello"}`, str)
|
||||
}
|
||||
|
||||
func Test_recursive_empty_interface_customization(t *testing.T) {
|
||||
t.Skip()
|
||||
var obj interface{}
|
||||
RegisterTypeDecoderFunc("interface {}", func(ptr unsafe.Pointer, iter *Iterator) {
|
||||
switch iter.WhatIsNext() {
|
||||
case NumberValue:
|
||||
*(*interface{})(ptr) = iter.ReadInt64()
|
||||
default:
|
||||
*(*interface{})(ptr) = iter.Read()
|
||||
}
|
||||
})
|
||||
should := require.New(t)
|
||||
Unmarshal([]byte("[100]"), &obj)
|
||||
should.Equal([]interface{}{int64(100)}, obj)
|
||||
}
|
||||
|
||||
type GeoLocation struct {
|
||||
Id string `json:"id,omitempty" db:"id"`
|
||||
}
|
||||
|
||||
func (p *GeoLocation) MarshalJSON() ([]byte, error) {
|
||||
return []byte(`{}`), nil
|
||||
}
|
||||
|
||||
func (p *GeoLocation) UnmarshalJSON(input []byte) error {
|
||||
p.Id = "hello"
|
||||
return nil
|
||||
}
|
||||
|
||||
func Test_marshal_and_unmarshal_on_non_pointer(t *testing.T) {
|
||||
should := require.New(t)
|
||||
locations := []GeoLocation{{"000"}}
|
||||
bytes, err := Marshal(locations)
|
||||
should.Nil(err)
|
||||
should.Equal("[{}]", string(bytes))
|
||||
err = Unmarshal([]byte("[1]"), &locations)
|
||||
should.Nil(err)
|
||||
should.Equal("hello", locations[0].Id)
|
||||
}
|
||||
|
||||
40
vendor/github.com/json-iterator/go/jsoniter_int_test.go
generated
vendored
40
vendor/github.com/json-iterator/go/jsoniter_int_test.go
generated
vendored
@@ -20,7 +20,45 @@ func Test_read_uint64_invalid(t *testing.T) {
|
||||
should.NotNil(iter.Error)
|
||||
}
|
||||
|
||||
func Test_read_int8(t *testing.T) {
|
||||
func Test_read_int_from_null(t *testing.T) {
|
||||
|
||||
type TestObject struct {
|
||||
F1 int8
|
||||
F2 int16
|
||||
F3 int32
|
||||
F4 int64
|
||||
F5 int
|
||||
F6 uint8
|
||||
F7 uint16
|
||||
F8 uint32
|
||||
F9 uint64
|
||||
F10 uint
|
||||
F11 float32
|
||||
F12 float64
|
||||
F13 uintptr
|
||||
}
|
||||
|
||||
should := require.New(t)
|
||||
obj := TestObject{}
|
||||
err := Unmarshal([]byte(`{
|
||||
"f1":null,
|
||||
"f2":null,
|
||||
"f3":null,
|
||||
"f4":null,
|
||||
"f5":null,
|
||||
"f6":null,
|
||||
"f7":null,
|
||||
"f8":null,
|
||||
"f9":null,
|
||||
"f10":null,
|
||||
"f11":null,
|
||||
"f12":null,
|
||||
"f13":null
|
||||
}`), &obj)
|
||||
should.Nil(err)
|
||||
}
|
||||
|
||||
func _int8(t *testing.T) {
|
||||
inputs := []string{`127`, `-128`}
|
||||
for _, input := range inputs {
|
||||
t.Run(fmt.Sprintf("%v", input), func(t *testing.T) {
|
||||
|
||||
32
vendor/github.com/json-iterator/go/jsoniter_invalid_test.go
generated
vendored
32
vendor/github.com/json-iterator/go/jsoniter_invalid_test.go
generated
vendored
@@ -1,6 +1,7 @@
|
||||
package jsoniter
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"github.com/stretchr/testify/require"
|
||||
"io"
|
||||
@@ -98,3 +99,34 @@ func Test_invalid_float(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func Test_chan(t *testing.T) {
|
||||
t.Skip("do not support chan")
|
||||
|
||||
type TestObject struct {
|
||||
MyChan chan bool
|
||||
MyField int
|
||||
}
|
||||
|
||||
should := require.New(t)
|
||||
obj := TestObject{}
|
||||
str, err := json.Marshal(obj)
|
||||
should.Nil(err)
|
||||
should.Equal(``, str)
|
||||
}
|
||||
|
||||
func Test_invalid_number(t *testing.T) {
|
||||
type Message struct {
|
||||
Number int `json:"number"`
|
||||
}
|
||||
obj := Message{}
|
||||
decoder := ConfigCompatibleWithStandardLibrary.NewDecoder(bytes.NewBufferString(`{"number":"5"}`))
|
||||
err := decoder.Decode(&obj)
|
||||
invalidStr := err.Error()
|
||||
result, err := ConfigCompatibleWithStandardLibrary.Marshal(invalidStr)
|
||||
should := require.New(t)
|
||||
should.Nil(err)
|
||||
result2, err := json.Marshal(invalidStr)
|
||||
should.Nil(err)
|
||||
should.Equal(string(result2), string(result))
|
||||
}
|
||||
|
||||
2
vendor/github.com/json-iterator/go/jsoniter_struct_decoder_test.go
generated
vendored
2
vendor/github.com/json-iterator/go/jsoniter_struct_decoder_test.go
generated
vendored
@@ -1,8 +1,8 @@
|
||||
package jsoniter
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"github.com/stretchr/testify/require"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func Test_decode_one_field_struct(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user