add update integration with the help output

This commit is contained in:
Lynn Cyrin
2019-07-13 03:44:39 -07:00
parent 550ed20ea4
commit 746866c10d
3 changed files with 38 additions and 24 deletions

View File

@@ -878,21 +878,41 @@ func TestAppNoHelpFlag(t *testing.T) {
}
func TestAppHelpPrinter(t *testing.T) {
oldPrinter := HelpPrinter
defer func() {
HelpPrinter = oldPrinter
}()
var wasCalled = false
HelpPrinter = func(w io.Writer, template string, data interface{}) {
wasCalled = true
tdata := []struct {
testCase string
flags []Flag
}{
{
testCase: "prints_help_and_does_not_error",
},
{
testCase: "prints_help_and_does_not_error_when_required_flag_is_present",
flags: []Flag{StringFlag{Name: "flag", Required: true}},
},
}
for _, test := range tdata {
t.Run(test.testCase, func(t *testing.T) {
oldPrinter := HelpPrinter
defer func() {
HelpPrinter = oldPrinter
}()
app := NewApp()
app.Run([]string{"-h"})
var wasCalled = false
HelpPrinter = func(w io.Writer, template string, data interface{}) {
wasCalled = true
}
if wasCalled == false {
t.Errorf("Help printer expected to be called, but was not")
app := NewApp()
app.Flags = test.flags
err := app.Run([]string{"testCommand", "-h"})
if wasCalled == false {
t.Errorf("Help printer expected to be called, but was not")
}
if err != nil {
t.Errorf("did not expected an error, but there was one: %s", err)
}
})
}
}