23 lines
365 B
Go
23 lines
365 B
Go
|
package timeutil
|
||
|
|
||
|
import (
|
||
|
"encoding/json"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestDuration(t *testing.T) {
|
||
|
js := []byte(`{"foo": "30s"}`)
|
||
|
|
||
|
foo := struct{ Foo Duration }{}
|
||
|
|
||
|
err := json.Unmarshal(js, &foo)
|
||
|
if err != nil {
|
||
|
t.Fatalf("could not unmarshal %q: %s", js, err)
|
||
|
}
|
||
|
|
||
|
if foo.Foo.Seconds() != 30 {
|
||
|
t.Fatalf("parsed time.Duration wasn't 30 seconds: %s", foo.Foo)
|
||
|
}
|
||
|
|
||
|
}
|