mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-06-06 23:46:13 +02:00
Change our fake clipboard command to not append a linefeed; that's closer to what the production code does. This allows us to use Equals instead of Contains for checking the clipboard contents. Finally, use FileSystem().FileContent() to assert the clipboard contents, instead of selecting the clipboard file and then checking the diff view.
41 lines
1.1 KiB
Go
41 lines
1.1 KiB
Go
package commit
|
|
|
|
import (
|
|
"github.com/jesseduffield/lazygit/pkg/config"
|
|
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
|
)
|
|
|
|
// We're emulating the clipboard by writing to a file called clipboard
|
|
|
|
var CopyAuthorToClipboard = NewIntegrationTest(NewIntegrationTestArgs{
|
|
Description: "Copy a commit author name to the clipboard",
|
|
ExtraCmdArgs: []string{},
|
|
Skip: false,
|
|
SetupConfig: func(config *config.AppConfig) {
|
|
config.GetUserConfig().OS.CopyToClipboardCmd = "printf '%s' {{text}} > clipboard"
|
|
},
|
|
|
|
SetupRepo: func(shell *Shell) {
|
|
shell.SetAuthor("John Doe", "john@doe.com")
|
|
shell.EmptyCommit("commit")
|
|
},
|
|
|
|
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
|
t.Views().Commits().
|
|
Focus().
|
|
Lines(
|
|
Contains("commit").IsSelected(),
|
|
).
|
|
Press(keys.Commits.CopyCommitAttributeToClipboard)
|
|
|
|
t.ExpectPopup().Menu().
|
|
Title(Equals("Copy to clipboard")).
|
|
Select(Contains("Commit author")).
|
|
Confirm()
|
|
|
|
t.ExpectToast(Equals("Commit author copied to clipboard"))
|
|
|
|
t.FileSystem().FileContent("clipboard", Equals("John Doe <john@doe.com>"))
|
|
},
|
|
})
|