summaryrefslogtreecommitdiff
path: root/vendor/github.com/mitchellh/cli/command_mock.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/mitchellh/cli/command_mock.go')
-rw-r--r--vendor/github.com/mitchellh/cli/command_mock.go63
1 files changed, 63 insertions, 0 deletions
diff --git a/vendor/github.com/mitchellh/cli/command_mock.go b/vendor/github.com/mitchellh/cli/command_mock.go
new file mode 100644
index 00000000..7a584b7e
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/command_mock.go
@@ -0,0 +1,63 @@
+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
+}