2020-09-29 11:10:57 +02:00
|
|
|
package oscommands
|
|
|
|
|
|
|
|
import (
|
2022-01-08 04:22:29 +02:00
|
|
|
"github.com/jesseduffield/lazygit/pkg/common"
|
2022-04-01 16:38:41 +02:00
|
|
|
"github.com/jesseduffield/lazygit/pkg/config"
|
2020-09-29 11:10:57 +02:00
|
|
|
"github.com/jesseduffield/lazygit/pkg/utils"
|
|
|
|
)
|
|
|
|
|
|
|
|
// NewDummyOSCommand creates a new dummy OSCommand for testing
|
|
|
|
func NewDummyOSCommand() *OSCommand {
|
2022-04-01 16:38:41 +02:00
|
|
|
osCmd := NewOSCommand(utils.NewDummyCommon(), config.NewDummyAppConfig(), dummyPlatform, NewNullGuiIO(utils.NewDummyLog()))
|
2022-01-03 06:15:26 +02:00
|
|
|
|
|
|
|
return osCmd
|
2020-09-29 11:10:57 +02:00
|
|
|
}
|
2021-12-30 04:11:58 +02:00
|
|
|
|
2022-01-08 04:22:29 +02:00
|
|
|
type OSCommandDeps struct {
|
|
|
|
Common *common.Common
|
|
|
|
Platform *Platform
|
|
|
|
GetenvFn func(string) string
|
|
|
|
RemoveFileFn func(string) error
|
|
|
|
Cmd *CmdObjBuilder
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewDummyOSCommandWithDeps(deps OSCommandDeps) *OSCommand {
|
|
|
|
common := deps.Common
|
|
|
|
if common == nil {
|
|
|
|
common = utils.NewDummyCommon()
|
|
|
|
}
|
|
|
|
|
|
|
|
platform := deps.Platform
|
|
|
|
if platform == nil {
|
|
|
|
platform = dummyPlatform
|
|
|
|
}
|
|
|
|
|
|
|
|
return &OSCommand{
|
|
|
|
Common: common,
|
|
|
|
Platform: platform,
|
|
|
|
getenvFn: deps.GetenvFn,
|
|
|
|
removeFileFn: deps.RemoveFileFn,
|
|
|
|
guiIO: NewNullGuiIO(utils.NewDummyLog()),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-12-30 08:19:01 +02:00
|
|
|
func NewDummyCmdObjBuilder(runner ICmdObjRunner) *CmdObjBuilder {
|
2021-12-30 04:11:58 +02:00
|
|
|
return &CmdObjBuilder{
|
2022-01-05 03:01:59 +02:00
|
|
|
runner: runner,
|
|
|
|
platform: dummyPlatform,
|
2021-12-30 04:11:58 +02:00
|
|
|
}
|
|
|
|
}
|
2021-12-31 01:44:47 +02:00
|
|
|
|
2022-01-03 06:15:26 +02:00
|
|
|
var dummyPlatform = &Platform{
|
|
|
|
OS: "darwin",
|
|
|
|
Shell: "bash",
|
|
|
|
ShellArg: "-c",
|
|
|
|
OpenCommand: "open {{filename}}",
|
|
|
|
OpenLinkCommand: "open {{link}}",
|
|
|
|
}
|
|
|
|
|
2021-12-31 01:44:47 +02:00
|
|
|
func NewDummyOSCommandWithRunner(runner *FakeCmdObjRunner) *OSCommand {
|
2022-04-01 16:38:41 +02:00
|
|
|
osCommand := NewOSCommand(utils.NewDummyCommon(), config.NewDummyAppConfig(), dummyPlatform, NewNullGuiIO(utils.NewDummyLog()))
|
2021-12-31 01:44:47 +02:00
|
|
|
osCommand.Cmd = NewDummyCmdObjBuilder(runner)
|
|
|
|
|
|
|
|
return osCommand
|
|
|
|
}
|