aboutsummaryrefslogtreecommitdiff
path: root/time_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'time_test.go')
-rw-r--r--time_test.go28
1 files changed, 27 insertions, 1 deletions
diff --git a/time_test.go b/time_test.go
index 46a5ada..62d9a79 100644
--- a/time_test.go
+++ b/time_test.go
@@ -2,13 +2,14 @@ package pflag
import (
"fmt"
+ "strings"
"testing"
"time"
)
func setUpTimeVar(t *time.Time, formats []string) *FlagSet {
f := NewFlagSet("test", ContinueOnError)
- f.TimeVar(t, "time", time.Time{}, formats, "Time")
+ f.TimeVar(t, "time", *t, formats, "Time")
return f
}
@@ -60,3 +61,28 @@ func TestTime(t *testing.T) {
}
}
}
+
+func usageForTimeFlagSet(t *testing.T, timeVar time.Time) string {
+ t.Helper()
+ formats := []string{time.RFC3339Nano, time.RFC1123Z}
+ f := setUpTimeVar(&timeVar, formats)
+ if err := f.Parse([]string{}); err != nil {
+ t.Fatalf("expected success, got %q", err)
+ }
+ return f.FlagUsages()
+}
+
+func TestTimeDefaultZero(t *testing.T) {
+ usage := usageForTimeFlagSet(t, time.Time{})
+ if strings.Contains(usage, "default") {
+ t.Errorf("expected no default value in usage, got %q", usage)
+ }
+}
+
+func TestTimeDefaultNonZero(t *testing.T) {
+ timeVar := time.Date(2025, 1, 1, 1, 1, 1, 0, time.UTC)
+ usage := usageForTimeFlagSet(t, timeVar)
+ if !strings.Contains(usage, "default") || !strings.Contains(usage, "2025") {
+ t.Errorf("expected default value in usage, got %q", usage)
+ }
+}