Documentation ¶
Index ¶
- Constants
- func KeyPressDelay() int
- func RunTests(tests []*IntegrationTest, logf func(format string, formatArgs ...interface{}), ...) error
- func TestNameFromFilePath(path string) string
- type AlertDriver
- type CommitDescriptionPanelDriver
- type CommitMessagePanelDriver
- func (self *CommitMessagePanelDriver) AddNewline() *CommitMessagePanelDriver
- func (self *CommitMessagePanelDriver) Cancel()
- func (self *CommitMessagePanelDriver) Clear() *CommitMessagePanelDriver
- func (self *CommitMessagePanelDriver) Close()
- func (self *CommitMessagePanelDriver) Confirm()
- func (self *CommitMessagePanelDriver) Content(expected *TextMatcher) *CommitMessagePanelDriver
- func (self *CommitMessagePanelDriver) InitialText(expected *TextMatcher) *CommitMessagePanelDriver
- func (self *CommitMessagePanelDriver) SelectNextMessage() *CommitMessagePanelDriver
- func (self *CommitMessagePanelDriver) SelectPreviousMessage() *CommitMessagePanelDriver
- func (self *CommitMessagePanelDriver) SwitchToDescription() *CommitDescriptionPanelDriver
- func (self *CommitMessagePanelDriver) Title(expected *TextMatcher) *CommitMessagePanelDriver
- func (self *CommitMessagePanelDriver) Type(value string) *CommitMessagePanelDriver
- type Common
- type ConfirmationDriver
- type FileSystem
- type Git
- type GitVersionRestriction
- type IntMatcher
- type IntegrationTest
- func (self *IntegrationTest) Description() string
- func (self *IntegrationTest) ExtraCmdArgs() []string
- func (self *IntegrationTest) ExtraEnvVars() map[string]string
- func (self *IntegrationTest) HeadlessDimensions() (int, int)
- func (self *IntegrationTest) Name() string
- func (self *IntegrationTest) RequiresHeadless() bool
- func (self *IntegrationTest) Run(gui integrationTypes.GuiDriver)
- func (self *IntegrationTest) SetupConfig(config *config.AppConfig)
- func (self *IntegrationTest) SetupRepo(shell *Shell)
- func (self *IntegrationTest) ShouldRunForGitVersion(version *git_commands.GitVersion) bool
- func (self *IntegrationTest) Skip() bool
- type Matcher
- type MenuDriver
- func (self *MenuDriver) Cancel()
- func (self *MenuDriver) Confirm()
- func (self *MenuDriver) Filter(text string) *MenuDriver
- func (self *MenuDriver) LineCount(matcher *IntMatcher) *MenuDriver
- func (self *MenuDriver) Lines(matchers ...*TextMatcher) *MenuDriver
- func (self *MenuDriver) Select(option *TextMatcher) *MenuDriver
- func (self *MenuDriver) Title(expected *TextMatcher) *MenuDriver
- func (self *MenuDriver) TopLines(matchers ...*TextMatcher) *MenuDriver
- type NewIntegrationTestArgs
- type Paths
- type Popup
- func (self *Popup) Alert() *AlertDriver
- func (self *Popup) CommitDescriptionPanel() *CommitMessagePanelDriver
- func (self *Popup) CommitMessagePanel() *CommitMessagePanelDriver
- func (self *Popup) Confirmation() *ConfirmationDriver
- func (self *Popup) Menu() *MenuDriver
- func (self *Popup) Prompt() *PromptDriver
- type PromptDriver
- func (self *PromptDriver) Cancel()
- func (self *PromptDriver) Clear() *PromptDriver
- func (self *PromptDriver) Confirm()
- func (self *PromptDriver) ConfirmFirstSuggestion()
- func (self *PromptDriver) ConfirmSuggestion(matcher *TextMatcher)
- func (self *PromptDriver) InitialText(expected *TextMatcher) *PromptDriver
- func (self *PromptDriver) SuggestionLines(matchers ...*TextMatcher) *PromptDriver
- func (self *PromptDriver) SuggestionTopLines(matchers ...*TextMatcher) *PromptDriver
- func (self *PromptDriver) Title(expected *TextMatcher) *PromptDriver
- func (self *PromptDriver) Type(value string) *PromptDriver
- type SearchDriver
- type Shell
- func (self *Shell) Checkout(name string) *Shell
- func (self *Shell) Clone(repoName string) *Shell
- func (self *Shell) CloneIntoRemote(name string) *Shell
- func (self *Shell) CloneIntoSubmodule(submoduleName string) *Shell
- func (self *Shell) Commit(message string) *Shell
- func (self *Shell) ContinueMerge() *Shell
- func (self *Shell) CopyFile(source string, destination string) *Shell
- func (self *Shell) CopyHelpFile(source string, destination string) *Shell
- func (self *Shell) CreateAnnotatedTag(name string, message string, ref string) *Shell
- func (self *Shell) CreateDir(path string) *Shell
- func (self *Shell) CreateFile(path string, content string) *Shell
- func (self *Shell) CreateFileAndAdd(fileName string, fileContents string) *Shell
- func (self *Shell) CreateLightweightTag(name string, ref string) *Shell
- func (self *Shell) CreateNCommits(n int) *Shell
- func (self *Shell) CreateNCommitsStartingAt(n, startIndex int) *Shell
- func (self *Shell) DeleteFile(path string) *Shell
- func (self *Shell) DeleteFileAndAdd(fileName string) *Shell
- func (self *Shell) EmptyCommit(message string) *Shell
- func (self *Shell) GitAdd(path string) *Shell
- func (self *Shell) GitAddAll() *Shell
- func (self *Shell) HardReset(ref string) *Shell
- func (self *Shell) Init() *Shell
- func (self *Shell) MakeExecutable(path string) *Shell
- func (self *Shell) Merge(name string) *Shell
- func (self *Shell) NewBranch(name string) *Shell
- func (self *Shell) RemoveRemoteBranch(remoteName string, branch string) *Shell
- func (self *Shell) Revert(ref string) *Shell
- func (self *Shell) RunCommand(args []string) *Shell
- func (self *Shell) RunCommandExpectError(args []string) *Shell
- func (self *Shell) RunShellCommand(cmdStr string) *Shell
- func (self *Shell) SetBranchUpstream(branch string, upstream string) *Shell
- func (self *Shell) SetConfig(key string, value string) *Shell
- func (self *Shell) StartBisect(good string, bad string) *Shell
- func (self *Shell) Stash(message string) *Shell
- func (self *Shell) UpdateFile(path string, content string) *Shell
- func (self *Shell) UpdateFileAndAdd(fileName string, fileContents string) *Shell
- type TestDriver
- func (self *TestDriver) Common() *Common
- func (self *TestDriver) ExpectClipboard(matcher *TextMatcher)
- func (self *TestDriver) ExpectPopup() *Popup
- func (self *TestDriver) ExpectSearch() *SearchDriver
- func (self *TestDriver) ExpectToast(matcher *TextMatcher)
- func (self *TestDriver) Fail(message string)
- func (self *TestDriver) FileSystem() *FileSystem
- func (self *TestDriver) Git() *Git
- func (self *TestDriver) GlobalPress(keyStr string)
- func (self *TestDriver) Log(message string)
- func (self *TestDriver) LogUI(message string)
- func (self *TestDriver) Shell() *Shell
- func (self *TestDriver) Views() *Views
- func (self *TestDriver) Wait(milliseconds int)
- type TextMatcher
- func (self *TextMatcher) Contains(target string) *TextMatcher
- func (self *TextMatcher) DoesNotContain(target string) *TextMatcher
- func (self *TextMatcher) Equals(target string) *TextMatcher
- func (self *TextMatcher) IsSelected() *TextMatcher
- func (self *TextMatcher) MatchesRegexp(target string) *TextMatcher
- type ViewDriver
- func (self *ViewDriver) ContainsColoredText(fgColorStr string, text string) *ViewDriver
- func (self *ViewDriver) ContainsLines(matchers ...*TextMatcher) *ViewDriver
- func (self *ViewDriver) Content(matcher *TextMatcher) *ViewDriver
- func (self *ViewDriver) DoesNotContainColoredText(fgColorStr string, text string) *ViewDriver
- func (self *ViewDriver) FilterOrSearch(text string) *ViewDriver
- func (self *ViewDriver) Focus() *ViewDriver
- func (self *ViewDriver) IsEmpty() *ViewDriver
- func (self *ViewDriver) IsFocused() *ViewDriver
- func (self *ViewDriver) IsInvisible() *ViewDriver
- func (self *ViewDriver) IsVisible() *ViewDriver
- func (self *ViewDriver) LineCount(matcher *IntMatcher) *ViewDriver
- func (self *ViewDriver) Lines(matchers ...*TextMatcher) *ViewDriver
- func (self *ViewDriver) NavigateToLine(matcher *TextMatcher) *ViewDriver
- func (self *ViewDriver) Press(keyStr string) *ViewDriver
- func (self *ViewDriver) PressEnter() *ViewDriver
- func (self *ViewDriver) PressEscape() *ViewDriver
- func (self *ViewDriver) PressPrimaryAction() *ViewDriver
- func (self *ViewDriver) PressTab() *ViewDriver
- func (self *ViewDriver) SelectNextItem() *ViewDriver
- func (self *ViewDriver) SelectPreviousItem() *ViewDriver
- func (self *ViewDriver) SelectedLine(matcher *TextMatcher) *ViewDriver
- func (self *ViewDriver) SelectedLineIdx(expected int) *ViewDriver
- func (self *ViewDriver) SelectedLines(matchers ...*TextMatcher) *ViewDriver
- func (self *ViewDriver) Self() *ViewDriver
- func (self *ViewDriver) Tap(f func()) *ViewDriver
- func (self *ViewDriver) Title(expected *TextMatcher) *ViewDriver
- func (self *ViewDriver) TopLines(matchers ...*TextMatcher) *ViewDriver
- func (self *ViewDriver) VisibleLines(matchers ...*TextMatcher) *ViewDriver
- type Views
- func (self *Views) AppStatus() *ViewDriver
- func (self *Views) Branches() *ViewDriver
- func (self *Views) CommitDescription() *ViewDriver
- func (self *Views) CommitFiles() *ViewDriver
- func (self *Views) CommitMessage() *ViewDriver
- func (self *Views) Commits() *ViewDriver
- func (self *Views) Confirmation() *ViewDriver
- func (self *Views) Files() *ViewDriver
- func (self *Views) Information() *ViewDriver
- func (self *Views) Main() *ViewDriver
- func (self *Views) Menu() *ViewDriver
- func (self *Views) MergeConflicts() *ViewDriver
- func (self *Views) PatchBuilding() *ViewDriver
- func (self *Views) PatchBuildingSecondary() *ViewDriver
- func (self *Views) ReflogCommits() *ViewDriver
- func (self *Views) RemoteBranches() *ViewDriver
- func (self *Views) Remotes() *ViewDriver
- func (self *Views) Search() *ViewDriver
- func (self *Views) Secondary() *ViewDriver
- func (self *Views) Staging() *ViewDriver
- func (self *Views) StagingSecondary() *ViewDriver
- func (self *Views) Stash() *ViewDriver
- func (self *Views) Status() *ViewDriver
- func (self *Views) SubCommits() *ViewDriver
- func (self *Views) Submodules() *ViewDriver
- func (self *Views) Suggestions() *ViewDriver
- func (self *Views) Tags() *ViewDriver
Constants ¶
const ( TEST_NAME_ENV_VAR = "TEST_NAME" SANDBOX_ENV_VAR = "SANDBOX" GIT_CONFIG_GLOBAL_ENV_VAR = "GIT_CONFIG_GLOBAL" )
const ClearKey = "<c-u>"
TODO: soft-code this
const IS_SELECTED_RULE_NAME = "is selected"
Variables ¶
This section is empty.
Functions ¶
func KeyPressDelay ¶
func KeyPressDelay() int
this is the delay in milliseconds between keypresses defaults to zero
func RunTests ¶
func RunTests( tests []*IntegrationTest, logf func(format string, formatArgs ...interface{}), runCmd func(cmd *exec.Cmd) error, testWrapper func(test *IntegrationTest, f func() error), sandbox bool, keyPressDelay int, maxAttempts int, ) error
This function lets you run tests either from within `go test` or from a regular binary. The reason for having two separate ways of testing is that `go test` isn't great at showing what's actually happening during the test, but it's still good at running tests in telling you about their results.
func TestNameFromFilePath ¶
Types ¶
type AlertDriver ¶ added in v0.37.0
type AlertDriver struct {
// contains filtered or unexported fields
}
func (*AlertDriver) Cancel ¶ added in v0.37.0
func (self *AlertDriver) Cancel()
func (*AlertDriver) Confirm ¶ added in v0.37.0
func (self *AlertDriver) Confirm()
func (*AlertDriver) Content ¶ added in v0.37.0
func (self *AlertDriver) Content(expected *TextMatcher) *AlertDriver
asserts that the alert view has the expected content
func (*AlertDriver) Title ¶ added in v0.37.0
func (self *AlertDriver) Title(expected *TextMatcher) *AlertDriver
asserts that the alert view has the expected title
type CommitDescriptionPanelDriver ¶ added in v0.38.0
type CommitDescriptionPanelDriver struct {
// contains filtered or unexported fields
}
func (*CommitDescriptionPanelDriver) AddNewline ¶ added in v0.38.0
func (self *CommitDescriptionPanelDriver) AddNewline() *CommitDescriptionPanelDriver
func (*CommitDescriptionPanelDriver) SwitchToSummary ¶ added in v0.38.0
func (self *CommitDescriptionPanelDriver) SwitchToSummary() *CommitMessagePanelDriver
func (*CommitDescriptionPanelDriver) Type ¶ added in v0.38.0
func (self *CommitDescriptionPanelDriver) Type(value string) *CommitDescriptionPanelDriver
type CommitMessagePanelDriver ¶ added in v0.37.0
type CommitMessagePanelDriver struct {
// contains filtered or unexported fields
}
func (*CommitMessagePanelDriver) AddNewline ¶ added in v0.37.0
func (self *CommitMessagePanelDriver) AddNewline() *CommitMessagePanelDriver
func (*CommitMessagePanelDriver) Cancel ¶ added in v0.37.0
func (self *CommitMessagePanelDriver) Cancel()
func (*CommitMessagePanelDriver) Clear ¶ added in v0.37.0
func (self *CommitMessagePanelDriver) Clear() *CommitMessagePanelDriver
func (*CommitMessagePanelDriver) Close ¶ added in v0.38.0
func (self *CommitMessagePanelDriver) Close()
func (*CommitMessagePanelDriver) Confirm ¶ added in v0.37.0
func (self *CommitMessagePanelDriver) Confirm()
func (*CommitMessagePanelDriver) Content ¶ added in v0.38.0
func (self *CommitMessagePanelDriver) Content(expected *TextMatcher) *CommitMessagePanelDriver
asserts on the current context in the prompt
func (*CommitMessagePanelDriver) InitialText ¶ added in v0.37.0
func (self *CommitMessagePanelDriver) InitialText(expected *TextMatcher) *CommitMessagePanelDriver
asserts on the text initially present in the prompt
func (*CommitMessagePanelDriver) SelectNextMessage ¶ added in v0.38.0
func (self *CommitMessagePanelDriver) SelectNextMessage() *CommitMessagePanelDriver
func (*CommitMessagePanelDriver) SelectPreviousMessage ¶ added in v0.38.0
func (self *CommitMessagePanelDriver) SelectPreviousMessage() *CommitMessagePanelDriver
func (*CommitMessagePanelDriver) SwitchToDescription ¶ added in v0.38.0
func (self *CommitMessagePanelDriver) SwitchToDescription() *CommitDescriptionPanelDriver
func (*CommitMessagePanelDriver) Title ¶ added in v0.38.0
func (self *CommitMessagePanelDriver) Title(expected *TextMatcher) *CommitMessagePanelDriver
asserts that the confirmation view has the expected title
func (*CommitMessagePanelDriver) Type ¶ added in v0.37.0
func (self *CommitMessagePanelDriver) Type(value string) *CommitMessagePanelDriver
type Common ¶ added in v0.38.0
type Common struct {
// contains filtered or unexported fields
}
for running common actions
func (*Common) AcknowledgeConflicts ¶ added in v0.38.0
func (self *Common) AcknowledgeConflicts()
func (*Common) ConfirmDiscardLines ¶ added in v0.38.0
func (self *Common) ConfirmDiscardLines()
func (*Common) ContinueMerge ¶ added in v0.38.0
func (self *Common) ContinueMerge()
func (*Common) ContinueOnConflictsResolved ¶ added in v0.38.0
func (self *Common) ContinueOnConflictsResolved()
func (*Common) ContinueRebase ¶ added in v0.38.0
func (self *Common) ContinueRebase()
func (*Common) SelectPatchOption ¶ added in v0.38.0
func (self *Common) SelectPatchOption(matcher *TextMatcher)
type ConfirmationDriver ¶ added in v0.37.0
type ConfirmationDriver struct {
// contains filtered or unexported fields
}
func (*ConfirmationDriver) Cancel ¶ added in v0.37.0
func (self *ConfirmationDriver) Cancel()
func (*ConfirmationDriver) Confirm ¶ added in v0.37.0
func (self *ConfirmationDriver) Confirm()
func (*ConfirmationDriver) Content ¶ added in v0.37.0
func (self *ConfirmationDriver) Content(expected *TextMatcher) *ConfirmationDriver
asserts that the confirmation view has the expected content
func (*ConfirmationDriver) Title ¶ added in v0.37.0
func (self *ConfirmationDriver) Title(expected *TextMatcher) *ConfirmationDriver
asserts that the confirmation view has the expected title
type FileSystem ¶ added in v0.37.0
type FileSystem struct {
// contains filtered or unexported fields
}
func (*FileSystem) FileContent ¶ added in v0.37.0
func (self *FileSystem) FileContent(path string, matcher *TextMatcher)
Asserts that the file at the given path has the given content
func (*FileSystem) PathNotPresent ¶ added in v0.37.0
func (self *FileSystem) PathNotPresent(path string)
This does _not_ check the files panel, it actually checks the filesystem
func (*FileSystem) PathPresent ¶ added in v0.37.0
func (self *FileSystem) PathPresent(path string)
This does _not_ check the files panel, it actually checks the filesystem
type Git ¶ added in v0.37.0
type Git struct {
// contains filtered or unexported fields
}
func (*Git) CurrentBranchName ¶ added in v0.37.0
type GitVersionRestriction ¶ added in v0.38.0
type GitVersionRestriction struct {
// contains filtered or unexported fields
}
func AtLeast ¶ added in v0.38.2
func AtLeast(version string) GitVersionRestriction
Verifies the version is at least the given version (inclusive)
func Before ¶ added in v0.38.0
func Before(version string) GitVersionRestriction
Verifies the version is before the given version (exclusive)
func Includes ¶ added in v0.38.0
func Includes(versions ...string) GitVersionRestriction
type IntMatcher ¶ added in v0.39.0
func AnyInt ¶ added in v0.39.0
func AnyInt() *IntMatcher
func EqualsInt ¶ added in v0.39.0
func EqualsInt(target int) *IntMatcher
func GreaterThan ¶ added in v0.39.0
func GreaterThan(target int) *IntMatcher
func LessThan ¶ added in v0.39.0
func LessThan(target int) *IntMatcher
func (*IntMatcher) EqualsInt ¶ added in v0.39.0
func (self *IntMatcher) EqualsInt(target int) *IntMatcher
func (*IntMatcher) GreaterThan ¶ added in v0.39.0
func (self *IntMatcher) GreaterThan(target int) *IntMatcher
func (*IntMatcher) LessThan ¶ added in v0.39.0
func (self *IntMatcher) LessThan(target int) *IntMatcher
type IntegrationTest ¶
type IntegrationTest struct {
// contains filtered or unexported fields
}
func NewIntegrationTest ¶
func NewIntegrationTest(args NewIntegrationTestArgs) *IntegrationTest
func (*IntegrationTest) Description ¶
func (self *IntegrationTest) Description() string
func (*IntegrationTest) ExtraCmdArgs ¶
func (self *IntegrationTest) ExtraCmdArgs() []string
func (*IntegrationTest) ExtraEnvVars ¶ added in v0.39.0
func (self *IntegrationTest) ExtraEnvVars() map[string]string
func (*IntegrationTest) HeadlessDimensions ¶ added in v0.39.0
func (self *IntegrationTest) HeadlessDimensions() (int, int)
func (*IntegrationTest) Name ¶
func (self *IntegrationTest) Name() string
func (*IntegrationTest) RequiresHeadless ¶ added in v0.39.0
func (self *IntegrationTest) RequiresHeadless() bool
func (*IntegrationTest) Run ¶
func (self *IntegrationTest) Run(gui integrationTypes.GuiDriver)
func (*IntegrationTest) SetupConfig ¶
func (self *IntegrationTest) SetupConfig(config *config.AppConfig)
func (*IntegrationTest) SetupRepo ¶
func (self *IntegrationTest) SetupRepo(shell *Shell)
func (*IntegrationTest) ShouldRunForGitVersion ¶ added in v0.38.0
func (self *IntegrationTest) ShouldRunForGitVersion(version *git_commands.GitVersion) bool
func (*IntegrationTest) Skip ¶
func (self *IntegrationTest) Skip() bool
type Matcher ¶ added in v0.38.0
type Matcher[T any] struct { // contains filtered or unexported fields }
for making assertions on string values
type MenuDriver ¶ added in v0.37.0
type MenuDriver struct {
// contains filtered or unexported fields
}
func (*MenuDriver) Cancel ¶ added in v0.37.0
func (self *MenuDriver) Cancel()
func (*MenuDriver) Confirm ¶ added in v0.37.0
func (self *MenuDriver) Confirm()
func (*MenuDriver) Filter ¶ added in v0.39.0
func (self *MenuDriver) Filter(text string) *MenuDriver
func (*MenuDriver) LineCount ¶ added in v0.39.0
func (self *MenuDriver) LineCount(matcher *IntMatcher) *MenuDriver
func (*MenuDriver) Lines ¶ added in v0.38.0
func (self *MenuDriver) Lines(matchers ...*TextMatcher) *MenuDriver
func (*MenuDriver) Select ¶ added in v0.37.0
func (self *MenuDriver) Select(option *TextMatcher) *MenuDriver
func (*MenuDriver) Title ¶ added in v0.37.0
func (self *MenuDriver) Title(expected *TextMatcher) *MenuDriver
asserts that the popup has the expected title
func (*MenuDriver) TopLines ¶ added in v0.38.0
func (self *MenuDriver) TopLines(matchers ...*TextMatcher) *MenuDriver
type NewIntegrationTestArgs ¶
type NewIntegrationTestArgs struct { // Briefly describes what happens in the test and what it's testing for Description string // prepares a repo for testing SetupRepo func(shell *Shell) // takes a config and mutates. The mutated context will end up being passed to the gui SetupConfig func(config *config.AppConfig) // runs the test Run func(t *TestDriver, keys config.KeybindingConfig) // additional args passed to lazygit ExtraCmdArgs []string // for when a test is flakey ExtraEnvVars map[string]string Skip bool // to run a test only on certain git versions GitVersion GitVersionRestriction // width and height when running in headless mode, for testing // the UI in different sizes. // If these are set, the test must be run in headless mode Width int Height int }
type Paths ¶
type Paths struct {
// contains filtered or unexported fields
}
convenience struct for easily getting directories within our test directory. We have one test directory for each test, found in test/results.
func (Paths) Actual ¶
when a test first runs, it's situated in a repo called 'repo' within this directory. In its setup step, the test is allowed to create other repos alongside the 'repo' repo in this directory, for example, creating remotes or repos to add as submodules.
func (Paths) ActualRepo ¶
this is the 'repo' directory within the 'actual' directory, where a lazygit test will start within.
type Popup ¶ added in v0.37.0
type Popup struct {
// contains filtered or unexported fields
}
func (*Popup) Alert ¶ added in v0.37.0
func (self *Popup) Alert() *AlertDriver
func (*Popup) CommitDescriptionPanel ¶ added in v0.38.0
func (self *Popup) CommitDescriptionPanel() *CommitMessagePanelDriver
func (*Popup) CommitMessagePanel ¶ added in v0.37.0
func (self *Popup) CommitMessagePanel() *CommitMessagePanelDriver
func (*Popup) Confirmation ¶ added in v0.37.0
func (self *Popup) Confirmation() *ConfirmationDriver
func (*Popup) Menu ¶ added in v0.37.0
func (self *Popup) Menu() *MenuDriver
func (*Popup) Prompt ¶ added in v0.37.0
func (self *Popup) Prompt() *PromptDriver
type PromptDriver ¶ added in v0.37.0
type PromptDriver struct {
// contains filtered or unexported fields
}
func (*PromptDriver) Cancel ¶ added in v0.37.0
func (self *PromptDriver) Cancel()
func (*PromptDriver) Clear ¶ added in v0.37.0
func (self *PromptDriver) Clear() *PromptDriver
func (*PromptDriver) Confirm ¶ added in v0.37.0
func (self *PromptDriver) Confirm()
func (*PromptDriver) ConfirmFirstSuggestion ¶ added in v0.37.0
func (self *PromptDriver) ConfirmFirstSuggestion()
func (*PromptDriver) ConfirmSuggestion ¶ added in v0.37.0
func (self *PromptDriver) ConfirmSuggestion(matcher *TextMatcher)
func (*PromptDriver) InitialText ¶ added in v0.37.0
func (self *PromptDriver) InitialText(expected *TextMatcher) *PromptDriver
asserts on the text initially present in the prompt
func (*PromptDriver) SuggestionLines ¶ added in v0.37.0
func (self *PromptDriver) SuggestionLines(matchers ...*TextMatcher) *PromptDriver
func (*PromptDriver) SuggestionTopLines ¶ added in v0.37.0
func (self *PromptDriver) SuggestionTopLines(matchers ...*TextMatcher) *PromptDriver
func (*PromptDriver) Title ¶ added in v0.37.0
func (self *PromptDriver) Title(expected *TextMatcher) *PromptDriver
asserts that the popup has the expected title
func (*PromptDriver) Type ¶ added in v0.37.0
func (self *PromptDriver) Type(value string) *PromptDriver
type SearchDriver ¶ added in v0.38.0
type SearchDriver struct {
// contains filtered or unexported fields
}
func (*SearchDriver) Cancel ¶ added in v0.38.0
func (self *SearchDriver) Cancel()
func (*SearchDriver) Clear ¶ added in v0.38.0
func (self *SearchDriver) Clear() *SearchDriver
func (*SearchDriver) Confirm ¶ added in v0.38.0
func (self *SearchDriver) Confirm()
func (*SearchDriver) InitialText ¶ added in v0.38.0
func (self *SearchDriver) InitialText(expected *TextMatcher) *SearchDriver
asserts on the text initially present in the prompt
func (*SearchDriver) Type ¶ added in v0.38.0
func (self *SearchDriver) Type(value string) *SearchDriver
type Shell ¶
type Shell struct {
// contains filtered or unexported fields
}
this is for running shell commands, mostly for the sake of setting up the repo but you can also run the commands from within lazygit to emulate things happening in the background.
func (*Shell) CloneIntoRemote ¶ added in v0.37.0
func (*Shell) CloneIntoSubmodule ¶ added in v0.38.0
func (*Shell) ContinueMerge ¶ added in v0.38.0
func (*Shell) CopyHelpFile ¶ added in v0.38.0
Help files are located at test/files from the root the lazygit repo. E.g. You may want to create a pre-commit hook file there, then call this function to copy it into your test repo.
func (*Shell) CreateAnnotatedTag ¶ added in v0.38.0
func (*Shell) CreateFileAndAdd ¶
convenience method for creating a file and adding it
func (*Shell) CreateLightweightTag ¶ added in v0.38.0
func (*Shell) CreateNCommits ¶
creates commits 01, 02, 03, ..., n with a new file in each The reason for padding with zeroes is so that it's easier to do string matches on the commit messages when there are many of them
func (*Shell) CreateNCommitsStartingAt ¶ added in v0.38.0
func (*Shell) DeleteFile ¶ added in v0.38.0
func (*Shell) DeleteFileAndAdd ¶ added in v0.38.0
convenience method for deleting a file and adding it
func (*Shell) EmptyCommit ¶
func (*Shell) MakeExecutable ¶ added in v0.39.0
func (*Shell) RemoveRemoteBranch ¶ added in v0.37.0
func (*Shell) RunCommand ¶
func (*Shell) RunCommandExpectError ¶ added in v0.39.0
func (*Shell) RunShellCommand ¶ added in v0.37.0
func (*Shell) SetBranchUpstream ¶ added in v0.37.0
func (*Shell) StartBisect ¶ added in v0.39.0
type TestDriver ¶ added in v0.37.0
type TestDriver struct {
// contains filtered or unexported fields
}
func NewTestDriver ¶ added in v0.37.0
func NewTestDriver(gui integrationTypes.GuiDriver, shell *Shell, keys config.KeybindingConfig, pushKeyDelay int) *TestDriver
func (*TestDriver) Common ¶ added in v0.38.0
func (self *TestDriver) Common() *Common
func (*TestDriver) ExpectClipboard ¶ added in v0.37.0
func (self *TestDriver) ExpectClipboard(matcher *TextMatcher)
func (*TestDriver) ExpectPopup ¶ added in v0.37.0
func (self *TestDriver) ExpectPopup() *Popup
for interacting with popups
func (*TestDriver) ExpectSearch ¶ added in v0.38.0
func (self *TestDriver) ExpectSearch() *SearchDriver
func (*TestDriver) ExpectToast ¶ added in v0.37.0
func (self *TestDriver) ExpectToast(matcher *TextMatcher)
func (*TestDriver) Fail ¶ added in v0.37.0
func (self *TestDriver) Fail(message string)
for when you just want to fail the test yourself. This runs callbacks to ensure we render the error after closing the gui.
func (*TestDriver) FileSystem ¶ added in v0.37.0
func (self *TestDriver) FileSystem() *FileSystem
for making assertions on the file system
func (*TestDriver) Git ¶ added in v0.37.0
func (self *TestDriver) Git() *Git
for making assertions through git itself
func (*TestDriver) GlobalPress ¶ added in v0.38.0
func (self *TestDriver) GlobalPress(keyStr string)
Should only be used in specific cases where you're doing something weird! E.g. invoking a global keybinding from within a popup. You probably shouldn't use this function, and should instead go through a view like t.Views().Commit().Focus().Press(...)
func (*TestDriver) Log ¶ added in v0.37.0
func (self *TestDriver) Log(message string)
func (*TestDriver) LogUI ¶ added in v0.37.0
func (self *TestDriver) LogUI(message string)
func (*TestDriver) Shell ¶ added in v0.37.0
func (self *TestDriver) Shell() *Shell
allows the user to run shell commands during the test to emulate background activity
func (*TestDriver) Views ¶ added in v0.37.0
func (self *TestDriver) Views() *Views
for making assertions on lazygit views
func (*TestDriver) Wait ¶ added in v0.37.0
func (self *TestDriver) Wait(milliseconds int)
for when you want to allow lazygit to process something before continuing
type TextMatcher ¶ added in v0.39.0
func AnyString ¶ added in v0.39.0
func AnyString() *TextMatcher
this matcher has no rules meaning it always passes the test. Use this when you don't care what value you're dealing with.
func Contains ¶
func Contains(target string) *TextMatcher
func DoesNotContain ¶ added in v0.37.0
func DoesNotContain(target string) *TextMatcher
func Equals ¶
func Equals(target string) *TextMatcher
func MatchesRegexp ¶ added in v0.37.0
func MatchesRegexp(target string) *TextMatcher
func (*TextMatcher) Contains ¶ added in v0.39.0
func (self *TextMatcher) Contains(target string) *TextMatcher
func (*TextMatcher) DoesNotContain ¶ added in v0.39.0
func (self *TextMatcher) DoesNotContain(target string) *TextMatcher
func (*TextMatcher) Equals ¶ added in v0.39.0
func (self *TextMatcher) Equals(target string) *TextMatcher
func (*TextMatcher) IsSelected ¶ added in v0.39.0
func (self *TextMatcher) IsSelected() *TextMatcher
special rule that is only to be used in the TopLines and Lines methods, as a way of asserting that a given line is selected.
func (*TextMatcher) MatchesRegexp ¶ added in v0.39.0
func (self *TextMatcher) MatchesRegexp(target string) *TextMatcher
type ViewDriver ¶ added in v0.37.0
type ViewDriver struct {
// contains filtered or unexported fields
}
func (*ViewDriver) ContainsColoredText ¶ added in v0.39.0
func (self *ViewDriver) ContainsColoredText(fgColorStr string, text string) *ViewDriver
func (*ViewDriver) ContainsLines ¶ added in v0.38.0
func (self *ViewDriver) ContainsLines(matchers ...*TextMatcher) *ViewDriver
asserts that somewhere in the view there are consequetive lines matching the given matchers.
func (*ViewDriver) Content ¶ added in v0.37.0
func (self *ViewDriver) Content(matcher *TextMatcher) *ViewDriver
asserts on the content of the view i.e. the stuff within the view's frame.
func (*ViewDriver) DoesNotContainColoredText ¶ added in v0.39.0
func (self *ViewDriver) DoesNotContainColoredText(fgColorStr string, text string) *ViewDriver
func (*ViewDriver) FilterOrSearch ¶ added in v0.39.0
func (self *ViewDriver) FilterOrSearch(text string) *ViewDriver
will filter or search depending on whether the view supports filtering/searching
func (*ViewDriver) Focus ¶ added in v0.37.0
func (self *ViewDriver) Focus() *ViewDriver
focus the view (assumes the view is a side-view)
func (*ViewDriver) IsEmpty ¶ added in v0.37.0
func (self *ViewDriver) IsEmpty() *ViewDriver
returns true if the view is a list view and it contains no items
func (*ViewDriver) IsFocused ¶ added in v0.37.0
func (self *ViewDriver) IsFocused() *ViewDriver
asserts that the view is focused
func (*ViewDriver) IsInvisible ¶ added in v0.39.0
func (self *ViewDriver) IsInvisible() *ViewDriver
func (*ViewDriver) IsVisible ¶ added in v0.39.0
func (self *ViewDriver) IsVisible() *ViewDriver
func (*ViewDriver) LineCount ¶ added in v0.37.0
func (self *ViewDriver) LineCount(matcher *IntMatcher) *ViewDriver
func (*ViewDriver) Lines ¶ added in v0.37.0
func (self *ViewDriver) Lines(matchers ...*TextMatcher) *ViewDriver
asserts that the view has lines matching the given matchers. One matcher must be passed for each line. If you only care about the top n lines, use the TopLines method instead. If you only care about a subset of lines, use the ContainsLines method instead.
func (*ViewDriver) NavigateToLine ¶ added in v0.38.0
func (self *ViewDriver) NavigateToLine(matcher *TextMatcher) *ViewDriver
this will look for a list item in the current panel and if it finds it, it will enter the keypresses required to navigate to it. The test will fail if: - the user is not in a list item - no list item is found containing the given text - multiple list items are found containing the given text in the initial page of items
NOTE: this currently assumes that BufferLines returns all the lines that can be accessed. If this changes in future, we'll need to update this code to first attempt to find the item in the current page and failing that, jump to the top of the view and iterate through all of it, looking for the item.
func (*ViewDriver) Press ¶ added in v0.37.0
func (self *ViewDriver) Press(keyStr string) *ViewDriver
func (*ViewDriver) PressEnter ¶ added in v0.37.0
func (self *ViewDriver) PressEnter() *ViewDriver
i.e. pressing space
func (*ViewDriver) PressEscape ¶ added in v0.37.0
func (self *ViewDriver) PressEscape() *ViewDriver
i.e. pressing escape
func (*ViewDriver) PressPrimaryAction ¶ added in v0.37.0
func (self *ViewDriver) PressPrimaryAction() *ViewDriver
i.e. pressing space
func (*ViewDriver) PressTab ¶ added in v0.38.0
func (self *ViewDriver) PressTab() *ViewDriver
i.e. pressing tab
func (*ViewDriver) SelectNextItem ¶ added in v0.37.0
func (self *ViewDriver) SelectNextItem() *ViewDriver
i.e. pressing down arrow
func (*ViewDriver) SelectPreviousItem ¶ added in v0.37.0
func (self *ViewDriver) SelectPreviousItem() *ViewDriver
i.e. pressing up arrow
func (*ViewDriver) SelectedLine ¶ added in v0.37.0
func (self *ViewDriver) SelectedLine(matcher *TextMatcher) *ViewDriver
asserts on the selected line of the view. If your view has multiple lines selected, but also has a concept of a cursor position, this will assert on the line that the cursor is on. Otherwise it will assert on the first line of the selection.
func (*ViewDriver) SelectedLineIdx ¶ added in v0.37.0
func (self *ViewDriver) SelectedLineIdx(expected int) *ViewDriver
asserts on the index of the selected line. 0 is the first index, representing the line at the top of the view.
func (*ViewDriver) SelectedLines ¶ added in v0.38.0
func (self *ViewDriver) SelectedLines(matchers ...*TextMatcher) *ViewDriver
asserts on the lines that are selected in the view. Don't use the `IsSelected` matcher with this because it's redundant.
func (*ViewDriver) Self ¶ added in v0.38.0
func (self *ViewDriver) Self() *ViewDriver
This purely exists as a convenience method for those who hate the trailing periods in multi-line method chains
func (*ViewDriver) Tap ¶ added in v0.37.0
func (self *ViewDriver) Tap(f func()) *ViewDriver
for when you want to make some assertion unrelated to the current view without breaking the method chain
func (*ViewDriver) Title ¶ added in v0.37.0
func (self *ViewDriver) Title(expected *TextMatcher) *ViewDriver
asserts that the view has the expected title
func (*ViewDriver) TopLines ¶ added in v0.37.0
func (self *ViewDriver) TopLines(matchers ...*TextMatcher) *ViewDriver
asserts that the view has lines matching the given matchers. So if three matchers are passed, we only check the first three lines of the view. This method is convenient when you have a list of commits but you only want to assert on the first couple of commits.
func (*ViewDriver) VisibleLines ¶ added in v0.39.0
func (self *ViewDriver) VisibleLines(matchers ...*TextMatcher) *ViewDriver
Asserts on the visible lines of the view. Note, this assumes that the view's viewport is filled with lines
type Views ¶ added in v0.37.0
type Views struct {
// contains filtered or unexported fields
}
func (*Views) AppStatus ¶ added in v0.37.0
func (self *Views) AppStatus() *ViewDriver
func (*Views) Branches ¶ added in v0.37.0
func (self *Views) Branches() *ViewDriver
func (*Views) CommitDescription ¶ added in v0.38.0
func (self *Views) CommitDescription() *ViewDriver
func (*Views) CommitFiles ¶ added in v0.37.0
func (self *Views) CommitFiles() *ViewDriver
func (*Views) CommitMessage ¶ added in v0.37.0
func (self *Views) CommitMessage() *ViewDriver
func (*Views) Commits ¶ added in v0.37.0
func (self *Views) Commits() *ViewDriver
func (*Views) Confirmation ¶ added in v0.37.0
func (self *Views) Confirmation() *ViewDriver
func (*Views) Files ¶ added in v0.37.0
func (self *Views) Files() *ViewDriver
func (*Views) Information ¶ added in v0.37.0
func (self *Views) Information() *ViewDriver
func (*Views) Main ¶ added in v0.37.0
func (self *Views) Main() *ViewDriver
func (*Views) Menu ¶ added in v0.37.0
func (self *Views) Menu() *ViewDriver
func (*Views) MergeConflicts ¶ added in v0.37.0
func (self *Views) MergeConflicts() *ViewDriver
func (*Views) PatchBuilding ¶ added in v0.38.0
func (self *Views) PatchBuilding() *ViewDriver
func (*Views) PatchBuildingSecondary ¶ added in v0.38.0
func (self *Views) PatchBuildingSecondary() *ViewDriver
func (*Views) ReflogCommits ¶ added in v0.37.0
func (self *Views) ReflogCommits() *ViewDriver
func (*Views) RemoteBranches ¶ added in v0.37.0
func (self *Views) RemoteBranches() *ViewDriver
func (*Views) Remotes ¶ added in v0.38.0
func (self *Views) Remotes() *ViewDriver
func (*Views) Search ¶ added in v0.38.0
func (self *Views) Search() *ViewDriver
func (*Views) Secondary ¶ added in v0.37.0
func (self *Views) Secondary() *ViewDriver
func (*Views) Staging ¶ added in v0.37.0
func (self *Views) Staging() *ViewDriver
func (*Views) StagingSecondary ¶ added in v0.37.0
func (self *Views) StagingSecondary() *ViewDriver
func (*Views) Stash ¶ added in v0.37.0
func (self *Views) Stash() *ViewDriver
func (*Views) Status ¶ added in v0.37.0
func (self *Views) Status() *ViewDriver
func (*Views) SubCommits ¶ added in v0.37.0
func (self *Views) SubCommits() *ViewDriver
func (*Views) Submodules ¶ added in v0.37.0
func (self *Views) Submodules() *ViewDriver
func (*Views) Suggestions ¶ added in v0.37.0
func (self *Views) Suggestions() *ViewDriver
func (*Views) Tags ¶ added in v0.37.0
func (self *Views) Tags() *ViewDriver
Source Files ¶
- alert_driver.go
- assertion_helper.go
- commit_description_panel_driver.go
- commit_message_panel_driver.go
- common.go
- confirmation_driver.go
- file_system.go
- git.go
- int_matcher.go
- matcher.go
- menu_driver.go
- paths.go
- popup.go
- prompt_driver.go
- runner.go
- search_driver.go
- shell.go
- test.go
- test_driver.go
- text_matcher.go
- view_driver.go
- views.go