1
0
mirror of https://github.com/json-iterator/go.git synced 2025-02-01 19:14:29 +02:00
json-iterator/extra/time_as_int64_codec_test.go

32 lines
857 B
Go
Raw Normal View History

2017-06-20 17:43:47 +08:00
package extra
import (
2017-06-21 00:26:18 +08:00
"github.com/json-iterator/go"
"github.com/stretchr/testify/require"
2017-06-20 17:43:47 +08:00
"testing"
"time"
)
func Test_time_as_int64(t *testing.T) {
should := require.New(t)
RegisterTimeAsInt64Codec(time.Nanosecond)
2017-06-20 17:52:41 +08:00
output, err := jsoniter.Marshal(time.Unix(1497952257, 1002))
2017-06-20 17:43:47 +08:00
should.Nil(err)
2017-06-20 17:52:41 +08:00
should.Equal("1497952257000001002", string(output))
var val time.Time
should.Nil(jsoniter.Unmarshal(output, &val))
should.Equal(int64(1497952257000001002), val.UnixNano())
2017-06-20 17:43:47 +08:00
}
func Test_time_as_int64_keep_microsecond(t *testing.T) {
2017-06-26 14:25:56 +08:00
t.Skip("conflict")
should := require.New(t)
RegisterTimeAsInt64Codec(time.Microsecond)
output, err := jsoniter.Marshal(time.Unix(1, 1002))
should.Nil(err)
should.Equal("1000001", string(output))
2017-06-20 17:52:41 +08:00
var val time.Time
should.Nil(jsoniter.Unmarshal(output, &val))
should.Equal(int64(1000001000), val.UnixNano())
}