| package cli |
| |
| import ( |
| "github.com/posener/complete" |
| ) |
| |
| // MockCommand is an implementation of Command that can be used for tests. |
| // It is publicly exported from this package in case you want to use it |
| // externally. |
| type MockCommand struct { |
| // Settable |
| HelpText string |
| RunResult int |
| SynopsisText string |
| |
| // Set by the command |
| RunCalled bool |
| RunArgs []string |
| } |
| |
| func (c *MockCommand) Help() string { |
| return c.HelpText |
| } |
| |
| func (c *MockCommand) Run(args []string) int { |
| c.RunCalled = true |
| c.RunArgs = args |
| |
| return c.RunResult |
| } |
| |
| func (c *MockCommand) Synopsis() string { |
| return c.SynopsisText |
| } |
| |
| // MockCommandAutocomplete is an implementation of CommandAutocomplete. |
| type MockCommandAutocomplete struct { |
| MockCommand |
| |
| // Settable |
| AutocompleteArgsValue complete.Predictor |
| AutocompleteFlagsValue complete.Flags |
| } |
| |
| func (c *MockCommandAutocomplete) AutocompleteArgs() complete.Predictor { |
| return c.AutocompleteArgsValue |
| } |
| |
| func (c *MockCommandAutocomplete) AutocompleteFlags() complete.Flags { |
| return c.AutocompleteFlagsValue |
| } |
| |
| // MockCommandHelpTemplate is an implementation of CommandHelpTemplate. |
| type MockCommandHelpTemplate struct { |
| MockCommand |
| |
| // Settable |
| HelpTemplateText string |
| } |
| |
| func (c *MockCommandHelpTemplate) HelpTemplate() string { |
| return c.HelpTemplateText |
| } |