|
|
@@ -5,6 +5,7 @@
|
|
|
package mono
|
|
|
|
|
|
import (
|
|
|
+ "encoding/json"
|
|
|
"testing"
|
|
|
"time"
|
|
|
)
|
|
|
@@ -17,6 +18,22 @@ func TestNow(t *testing.T) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+func TestUnmarshalZero(t *testing.T) {
|
|
|
+ var tt time.Time
|
|
|
+ buf, err := json.Marshal(tt)
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+ var m Time
|
|
|
+ err = json.Unmarshal(buf, &m)
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+ if !m.IsZero() {
|
|
|
+ t.Errorf("expected unmarshal of zero time to be 0, got %d (~=%v)", m, m)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
func BenchmarkMonoNow(b *testing.B) {
|
|
|
for i := 0; i < b.N; i++ {
|
|
|
Now()
|