Add a test for pasting a multi-line commit message into the summary

If you paste a commit message into the summary with the terminal's
paste command, the description starts with an empty line. The first
newline of the pasted text moves to the description, and the second
one (the blank line between subject and body) is typed into the
description. Git strips the empty line when committing, but it looks
broken in the panel.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Stefan Haller
2026-11-12 10:22:50 +01:00
co-authored by Claude Opus 5.5
parent ad52544df8
commit 9d2058fbc4
2 changed files with 34 additions and 0 deletions
@@ -0,0 +1,33 @@
package commit
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
)
var PasteMultiLineCommitMessage = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Paste a multi-line commit message into the summary with the terminal's paste command",
ExtraCmdArgs: []string{},
Skip: false,
SetupConfig: func(config *config.AppConfig) {},
SetupRepo: func(shell *Shell) {
shell.CreateFileAndAdd("file", "file content")
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Files().
Focus().
Press(keys.Files.CommitChanges)
t.ExpectPopup().CommitMessagePanel().
Paste("subject\n\nbody line 1\nbody line 2").
Content(Equals("subject"))
t.Views().CommitDescription().
IsFocused().
Content(Equals(
/* EXPECTED:
"body line 1\nbody line 2"))
ACTUAL: */
"\nbody line 1\nbody line 2"))
},
})
+1
View File
@@ -187,6 +187,7 @@ var tests = []*components.IntegrationTest{
commit.PasteCommitMessageOverExisting,
commit.PasteCommitMessageWithHardLineBreaks,
commit.PasteIntoCommitDescription,
commit.PasteMultiLineCommitMessage,
commit.PreserveCommitMessage,
commit.PreserveCommitMessageWhitespace,
commit.ResetAuthor,