From 6f81c7e746a3c7917f9d0efc1a6b34d905135866 Mon Sep 17 00:00:00 2001 From: GrĂ©goire DuchĂȘne Date: Sat, 3 Dec 2022 12:19:17 +0000 Subject: Prevent flags from being set again by default Flag values that are safe to be set again should implement the new MutableFlagValue interface. --- flag_test.go | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'flag_test.go') diff --git a/flag_test.go b/flag_test.go index 26568d6..1f36b63 100644 --- a/flag_test.go +++ b/flag_test.go @@ -110,4 +110,13 @@ func TestInitFlagSet(s *testing.T) { t.AssertEqual(tc.expStr, *fm) }) } + + t.Run("NoMutableFlagValue", func(t *core.T) { + fs := flag.NewFlagSet("", flag.PanicOnError) + fi := fs.Int("int", 0, "") + t.AssertErrorIs(nil, core.InitFlagSet(fs, nil, nil, []string{"-int=42"})) + t.AssertEqual(42, *fi) + t.AssertErrorIs(nil, core.InitFlagSet(fs, nil, nil, []string{"-int=21"})) + t.AssertEqual(42, *fi) + }) } -- cgit v1.2.3-70-g09d2