Files
docker-cli/opts/duration_test.go
Sebastiaan van Stijn 4fe6b837b7 bump gotest.tools v3.0.1 for compatibility with Go 1.14
full diff: https://github.com/gotestyourself/gotest.tools/compare/v2.3.0...v3.0.1

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 2c0e93063b)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-04-21 16:43:18 +02:00

31 lines
858 B
Go

package opts
import (
"testing"
"time"
"gotest.tools/v3/assert"
is "gotest.tools/v3/assert/cmp"
)
func TestDurationOptString(t *testing.T) {
dur := time.Duration(300 * 10e8)
duration := DurationOpt{value: &dur}
assert.Check(t, is.Equal("5m0s", duration.String()))
}
func TestDurationOptSetAndValue(t *testing.T) {
var duration DurationOpt
assert.NilError(t, duration.Set("300s"))
assert.Check(t, is.Equal(time.Duration(300*10e8), *duration.Value()))
assert.NilError(t, duration.Set("-300s"))
assert.Check(t, is.Equal(time.Duration(-300*10e8), *duration.Value()))
}
func TestPositiveDurationOptSetAndValue(t *testing.T) {
var duration PositiveDurationOpt
assert.NilError(t, duration.Set("300s"))
assert.Check(t, is.Equal(time.Duration(300*10e8), *duration.Value()))
assert.Error(t, duration.Set("-300s"), "duration cannot be negative")
}