Upstream spf13/pflag state of the touched files before bd1e34bcc3
This commit is contained in:
commit
38ddaa30dd
2 files changed
+1481
No files matched your search
@@ -0,0 +1,74 @@
|
|||||||
|
package pflag
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"io"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
const expectedOutput = ` --long-form[=true|false] Some description
|
||||||
|
--long-form2[=true|false] Some description
|
||||||
|
with multiline
|
||||||
|
-s, --long-name[=true|false] Some description
|
||||||
|
-t, --long-name2[=true|false] Some description with
|
||||||
|
multiline
|
||||||
|
`
|
||||||
|
|
||||||
|
func setUpPFlagSet(buf io.Writer) *FlagSet {
|
||||||
|
f := NewFlagSet("test", ExitOnError)
|
||||||
|
f.Bool("long-form", false, "Some description")
|
||||||
|
f.Bool("long-form2", false, "Some description\n with multiline")
|
||||||
|
f.BoolP("long-name", "s", false, "Some description")
|
||||||
|
f.BoolP("long-name2", "t", false, "Some description with\n multiline")
|
||||||
|
f.SetOutput(buf)
|
||||||
|
return f
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestPrintUsage(t *testing.T) {
|
||||||
|
buf := bytes.Buffer{}
|
||||||
|
f := setUpPFlagSet(&buf)
|
||||||
|
f.PrintDefaults()
|
||||||
|
res := buf.String()
|
||||||
|
if res != expectedOutput {
|
||||||
|
t.Errorf("Expected \n%s \nActual \n%s", expectedOutput, res)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func setUpPFlagSet2(buf io.Writer) *FlagSet {
|
||||||
|
f := NewFlagSet("test", ExitOnError)
|
||||||
|
f.Bool("long-form", false, "Some description")
|
||||||
|
f.Bool("long-form2", false, "Some description\n with multiline")
|
||||||
|
f.BoolP("long-name", "s", false, "Some description")
|
||||||
|
f.BoolP("long-name2", "t", false, "Some description with\n multiline")
|
||||||
|
f.StringP("some-very-long-arg", "l", "test", "Some very long description having break the limit")
|
||||||
|
f.StringP("other-very-long-arg", "o", "long-default-value", "Some very long description having break the limit")
|
||||||
|
f.String("some-very-long-arg2", "very long default value", "Some very long description\nwith line break\nmultiple")
|
||||||
|
f.SetOutput(buf)
|
||||||
|
return f
|
||||||
|
}
|
||||||
|
|
||||||
|
const expectedOutput2 = ` --long-form[=true|false] Some description
|
||||||
|
--long-form2[=true|false] Some description
|
||||||
|
with multiline
|
||||||
|
-s, --long-name[=true|false] Some description
|
||||||
|
-t, --long-name2[=true|false] Some description with
|
||||||
|
multiline
|
||||||
|
-o, --other-very-long-arg string Some very long description having
|
||||||
|
break the limit (default
|
||||||
|
"long-default-value")
|
||||||
|
-l, --some-very-long-arg string Some very long description having
|
||||||
|
break the limit (default "test")
|
||||||
|
--some-very-long-arg2 string Some very long description
|
||||||
|
with line break
|
||||||
|
multiple (default "very long default
|
||||||
|
value")
|
||||||
|
`
|
||||||
|
|
||||||
|
func TestPrintUsage_2(t *testing.T) {
|
||||||
|
buf := bytes.Buffer{}
|
||||||
|
f := setUpPFlagSet2(&buf)
|
||||||
|
res := f.FlagUsagesWrapped(80)
|
||||||
|
if res != expectedOutput2 {
|
||||||
|
t.Errorf("Expected \n%s \nActual \n%s", expectedOutput2, res)
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in new issue
Block a user