From 574bc4cfb94effb3e1bb934f1512c1f1a558000f Mon Sep 17 00:00:00 2001 From: Steve Domino Date: Fri, 4 Sep 2015 16:22:44 -0600 Subject: adding a private field to flags, and a function for marking flags as private removing some c/p left-overs from the MarkPrivate function, and updating the comment slightly changed field from Private to Hidden. Added documentation w/example to README.md. Added testing to confirm hidden flags updating test message --- flag_test.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'flag_test.go') diff --git a/flag_test.go b/flag_test.go index 165f689..1b4005c 100644 --- a/flag_test.go +++ b/flag_test.go @@ -831,3 +831,35 @@ func TestMultipleNormalizeFlagNameInvocations(t *testing.T) { t.Fatal("Expected normalizeFlagNameInvocations to be 1; got ", normalizeFlagNameInvocations) } } + +// +func TestHiddenFlagInUsage(t *testing.T) { + f := NewFlagSet("bob", ContinueOnError) + f.Bool("secretFlag", true, "shhh") + f.MarkHidden("secretFlag") + + out := new(bytes.Buffer) + f.SetOutput(out) + f.PrintDefaults() + + if strings.Contains(out.String(), "secretFlag") { + t.Errorf("found hidden flag in usage!") + } +} + +// +func TestHiddenFlagUsage(t *testing.T) { + f := NewFlagSet("bob", ContinueOnError) + f.Bool("secretFlag", true, "shhh") + f.MarkHidden("secretFlag") + + args := []string{"--secretFlag"} + out, err := parseReturnStderr(t, f, args) + if err != nil { + t.Fatal("expected no error; got ", err) + } + + if strings.Contains(out, "shhh") { + t.Errorf("usage message printed when using a hidden flag!") + } +} -- cgit v1.2.3