| package cobra |
| |
| import ( |
| "bytes" |
| "testing" |
| ) |
| |
| func TestCompleteNoDesCmdInFishScript(t *testing.T) { |
| rootCmd := &Command{Use: "root", Args: NoArgs, Run: emptyRun} |
| child := &Command{ |
| Use: "child", |
| ValidArgsFunction: validArgsFunc, |
| Run: emptyRun, |
| } |
| rootCmd.AddCommand(child) |
| |
| buf := new(bytes.Buffer) |
| assertNoErr(t, rootCmd.GenFishCompletion(buf, false)) |
| output := buf.String() |
| |
| check(t, output, ShellCompNoDescRequestCmd) |
| } |
| |
| func TestCompleteCmdInFishScript(t *testing.T) { |
| rootCmd := &Command{Use: "root", Args: NoArgs, Run: emptyRun} |
| child := &Command{ |
| Use: "child", |
| ValidArgsFunction: validArgsFunc, |
| Run: emptyRun, |
| } |
| rootCmd.AddCommand(child) |
| |
| buf := new(bytes.Buffer) |
| assertNoErr(t, rootCmd.GenFishCompletion(buf, true)) |
| output := buf.String() |
| |
| check(t, output, ShellCompRequestCmd) |
| checkOmit(t, output, ShellCompNoDescRequestCmd) |
| } |
| |
| func TestProgWithDash(t *testing.T) { |
| rootCmd := &Command{Use: "root-dash", Args: NoArgs, Run: emptyRun} |
| buf := new(bytes.Buffer) |
| assertNoErr(t, rootCmd.GenFishCompletion(buf, false)) |
| output := buf.String() |
| |
| // Functions name should have replace the '-' |
| check(t, output, "__root_dash_perform_completion") |
| checkOmit(t, output, "__root-dash_perform_completion") |
| |
| // The command name should not have replaced the '-' |
| check(t, output, "-c root-dash") |
| checkOmit(t, output, "-c root_dash") |
| } |
| |
| func TestProgWithColon(t *testing.T) { |
| rootCmd := &Command{Use: "root:colon", Args: NoArgs, Run: emptyRun} |
| buf := new(bytes.Buffer) |
| assertNoErr(t, rootCmd.GenFishCompletion(buf, false)) |
| output := buf.String() |
| |
| // Functions name should have replace the ':' |
| check(t, output, "__root_colon_perform_completion") |
| checkOmit(t, output, "__root:colon_perform_completion") |
| |
| // The command name should not have replaced the ':' |
| check(t, output, "-c root:colon") |
| checkOmit(t, output, "-c root_colon") |
| } |