mirror of
https://github.com/json-iterator/go.git
synced 2024-11-27 08:30:57 +02:00
63 lines
1.6 KiB
Go
63 lines
1.6 KiB
Go
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:"stream"`
|
|
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, "stream" : 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,"stream":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))
|
|
|
|
}
|