-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Expand file tree
/
Copy pathcommit_message_context_test.go
More file actions
68 lines (56 loc) · 2.15 KB
/
Copy pathcommit_message_context_test.go
File metadata and controls
68 lines (56 loc) · 2.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package context
import (
"testing"
"github.com/jesseduffield/lazygit/pkg/common"
"github.com/jesseduffield/lazygit/pkg/config"
"github.com/jesseduffield/lazygit/pkg/gocui"
guiTypes "github.com/jesseduffield/lazygit/pkg/gui/types"
"github.com/jesseduffield/lazygit/pkg/i18n"
"github.com/sirupsen/logrus"
"github.com/spf13/afero"
"github.com/stretchr/testify/assert"
)
type commitMessageTestGuiCommon struct {
guiTypes.IGuiCommon
views guiTypes.Views
}
func (self commitMessageTestGuiCommon) Views() guiTypes.Views {
return self.views
}
func TestCommitMessageGenerationSubtitle(t *testing.T) {
userConfig := config.GetDefaultConfig()
cmn := &common.Common{
Log: logrus.NewEntry(logrus.New()),
Tr: i18n.EnglishTranslationSet(),
Fs: afero.NewMemMapFs(),
}
cmn.SetUserConfig(userConfig)
commitMessageView := gocui.NewView("commitMessage", 0, 0, 80, 3, gocui.OutputNormal)
commitDescriptionView := gocui.NewView("commitDescription", 0, 4, 80, 10, gocui.OutputNormal)
commitMessageView.Editable = true
commitDescriptionView.Editable = true
ctx := NewCommitMessageContext(&ContextCommon{
Common: cmn,
IGuiCommon: commitMessageTestGuiCommon{views: guiTypes.Views{
CommitMessage: commitMessageView,
CommitDescription: commitDescriptionView,
}},
})
ctx.SetPanelState(NoCommitIndex, "Commit summary", "Commit description", false, "", nil, nil, false, "")
assert.Contains(t, commitDescriptionView.Subtitle, "Press <tab> to toggle focus")
cancelCalled := false
ctx.StartGeneratingCommitMessage(func() {
cancelCalled = true
})
assert.False(t, commitMessageView.Editable)
assert.False(t, commitDescriptionView.Editable)
assert.Contains(t, commitDescriptionView.Subtitle, "Generating commit message")
assert.Contains(t, commitDescriptionView.Subtitle, "<esc>")
assert.True(t, ctx.CancelGenerateCommitMessage())
assert.True(t, cancelCalled)
assert.Contains(t, commitDescriptionView.Subtitle, "Canceling commit message generation")
ctx.StopGeneratingCommitMessage()
assert.True(t, commitMessageView.Editable)
assert.True(t, commitDescriptionView.Editable)
assert.Contains(t, commitDescriptionView.Subtitle, "Press <tab> to toggle focus")
}