From 0606b7a43b5d95c780d312d673f7212bf7d836b6 Mon Sep 17 00:00:00 2001 From: Lukas <58371075+longlhh90@users.noreply.github.com> Date: Tue, 9 May 2023 05:10:27 +0000 Subject: [PATCH] remove empty message check as message of commit can be empty --- .../helpers/working_tree_helper.go | 2 +- .../tests/commit/commit_wip_with_prefix.go | 57 +++++++++++++++++++ .../tests/commit/commit_with_prefix.go | 47 +++++++++++++++ pkg/integration/tests/test_list.go | 2 + 4 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 pkg/integration/tests/commit/commit_wip_with_prefix.go create mode 100644 pkg/integration/tests/commit/commit_with_prefix.go diff --git a/pkg/gui/controllers/helpers/working_tree_helper.go b/pkg/gui/controllers/helpers/working_tree_helper.go index 6fa85bc35..58f242fbb 100644 --- a/pkg/gui/controllers/helpers/working_tree_helper.go +++ b/pkg/gui/controllers/helpers/working_tree_helper.go @@ -160,7 +160,7 @@ func (self *WorkingTreeHelper) HandleWIPCommitPress() error { func (self *WorkingTreeHelper) HandleCommitPress() error { message := self.contexts.CommitMessage.GetPreservedMessage() - if message != "" { + if message == "" { commitPrefixConfig := self.commitPrefixConfigForRepo() if commitPrefixConfig != nil { prefixPattern := commitPrefixConfig.Pattern diff --git a/pkg/integration/tests/commit/commit_wip_with_prefix.go b/pkg/integration/tests/commit/commit_wip_with_prefix.go new file mode 100644 index 000000000..4b3099abf --- /dev/null +++ b/pkg/integration/tests/commit/commit_wip_with_prefix.go @@ -0,0 +1,57 @@ +package commit + +import ( + "github.com/jesseduffield/lazygit/pkg/config" + . "github.com/jesseduffield/lazygit/pkg/integration/components" +) + +var CommitWipWithPrefix = NewIntegrationTest(NewIntegrationTestArgs{ + Description: "Commit with skip hook and config commitPrefix is defined. Prefix is ignored when creating WIP commits.", + ExtraCmdArgs: "", + Skip: false, + SetupConfig: func(testConfig *config.AppConfig) { + testConfig.UserConfig.Git.CommitPrefixes = map[string]config.CommitPrefixConfig{"repo": {Pattern: "^\\w+\\/(\\w+-\\w+).*", Replace: "[$1]: "}} + }, + SetupRepo: func(shell *Shell) { + shell.NewBranch("feature/TEST-002") + shell.CreateFile("test-wip-commit-prefix", "This is foo bar") + }, + Run: func(t *TestDriver, keys config.KeybindingConfig) { + t.Views().Commits(). + IsEmpty() + + t.Views().Files(). + IsFocused(). + PressPrimaryAction(). + Press(keys.Files.CommitChangesWithoutHook) + + t.ExpectPopup().CommitMessagePanel(). + Title(Equals("Commit summary")). + InitialText(Equals("WIP")). + Type(" foo"). + Cancel() + + t.Views().Files(). + IsFocused(). + Press(keys.Files.CommitChanges) + + t.ExpectPopup().CommitMessagePanel(). + Title(Equals("Commit summary")). + InitialText(Equals("WIP foo")). + Type(" bar"). + Cancel() + + t.Views().Files(). + IsFocused(). + Press(keys.Files.CommitChanges) + + t.ExpectPopup().CommitMessagePanel(). + Title(Equals("Commit summary")). + InitialText(Equals("WIP foo bar")). + Type(". Added something else"). + Confirm() + + t.Views().Commits().Focus() + t.Views().Main().Content(Contains("WIP foo bar. Added something else")) + }, +}) diff --git a/pkg/integration/tests/commit/commit_with_prefix.go b/pkg/integration/tests/commit/commit_with_prefix.go new file mode 100644 index 000000000..07c0f626e --- /dev/null +++ b/pkg/integration/tests/commit/commit_with_prefix.go @@ -0,0 +1,47 @@ +package commit + +import ( + "github.com/jesseduffield/lazygit/pkg/config" + . "github.com/jesseduffield/lazygit/pkg/integration/components" +) + +var CommitWithPrefix = NewIntegrationTest(NewIntegrationTestArgs{ + Description: "Commit with defined config commitPrefix", + ExtraCmdArgs: "", + Skip: false, + SetupConfig: func(testConfig *config.AppConfig) { + testConfig.UserConfig.Git.CommitPrefixes = map[string]config.CommitPrefixConfig{"repo": {Pattern: "^\\w+\\/(\\w+-\\w+).*", Replace: "[$1]: "}} + }, + SetupRepo: func(shell *Shell) { + shell.NewBranch("feature/TEST-001") + shell.CreateFile("test-commit-prefix", "This is foo bar") + }, + Run: func(t *TestDriver, keys config.KeybindingConfig) { + t.Views().Commits(). + IsEmpty() + + t.Views().Files(). + IsFocused(). + PressPrimaryAction(). + Press(keys.Files.CommitChanges) + + t.ExpectPopup().CommitMessagePanel(). + Title(Equals("Commit summary")). + InitialText(Equals("[TEST-001]: ")). + Type("my commit message"). + Cancel() + + t.Views().Files(). + IsFocused(). + Press(keys.Files.CommitChanges) + + t.ExpectPopup().CommitMessagePanel(). + Title(Equals("Commit summary")). + InitialText(Equals("[TEST-001]: my commit message")). + Type(". Added something else"). + Confirm() + + t.Views().Commits().Focus() + t.Views().Main().Content(Contains("[TEST-001]: my commit message. Added something else")) + }, +}) diff --git a/pkg/integration/tests/test_list.go b/pkg/integration/tests/test_list.go index fe6604ac1..563d19f80 100644 --- a/pkg/integration/tests/test_list.go +++ b/pkg/integration/tests/test_list.go @@ -47,6 +47,8 @@ var tests = []*components.IntegrationTest{ commit.Amend, commit.Commit, commit.CommitMultiline, + commit.CommitWipWithPrefix, + commit.CommitWithPrefix, commit.CreateTag, commit.DiscardOldFileChange, commit.History,