@@ -3,180 +3,11 @@ package git_commands
3
3
import (
4
4
"testing"
5
5
6
- "github.com/go-errors/errors"
7
6
"github.com/jesseduffield/lazygit/pkg/commands/git_config"
8
- "github.com/jesseduffield/lazygit/pkg/commands/oscommands"
9
7
"github.com/jesseduffield/lazygit/pkg/config"
10
8
"github.com/stretchr/testify/assert"
11
9
)
12
10
13
- func TestEditFileCmdStrLegacy (t * testing.T ) {
14
- type scenario struct {
15
- filename string
16
- configEditCommand string
17
- configEditCommandTemplate string
18
- runner * oscommands.FakeCmdObjRunner
19
- getenv func (string ) string
20
- gitConfigMockResponses map [string ]string
21
- test func (string , error )
22
- }
23
-
24
- scenarios := []scenario {
25
- {
26
- filename : "test" ,
27
- configEditCommand : "" ,
28
- configEditCommandTemplate : "{{editor}} {{filename}}" ,
29
- runner : oscommands .NewFakeRunner (t ).
30
- ExpectArgs ([]string {"which" , "vi" }, "" , errors .New ("error" )),
31
- getenv : func (env string ) string {
32
- return ""
33
- },
34
- gitConfigMockResponses : nil ,
35
- test : func (cmdStr string , err error ) {
36
- assert .EqualError (t , err , "No editor defined in config file, $GIT_EDITOR, $VISUAL, $EDITOR, or git config" )
37
- },
38
- },
39
- {
40
- filename : "test" ,
41
- configEditCommand : "nano" ,
42
- configEditCommandTemplate : "{{editor}} {{filename}}" ,
43
- runner : oscommands .NewFakeRunner (t ),
44
- getenv : func (env string ) string {
45
- return ""
46
- },
47
- gitConfigMockResponses : nil ,
48
- test : func (cmdStr string , err error ) {
49
- assert .NoError (t , err )
50
- assert .Equal (t , `nano "test"` , cmdStr )
51
- },
52
- },
53
- {
54
- filename : "test" ,
55
- configEditCommand : "" ,
56
- configEditCommandTemplate : "{{editor}} {{filename}}" ,
57
- runner : oscommands .NewFakeRunner (t ),
58
- getenv : func (env string ) string {
59
- return ""
60
- },
61
- gitConfigMockResponses : map [string ]string {"core.editor" : "nano" },
62
- test : func (cmdStr string , err error ) {
63
- assert .NoError (t , err )
64
- assert .Equal (t , `nano "test"` , cmdStr )
65
- },
66
- },
67
- {
68
- filename : "test" ,
69
- configEditCommand : "" ,
70
- configEditCommandTemplate : "{{editor}} {{filename}}" ,
71
- runner : oscommands .NewFakeRunner (t ),
72
- getenv : func (env string ) string {
73
- if env == "VISUAL" {
74
- return "nano"
75
- }
76
-
77
- return ""
78
- },
79
- gitConfigMockResponses : nil ,
80
- test : func (cmdStr string , err error ) {
81
- assert .NoError (t , err )
82
- assert .Equal (t , `nano "test"` , cmdStr )
83
- },
84
- },
85
- {
86
- filename : "test" ,
87
- configEditCommand : "" ,
88
- configEditCommandTemplate : "{{editor}} {{filename}}" ,
89
- runner : oscommands .NewFakeRunner (t ),
90
- getenv : func (env string ) string {
91
- if env == "EDITOR" {
92
- return "emacs"
93
- }
94
-
95
- return ""
96
- },
97
- gitConfigMockResponses : nil ,
98
- test : func (cmdStr string , err error ) {
99
- assert .NoError (t , err )
100
- assert .Equal (t , `emacs "test"` , cmdStr )
101
- },
102
- },
103
- {
104
- filename : "test" ,
105
- configEditCommand : "" ,
106
- configEditCommandTemplate : "{{editor}} {{filename}}" ,
107
- runner : oscommands .NewFakeRunner (t ).
108
- ExpectArgs ([]string {"which" , "vi" }, "/usr/bin/vi" , nil ),
109
- getenv : func (env string ) string {
110
- return ""
111
- },
112
- gitConfigMockResponses : nil ,
113
- test : func (cmdStr string , err error ) {
114
- assert .NoError (t , err )
115
- assert .Equal (t , `vi "test"` , cmdStr )
116
- },
117
- },
118
- {
119
- filename : "file/with space" ,
120
- configEditCommand : "" ,
121
- configEditCommandTemplate : "{{editor}} {{filename}}" ,
122
- runner : oscommands .NewFakeRunner (t ).
123
- ExpectArgs ([]string {"which" , "vi" }, "/usr/bin/vi" , nil ),
124
- getenv : func (env string ) string {
125
- return ""
126
- },
127
- gitConfigMockResponses : nil ,
128
- test : func (cmdStr string , err error ) {
129
- assert .NoError (t , err )
130
- assert .Equal (t , `vi "file/with space"` , cmdStr )
131
- },
132
- },
133
- {
134
- filename : "open file/at line" ,
135
- configEditCommand : "vim" ,
136
- configEditCommandTemplate : "{{editor}} +{{line}} {{filename}}" ,
137
- runner : oscommands .NewFakeRunner (t ),
138
- getenv : func (env string ) string {
139
- return ""
140
- },
141
- gitConfigMockResponses : nil ,
142
- test : func (cmdStr string , err error ) {
143
- assert .NoError (t , err )
144
- assert .Equal (t , `vim +1 "open file/at line"` , cmdStr )
145
- },
146
- },
147
- {
148
- filename : "default edit command template" ,
149
- configEditCommand : "vim" ,
150
- configEditCommandTemplate : "" ,
151
- runner : oscommands .NewFakeRunner (t ),
152
- getenv : func (env string ) string {
153
- return ""
154
- },
155
- gitConfigMockResponses : nil ,
156
- test : func (cmdStr string , err error ) {
157
- assert .NoError (t , err )
158
- assert .Equal (t , `vim +1 -- "default edit command template"` , cmdStr )
159
- },
160
- },
161
- }
162
-
163
- for _ , s := range scenarios {
164
- userConfig := config .GetDefaultConfig ()
165
- userConfig .OS .EditCommand = s .configEditCommand
166
- userConfig .OS .EditCommandTemplate = s .configEditCommandTemplate
167
-
168
- instance := buildFileCommands (commonDeps {
169
- runner : s .runner ,
170
- userConfig : userConfig ,
171
- gitConfig : git_config .NewFakeGitConfig (s .gitConfigMockResponses ),
172
- getenv : s .getenv ,
173
- })
174
-
175
- s .test (instance .GetEditCmdStrLegacy (s .filename , 1 ))
176
- s .runner .CheckForMissingCalls ()
177
- }
178
- }
179
-
180
11
func TestEditFilesCmd (t * testing.T ) {
181
12
type scenario struct {
182
13
filenames []string
0 commit comments