Merge pull request #12091 from rneatherway/browse-actions
Add gh browse --actions flag
This commit is contained in:
commit
adbc7178c1
2 changed files with 39 additions and 2 deletions
|
|
@ -43,6 +43,7 @@ type BrowseOptions struct {
|
|||
ReleasesFlag bool
|
||||
SettingsFlag bool
|
||||
WikiFlag bool
|
||||
ActionsFlag bool
|
||||
NoBrowserFlag bool
|
||||
HasRepoOverride bool
|
||||
}
|
||||
|
|
@ -116,24 +117,26 @@ func NewCmdBrowse(f *cmdutil.Factory, runF func(*BrowseOptions) error) *cobra.Co
|
|||
}
|
||||
|
||||
if err := cmdutil.MutuallyExclusive(
|
||||
"arguments not supported when using `--projects`, `--releases`, `--settings`, or `--wiki`",
|
||||
"arguments not supported when using `--projects`, `--releases`, `--settings`, `--actions` or `--wiki`",
|
||||
opts.SelectorArg != "",
|
||||
opts.ProjectsFlag,
|
||||
opts.ReleasesFlag,
|
||||
opts.SettingsFlag,
|
||||
opts.WikiFlag,
|
||||
opts.ActionsFlag,
|
||||
); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := cmdutil.MutuallyExclusive(
|
||||
"specify only one of `--branch`, `--commit`, `--projects`, `--releases`, `--settings`, or `--wiki`",
|
||||
"specify only one of `--branch`, `--commit`, `--projects`, `--releases`, `--settings`, `--actions` or `--wiki`",
|
||||
opts.Branch != "",
|
||||
opts.Commit != "",
|
||||
opts.ProjectsFlag,
|
||||
opts.ReleasesFlag,
|
||||
opts.SettingsFlag,
|
||||
opts.WikiFlag,
|
||||
opts.ActionsFlag,
|
||||
); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -158,6 +161,7 @@ func NewCmdBrowse(f *cmdutil.Factory, runF func(*BrowseOptions) error) *cobra.Co
|
|||
cmd.Flags().BoolVarP(&opts.ProjectsFlag, "projects", "p", false, "Open repository projects")
|
||||
cmd.Flags().BoolVarP(&opts.ReleasesFlag, "releases", "r", false, "Open repository releases")
|
||||
cmd.Flags().BoolVarP(&opts.WikiFlag, "wiki", "w", false, "Open repository wiki")
|
||||
cmd.Flags().BoolVarP(&opts.ActionsFlag, "actions", "a", false, "Open repository actions")
|
||||
cmd.Flags().BoolVarP(&opts.SettingsFlag, "settings", "s", false, "Open repository settings")
|
||||
cmd.Flags().BoolVarP(&opts.NoBrowserFlag, "no-browser", "n", false, "Print destination URL instead of opening the browser")
|
||||
cmd.Flags().StringVarP(&opts.Commit, "commit", "c", "", "Select another commit by passing in the commit SHA, default is the last commit")
|
||||
|
|
@ -223,6 +227,8 @@ func parseSection(baseRepo ghrepo.Interface, opts *BrowseOptions) (string, error
|
|||
return "settings", nil
|
||||
} else if opts.WikiFlag {
|
||||
return "wiki", nil
|
||||
} else if opts.ActionsFlag {
|
||||
return "actions", nil
|
||||
}
|
||||
|
||||
ref := opts.Branch
|
||||
|
|
|
|||
|
|
@ -63,6 +63,14 @@ func TestNewCmdBrowse(t *testing.T) {
|
|||
},
|
||||
wantsErr: false,
|
||||
},
|
||||
{
|
||||
name: "actions flag",
|
||||
cli: "--actions",
|
||||
wants: BrowseOptions{
|
||||
ActionsFlag: true,
|
||||
},
|
||||
wantsErr: false,
|
||||
},
|
||||
{
|
||||
name: "no browser flag",
|
||||
cli: "--no-browser",
|
||||
|
|
@ -102,6 +110,15 @@ func TestNewCmdBrowse(t *testing.T) {
|
|||
},
|
||||
wantsErr: true,
|
||||
},
|
||||
{
|
||||
name: "combination: actions wiki",
|
||||
cli: "--actions --wiki",
|
||||
wants: BrowseOptions{
|
||||
ActionsFlag: true,
|
||||
WikiFlag: true,
|
||||
},
|
||||
wantsErr: true,
|
||||
},
|
||||
{
|
||||
name: "passed argument",
|
||||
cli: "main.go",
|
||||
|
|
@ -135,6 +152,11 @@ func TestNewCmdBrowse(t *testing.T) {
|
|||
cli: "main.go --wiki",
|
||||
wantsErr: true,
|
||||
},
|
||||
{
|
||||
name: "passed argument and actions flag",
|
||||
cli: "main.go --actions",
|
||||
wantsErr: true,
|
||||
},
|
||||
{
|
||||
name: "empty commit flag",
|
||||
cli: "--commit",
|
||||
|
|
@ -215,6 +237,7 @@ func TestNewCmdBrowse(t *testing.T) {
|
|||
assert.Equal(t, tt.wants.WikiFlag, opts.WikiFlag)
|
||||
assert.Equal(t, tt.wants.NoBrowserFlag, opts.NoBrowserFlag)
|
||||
assert.Equal(t, tt.wants.SettingsFlag, opts.SettingsFlag)
|
||||
assert.Equal(t, tt.wants.ActionsFlag, opts.ActionsFlag)
|
||||
assert.Equal(t, tt.wants.Commit, opts.Commit)
|
||||
})
|
||||
}
|
||||
|
|
@ -278,6 +301,14 @@ func Test_runBrowse(t *testing.T) {
|
|||
baseRepo: ghrepo.New("ravocean", "ThreatLevelMidnight"),
|
||||
expectedURL: "https://github.com/ravocean/ThreatLevelMidnight/wiki",
|
||||
},
|
||||
{
|
||||
name: "actions flag",
|
||||
opts: BrowseOptions{
|
||||
ActionsFlag: true,
|
||||
},
|
||||
baseRepo: ghrepo.New("ravocean", "ThreatLevelMidnight"),
|
||||
expectedURL: "https://github.com/ravocean/ThreatLevelMidnight/actions",
|
||||
},
|
||||
{
|
||||
name: "file argument",
|
||||
opts: BrowseOptions{SelectorArg: "path/to/file.txt"},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue