From 02613e50bee21550239c39bf880333358f1e0d8d Mon Sep 17 00:00:00 2001 From: Naveen Gogineni Date: Thu, 6 Oct 2022 20:53:05 -0500 Subject: [PATCH] Fix tests --- app_test.go | 2 +- category.go | 20 +++----------------- command.go | 4 +++- help.go | 6 +----- help_test.go | 12 ++++++++---- template.go | 10 ++++++---- 6 files changed, 22 insertions(+), 32 deletions(-) diff --git a/app_test.go b/app_test.go index 62007188d0..a4ce72c765 100644 --- a/app_test.go +++ b/app_test.go @@ -177,7 +177,7 @@ func ExampleApp_Run_commandHelp() { // greet describeit - use it to see a description // // USAGE: - // greet describeit [arguments...] + // greet describeit [command options] [arguments...] // // DESCRIPTION: // This is how we describe describeit the function diff --git a/category.go b/category.go index a5271a39ef..7aca0c7684 100644 --- a/category.go +++ b/category.go @@ -100,29 +100,15 @@ func newFlagCategories() FlagCategories { func newFlagCategoriesFromFlags(fs []Flag) FlagCategories { fc := newFlagCategories() - if !enableCategory(fs) { - return fc - } - for _, fl := range fs { - if cf, ok := fl.(CategorizableFlag); ok { - fc.AddFlag(cf.GetCategory(), cf) - } - } - - return fc -} - -func enableCategory(fs []Flag) bool { for _, fl := range fs { if cf, ok := fl.(CategorizableFlag); ok { - // When a category is specified, it is assumed that the entire command opens the category - if len(cf.GetCategory()) != 0 { - return true + if cf.GetCategory() != "" { + fc.AddFlag(cf.GetCategory(), cf) } } } - return false + return fc } func (f *defaultFlagCategories) AddFlag(category string, fl Flag) { diff --git a/command.go b/command.go index e66985e71f..0707044732 100644 --- a/command.go +++ b/command.go @@ -312,7 +312,9 @@ func (c *Command) VisibleFlagCategories() []VisibleFlagCategory { c.flagCategories = newFlagCategories() for _, fl := range c.Flags { if cf, ok := fl.(CategorizableFlag); ok { - c.flagCategories.AddFlag(cf.GetCategory(), cf) + if cf.GetCategory() != "" { + c.flagCategories.AddFlag(cf.GetCategory(), cf) + } } } } diff --git a/help.go b/help.go index d78444a0c6..2930165626 100644 --- a/help.go +++ b/help.go @@ -242,11 +242,7 @@ func ShowCommandHelp(ctx *Context, command string) error { c.Subcommands = append(c.Subcommands, helpCommandDontUse) } if !ctx.App.HideHelp && HelpFlag != nil { - if c.flagCategories == nil { - c.flagCategories = newFlagCategoriesFromFlags([]Flag{HelpFlag}) - } else { - c.flagCategories.AddFlag("", HelpFlag) - } + c.appendFlag(HelpFlag) } templ := c.CustomHelpTemplate if templ == "" { diff --git a/help_test.go b/help_test.go index 37410a5449..72277ccb08 100644 --- a/help_test.go +++ b/help_test.go @@ -1366,7 +1366,8 @@ DESCRIPTION: case OPTIONS: - --help, -h show help (default: false) + --help, -h show help + (default: false) ` if output.String() != expected { @@ -1435,7 +1436,8 @@ USAGE: even more OPTIONS: - --help, -h show help (default: false) + --help, -h show help + (default: false) ` if output.String() != expected { @@ -1510,8 +1512,10 @@ USAGE: even more OPTIONS: - --help, -h show help (default: false) - --test-f value my test usage + --test-f value my test + usage + --help, -h show help + (default: false) ` if output.String() != expected { diff --git a/template.go b/template.go index 1133b8907c..5c2a62e894 100644 --- a/template.go +++ b/template.go @@ -18,8 +18,8 @@ var visibleFlagCategoryTemplate = `{{range .VisibleFlagCategories}} {{else}}{{$e}} {{end}}{{end}}{{end}}` -var visibleFlagTemplate = `{{range $index, $option := .VisibleFlags}}{{if $index}}{{end}} - {{wrap $option.String 6}}{{end}}` +var visibleFlagTemplate = `{{range $i, $e := .VisibleFlags}} + {{wrap $e.String 6}}{{end}}` var versionTemplate = `{{if .Version}}{{if not .HideVersion}} @@ -73,7 +73,8 @@ DESCRIPTION: OPTIONS:{{template "visibleFlagCategoryTemplate" .}}{{else if .VisibleFlags}} -OPTIONS:{{template "visibleFlagTemplate" .}}{{end}}` +OPTIONS:{{template "visibleFlagTemplate" .}}{{end}} +` // SubcommandHelpTemplate is the text template for the subcommand help topic. // cli.go uses text/template to render templates. You can @@ -91,7 +92,8 @@ COMMANDS:{{template "visibleCommandTemplate" .}}{{end}}{{if .VisibleFlagCategori OPTIONS:{{template "visibleFlagCategoryTemplate" .}}{{else if .VisibleFlags}} -OPTIONS:{{template "visibleFlagTemplate" .}}{{end}}` +OPTIONS:{{template "visibleFlagTemplate" .}}{{end}} +` var MarkdownDocTemplate = `{{if gt .SectionNum 0}}% {{ .App.Name }} {{ .SectionNum }}