61 lines
1.0 KiB
Go
61 lines
1.0 KiB
Go
package main
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestParseDurationMs(t *testing.T) {
|
|
d, err := parseDuration("500ms")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if d != 500*time.Millisecond {
|
|
t.Errorf("got %v, want 500ms", d)
|
|
}
|
|
}
|
|
|
|
func TestParseDurationSeconds(t *testing.T) {
|
|
d, err := parseDuration("10s")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if d != 10*time.Second {
|
|
t.Errorf("got %v, want 10s", d)
|
|
}
|
|
}
|
|
|
|
func TestParseDurationDecimal(t *testing.T) {
|
|
d, err := parseDuration("1.5s")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if d != 1500*time.Millisecond {
|
|
t.Errorf("got %v, want 1.5s", d)
|
|
}
|
|
}
|
|
|
|
func TestParseDurationMinutes(t *testing.T) {
|
|
d, err := parseDuration("1m")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if d != time.Minute {
|
|
t.Errorf("got %v, want 1m", d)
|
|
}
|
|
}
|
|
|
|
func TestParseDurationInvalid(t *testing.T) {
|
|
_, err := parseDuration("abc")
|
|
if err == nil {
|
|
t.Error("expected error for invalid duration")
|
|
}
|
|
}
|
|
|
|
func TestParseDurationNoUnit(t *testing.T) {
|
|
_, err := parseDuration("10")
|
|
if err == nil {
|
|
t.Error("expected error for missing unit")
|
|
}
|
|
}
|