mirror of
https://github.com/json-iterator/go.git
synced 2025-03-26 21:12:40 +02:00
add type def marshal/unmarshal test
This commit is contained in:
parent
e07a4ca5ec
commit
3bb49c1e47
62
jsoniter_alias_test.go
Normal file
62
jsoniter_alias_test.go
Normal file
@ -0,0 +1,62 @@
|
||||
package jsoniter
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_alias(t *testing.T) {
|
||||
should := require.New(t)
|
||||
type myint int
|
||||
type myint8 int8
|
||||
type myint16 int16
|
||||
type myint32 int32
|
||||
type myint64 int64
|
||||
type myuint uint
|
||||
type myuint8 uint8
|
||||
type myuint16 uint16
|
||||
type myuint32 uint32
|
||||
type myuint64 uint64
|
||||
type myfloat32 float32
|
||||
type myfloat64 float64
|
||||
type mystring string
|
||||
type mybool bool
|
||||
type myuintptr uintptr
|
||||
var a struct {
|
||||
A myint8 `json:"a"`
|
||||
B myint16 `json:"b"`
|
||||
C myint32 `json:"c"`
|
||||
D myint64 `json:"d"`
|
||||
E myuint8 `json:"e"`
|
||||
F myuint16 `json:"f"`
|
||||
G myuint32 `json:"g"`
|
||||
H myuint64 `json:"h"`
|
||||
I myfloat32 `json:"i"`
|
||||
J myfloat64 `json:"j"`
|
||||
K mystring `json:"k"`
|
||||
L myint `json:"l"`
|
||||
M myuint `json:"m"`
|
||||
N mybool `json:"n"`
|
||||
O myuintptr `json:"o"`
|
||||
}
|
||||
|
||||
should.Nil(UnmarshalFromString(`{"a" : 1, "b" : 1, "c": 1, "d" : 1, "e" : 1, "f" : 1, "g" : 1, "h": 1, "i" : 1, "j" : 1, "k" :"xxxx", "l" : 1, "m":1, "n": true, "o" : 1}`, &a))
|
||||
should.Equal(myfloat32(1), a.I)
|
||||
should.Equal(myfloat64(1), a.J)
|
||||
should.Equal(myint8(1), a.A)
|
||||
should.Equal(myint16(1), a.B)
|
||||
should.Equal(myint32(1), a.C)
|
||||
should.Equal(myint64(1), a.D)
|
||||
should.Equal(myuint8(1), a.E)
|
||||
should.Equal(myuint16(1), a.F)
|
||||
should.Equal(myuint32(1), a.G)
|
||||
should.Equal(myuint64(1), a.H)
|
||||
should.Equal(mystring("xxxx"), a.K)
|
||||
should.Equal(mybool(true), a.N)
|
||||
should.Equal(myuintptr(1), a.O)
|
||||
b, err := Marshal(a)
|
||||
should.Nil(err)
|
||||
should.Equal(`{"a":1,"b":1,"c":1,"d":1,"e":1,"f":1,"g":1,"h":1,"i":1,"j":1,"k":"xxxx","l":1,"m":1,"n":true,"o":1}`, string(b))
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user