cherry_pick

package
v0.36.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 14, 2022 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CherryPick = NewIntegrationTest(NewIntegrationTestArgs{
	Description:  "Cherry pick commits from the subcommits view, without conflicts",
	ExtraCmdArgs: "",
	Skip:         false,
	SetupConfig:  func(config *config.AppConfig) {},
	SetupRepo: func(shell *Shell) {
		shell.
			EmptyCommit("base").
			NewBranch("first-branch").
			NewBranch("second-branch").
			Checkout("first-branch").
			EmptyCommit("one").
			EmptyCommit("two").
			Checkout("second-branch").
			EmptyCommit("three").
			EmptyCommit("four").
			Checkout("first-branch")
	},
	Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
		input.SwitchToBranchesWindow()
		assert.CurrentViewName("localBranches")

		assert.MatchSelectedLine(Contains("first-branch"))
		input.NextItem()
		assert.MatchSelectedLine(Contains("second-branch"))

		input.Enter()

		assert.CurrentViewName("subCommits")
		assert.MatchSelectedLine(Contains("four"))
		input.PressKeys(keys.Commits.CherryPickCopy)
		assert.MatchViewContent("information", Contains("1 commit copied"))

		input.NextItem()
		assert.MatchSelectedLine(Contains("three"))
		input.PressKeys(keys.Commits.CherryPickCopy)
		assert.MatchViewContent("information", Contains("2 commits copied"))

		input.SwitchToCommitsWindow()
		assert.CurrentViewName("commits")

		assert.MatchSelectedLine(Contains("two"))
		input.PressKeys(keys.Commits.PasteCommits)
		assert.InAlert()
		assert.MatchCurrentViewContent(Contains("Are you sure you want to cherry-pick the copied commits onto this branch?"))

		input.Confirm()
		assert.CurrentViewName("commits")
		assert.MatchSelectedLine(Contains("four"))
		input.NextItem()
		assert.MatchSelectedLine(Contains("three"))
		input.NextItem()
		assert.MatchSelectedLine(Contains("two"))

		assert.MatchViewContent("information", Contains("2 commits copied"))
		input.PressKeys(keys.Universal.Return)
		assert.MatchViewContent("information", NotContains("commits copied"))
	},
})
View Source
var CherryPickConflicts = NewIntegrationTest(NewIntegrationTestArgs{
	Description:  "Cherry pick commits from the subcommits view, with conflicts",
	ExtraCmdArgs: "",
	Skip:         false,
	SetupConfig:  func(config *config.AppConfig) {},
	SetupRepo: func(shell *Shell) {
		shared.MergeConflictsSetup(shell)
	},
	Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
		input.SwitchToBranchesWindow()
		assert.CurrentViewName("localBranches")

		assert.MatchSelectedLine(Contains("first-change-branch"))
		input.NextItem()
		assert.MatchSelectedLine(Contains("second-change-branch"))

		input.Enter()

		assert.CurrentViewName("subCommits")
		assert.MatchSelectedLine(Contains("second-change-branch unrelated change"))
		input.PressKeys(keys.Commits.CherryPickCopy)
		assert.MatchViewContent("information", Contains("1 commit copied"))

		input.NextItem()
		assert.MatchSelectedLine(Contains("second change"))
		input.PressKeys(keys.Commits.CherryPickCopy)
		assert.MatchViewContent("information", Contains("2 commits copied"))

		input.SwitchToCommitsWindow()
		assert.CurrentViewName("commits")

		assert.MatchSelectedLine(Contains("first change"))
		input.PressKeys(keys.Commits.PasteCommits)
		assert.InAlert()
		assert.MatchCurrentViewContent(Contains("Are you sure you want to cherry-pick the copied commits onto this branch?"))

		input.Confirm()

		assert.MatchCurrentViewContent(Contains("Conflicts!"))
		input.Confirm()

		assert.CurrentViewName("files")
		assert.MatchSelectedLine(Contains("file"))

		input.PressKeys(keys.Universal.Confirm)

		assert.CurrentViewName("mergeConflicts")

		input.NextItem()
		input.PrimaryAction()

		assert.InConfirm()
		assert.MatchCurrentViewContent(Contains("all merge conflicts resolved. Continue?"))
		input.Confirm()

		assert.CurrentViewName("files")
		assert.WorkingTreeFileCount(0)

		input.SwitchToCommitsWindow()
		assert.CurrentViewName("commits")

		assert.MatchSelectedLine(Contains("second-change-branch unrelated change"))
		input.NextItem()
		assert.MatchSelectedLine(Contains("second change"))

		assert.MatchMainViewContent(Contains("-First Change"))
		assert.MatchMainViewContent(Contains("+Second Change"))
		input.NextItem()
		assert.MatchSelectedLine(Contains("first change"))

		assert.MatchViewContent("information", Contains("2 commits copied"))
		input.PressKeys(keys.Universal.Return)
		assert.MatchViewContent("information", NotContains("commits copied"))
	},
})

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL