liuxiaolong
2020-09-16 4501e38ca66f09b35aaaf43fa5a316554930fcf4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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
}