aboutsummaryrefslogtreecommitdiff
path: root/flag_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'flag_test.go')
-rw-r--r--flag_test.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/flag_test.go b/flag_test.go
index 56711d5..a4da69b 100644
--- a/flag_test.go
+++ b/flag_test.go
@@ -20,6 +20,16 @@ func TestFlagVar(s *testing.T) {
t.AssertEqual(true, *fl)
}
+func TestFlagVarDef(s *testing.T) {
+ t := core.T{T: s}
+
+ fs := flag.NewFlagSet("", flag.ContinueOnError)
+ fl := core.FlagVarDef(fs, "test", "", strconv.Atoi, 42)
+ t.AssertEqual(42, *fl)
+ t.AssertErrorIs(nil, fs.Parse([]string{"-test=1"}))
+ t.AssertEqual(1, *fl)
+}
+
func TestFlagVarPtr(s *testing.T) {
t := core.T{T: s}
@@ -39,6 +49,16 @@ func TestFlagVarSlice(s *testing.T) {
t.AssertEqual([]int{1, 2, 42}, *fl)
}
+func TestFlagVarSliceDef(s *testing.T) {
+ t := core.T{T: s}
+
+ fs := flag.NewFlagSet("", flag.ContinueOnError)
+ fl := core.FlagVarSliceDef(fs, "test", "", strconv.Atoi, []int{42})
+ t.AssertEqual([]int{42}, *fl)
+ t.AssertErrorIs(nil, fs.Parse([]string{"-test=1", "-test=2"}))
+ t.AssertEqual([]int{1, 2}, *fl)
+}
+
func TestFlagVarSlicePtr(s *testing.T) {
t := core.T{T: s}