diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2023-05-17 17:12:05 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-17 17:12:05 +1000 |
commit | 681a9bf20d23c922eaa16c9c9243b75172752968 (patch) | |
tree | ed08e06923651dcf313753972e099f184abbc208 | |
parent | 33da56eeb4580a1289b9d5649d58a4a7d30d1af6 (diff) | |
parent | 0606b7a43b5d95c780d312d673f7212bf7d836b6 (diff) |
Merge pull request #2612 from longlhh90/fix-commit-prefixes-with-empty-commit-message
-rw-r--r-- | pkg/gui/controllers/helpers/working_tree_helper.go | 2 | ||||
-rw-r--r-- | pkg/integration/tests/commit/commit_wip_with_prefix.go | 57 | ||||
-rw-r--r-- | pkg/integration/tests/commit/commit_with_prefix.go | 47 | ||||
-rw-r--r-- | pkg/integration/tests/test_list.go | 2 |
4 files changed, 107 insertions, 1 deletions
diff --git a/pkg/gui/controllers/helpers/working_tree_helper.go b/pkg/gui/controllers/helpers/working_tree_helper.go index 2679310f9..96135881e 100644 --- a/pkg/gui/controllers/helpers/working_tree_helper.go +++ b/pkg/gui/controllers/helpers/working_tree_helper.go @@ -147,7 +147,7 @@ func (self *WorkingTreeHelper) HandleWIPCommitPress() error { func (self *WorkingTreeHelper) HandleCommitPress() error { message := self.c.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, |