Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Basic = NewIntegrationTest(NewIntegrationTestArgs{ Description: "Using a custom command to create a new file", ExtraCmdArgs: "", Skip: false, SetupRepo: func(shell *Shell) { shell.EmptyCommit("blah") }, SetupConfig: func(cfg *config.AppConfig) { cfg.UserConfig.CustomCommands = []config.CustomCommand{ { Key: "a", Context: "files", Command: "touch myfile", }, } }, Run: func( shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig, ) { assert.WorkingTreeFileCount(0) input.PressKeys("a") assert.WorkingTreeFileCount(1) assert.MatchSelectedLine(Contains("myfile")) }, })
View Source
var FormPrompts = NewIntegrationTest(NewIntegrationTestArgs{ Description: "Using a custom command reffering prompt responses by name", ExtraCmdArgs: "", Skip: false, SetupRepo: func(shell *Shell) { shell.EmptyCommit("blah") }, SetupConfig: func(cfg *config.AppConfig) { cfg.UserConfig.CustomCommands = []config.CustomCommand{ { Key: "a", Context: "files", Command: `echo {{.Form.FileContent | quote}} > {{.Form.FileName | quote}}`, Prompts: []config.CustomCommandPrompt{ { Key: "FileName", Type: "input", Title: "Enter a file name", }, { Key: "FileContent", Type: "menu", Title: "Choose file content", Options: []config.CustomCommandMenuOption{ { Name: "foo", Description: "Foo", Value: "FOO", }, { Name: "bar", Description: "Bar", Value: `"BAR"`, }, { Name: "baz", Description: "Baz", Value: "BAZ", }, }, }, { Type: "confirm", Title: "Are you sure?", Body: "Are you REALLY sure you want to make this file? Up to you buddy.", }, }, }, } }, Run: func( shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig, ) { assert.WorkingTreeFileCount(0) input.PressKeys("a") assert.InPrompt() assert.MatchCurrentViewTitle(Equals("Enter a file name")) input.Type("my file") input.Confirm() assert.InMenu() assert.MatchCurrentViewTitle(Equals("Choose file content")) assert.MatchSelectedLine(Contains("foo")) input.NextItem() assert.MatchSelectedLine(Contains("bar")) input.Confirm() assert.InConfirm() assert.MatchCurrentViewTitle(Equals("Are you sure?")) input.Confirm() assert.WorkingTreeFileCount(1) assert.MatchSelectedLine(Contains("my file")) assert.MatchMainViewContent(Contains(`"BAR"`)) }, })
View Source
var MenuFromCommand = NewIntegrationTest(NewIntegrationTestArgs{ Description: "Using menuFromCommand prompt type", ExtraCmdArgs: "", Skip: false, SetupRepo: func(shell *Shell) { shell. EmptyCommit("foo"). EmptyCommit("bar"). EmptyCommit("baz"). NewBranch("feature/foo") }, SetupConfig: func(cfg *config.AppConfig) { cfg.UserConfig.CustomCommands = []config.CustomCommand{ { Key: "a", Context: "localBranches", Command: `echo "{{index .PromptResponses 0}} {{index .PromptResponses 1}} {{ .SelectedLocalBranch.Name }}" > output.txt`, Prompts: []config.CustomCommandPrompt{ { Type: "menuFromCommand", Title: "Choose commit message", Command: `git log --oneline --pretty=%B`, Filter: `(?P<commit_message>.*)`, ValueFormat: `{{ .commit_message }}`, LabelFormat: `{{ .commit_message | yellow }}`, }, { Type: "input", Title: "Description", InitialValue: `{{ if .SelectedLocalBranch.Name }}Branch: #{{ .SelectedLocalBranch.Name }}{{end}}`, }, }, }, } }, Run: func( shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig, ) { assert.WorkingTreeFileCount(0) input.SwitchToBranchesWindow() input.PressKeys("a") assert.InMenu() assert.MatchCurrentViewTitle(Equals("Choose commit message")) assert.MatchSelectedLine(Equals("baz")) input.NextItem() assert.MatchSelectedLine(Equals("bar")) input.Confirm() assert.InPrompt() assert.MatchCurrentViewTitle(Equals("Description")) input.Type(" my branch") input.Confirm() input.SwitchToFilesWindow() assert.WorkingTreeFileCount(1) assert.MatchSelectedLine(Contains("output.txt")) assert.MatchMainViewContent(Contains("bar Branch: #feature/foo my branch feature/foo")) }, })
View Source
var MultiplePrompts = NewIntegrationTest(NewIntegrationTestArgs{ Description: "Using a custom command with multiple prompts", ExtraCmdArgs: "", Skip: false, SetupRepo: func(shell *Shell) { shell.EmptyCommit("blah") }, SetupConfig: func(cfg *config.AppConfig) { cfg.UserConfig.CustomCommands = []config.CustomCommand{ { Key: "a", Context: "files", Command: `echo "{{index .PromptResponses 1}}" > {{index .PromptResponses 0}}`, Prompts: []config.CustomCommandPrompt{ { Type: "input", Title: "Enter a file name", }, { Type: "menu", Title: "Choose file content", Options: []config.CustomCommandMenuOption{ { Name: "foo", Description: "Foo", Value: "FOO", }, { Name: "bar", Description: "Bar", Value: "BAR", }, { Name: "baz", Description: "Baz", Value: "BAZ", }, }, }, { Type: "confirm", Title: "Are you sure?", Body: "Are you REALLY sure you want to make this file? Up to you buddy.", }, }, }, } }, Run: func( shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig, ) { assert.WorkingTreeFileCount(0) input.PressKeys("a") assert.InPrompt() assert.MatchCurrentViewTitle(Equals("Enter a file name")) input.Type("myfile") input.Confirm() assert.InMenu() assert.MatchCurrentViewTitle(Equals("Choose file content")) assert.MatchSelectedLine(Contains("foo")) input.NextItem() assert.MatchSelectedLine(Contains("bar")) input.Confirm() assert.InConfirm() assert.MatchCurrentViewTitle(Equals("Are you sure?")) input.Confirm() assert.WorkingTreeFileCount(1) assert.MatchSelectedLine(Contains("myfile")) assert.MatchMainViewContent(Contains("BAR")) }, })
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.