mirror of
https://github.com/ent/ent.git
synced 2026-05-22 09:31:45 +03:00
Summary: Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1192 Pull Request resolved: https://github.com/facebookincubator/ent/pull/11 Reviewed By: alexsn Differential Revision: D16377224 fbshipit-source-id: 07ca7436eb9b64fbe2299568560b91466b2417ba
33 lines
709 B
Go
33 lines
709 B
Go
package graphson
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestTimeEncoding(t *testing.T) {
|
|
const ms = 1481750076295
|
|
ts := time.Unix(0, ms*time.Millisecond.Nanoseconds())
|
|
|
|
for _, v := range []interface{}{ts, &ts} {
|
|
got, err := MarshalToString(v)
|
|
require.NoError(t, err)
|
|
assert.JSONEq(t, `{ "@type": "g:Timestamp", "@value": 1481750076295 }`, got)
|
|
}
|
|
|
|
strs := []string{
|
|
`{ "@type": "g:Timestamp", "@value": 1481750076295 }`,
|
|
`{ "@type": "g:Date", "@value": 1481750076295 }`,
|
|
}
|
|
|
|
for _, str := range strs {
|
|
var v time.Time
|
|
err := UnmarshalFromString(str, &v)
|
|
assert.NoError(t, err)
|
|
assert.True(t, ts.Equal(v))
|
|
}
|
|
}
|