mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-05-11 20:36:03 +02:00
Move NewDummyCommon to pkg/common
It's too special for a utils package, and it als makes sense to put it right next to the thing that it is a dummy for.
This commit is contained in:
parent
223978eb82
commit
a6a68778ea
12 changed files with 58 additions and 52 deletions
|
@ -8,6 +8,7 @@ import (
|
||||||
"github.com/go-errors/errors"
|
"github.com/go-errors/errors"
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
|
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/common"
|
||||||
"github.com/jesseduffield/lazygit/pkg/config"
|
"github.com/jesseduffield/lazygit/pkg/config"
|
||||||
"github.com/jesseduffield/lazygit/pkg/utils"
|
"github.com/jesseduffield/lazygit/pkg/utils"
|
||||||
"github.com/samber/lo"
|
"github.com/samber/lo"
|
||||||
|
@ -296,7 +297,7 @@ func TestGetCommits(t *testing.T) {
|
||||||
|
|
||||||
for _, scenario := range scenarios {
|
for _, scenario := range scenarios {
|
||||||
t.Run(scenario.testName, func(t *testing.T) {
|
t.Run(scenario.testName, func(t *testing.T) {
|
||||||
common := utils.NewDummyCommon()
|
common := common.NewDummyCommon()
|
||||||
common.AppState = &config.AppState{}
|
common.AppState = &config.AppState{}
|
||||||
common.AppState.GitLogOrder = scenario.logOrder
|
common.AppState.GitLogOrder = scenario.logOrder
|
||||||
cmd := oscommands.NewDummyCmdObjBuilder(scenario.runner)
|
cmd := oscommands.NewDummyCmdObjBuilder(scenario.runner)
|
||||||
|
@ -516,7 +517,7 @@ func TestCommitLoader_getConflictedCommitImpl(t *testing.T) {
|
||||||
}
|
}
|
||||||
for _, scenario := range scenarios {
|
for _, scenario := range scenarios {
|
||||||
t.Run(scenario.testName, func(t *testing.T) {
|
t.Run(scenario.testName, func(t *testing.T) {
|
||||||
common := utils.NewDummyCommon()
|
common := common.NewDummyCommon()
|
||||||
|
|
||||||
builder := &CommitLoader{
|
builder := &CommitLoader{
|
||||||
Common: common,
|
Common: common,
|
||||||
|
|
|
@ -9,7 +9,6 @@ import (
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
|
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
|
||||||
"github.com/jesseduffield/lazygit/pkg/common"
|
"github.com/jesseduffield/lazygit/pkg/common"
|
||||||
"github.com/jesseduffield/lazygit/pkg/config"
|
"github.com/jesseduffield/lazygit/pkg/config"
|
||||||
"github.com/jesseduffield/lazygit/pkg/utils"
|
|
||||||
"github.com/spf13/afero"
|
"github.com/spf13/afero"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -32,7 +31,7 @@ func buildGitCommon(deps commonDeps) *GitCommon {
|
||||||
|
|
||||||
gitCommon.Common = deps.common
|
gitCommon.Common = deps.common
|
||||||
if gitCommon.Common == nil {
|
if gitCommon.Common == nil {
|
||||||
gitCommon.Common = utils.NewDummyCommonWithUserConfigAndAppState(deps.userConfig, deps.appState)
|
gitCommon.Common = common.NewDummyCommonWithUserConfigAndAppState(deps.userConfig, deps.appState)
|
||||||
}
|
}
|
||||||
|
|
||||||
if deps.fs != nil {
|
if deps.fs != nil {
|
||||||
|
|
|
@ -7,6 +7,7 @@ import (
|
||||||
|
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
|
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/common"
|
||||||
"github.com/jesseduffield/lazygit/pkg/utils"
|
"github.com/jesseduffield/lazygit/pkg/utils"
|
||||||
"github.com/samber/lo"
|
"github.com/samber/lo"
|
||||||
"github.com/sanity-io/litter"
|
"github.com/sanity-io/litter"
|
||||||
|
@ -181,7 +182,7 @@ func TestGetReflogCommits(t *testing.T) {
|
||||||
for _, scenario := range scenarios {
|
for _, scenario := range scenarios {
|
||||||
t.Run(scenario.testName, func(t *testing.T) {
|
t.Run(scenario.testName, func(t *testing.T) {
|
||||||
builder := &ReflogCommitLoader{
|
builder := &ReflogCommitLoader{
|
||||||
Common: utils.NewDummyCommon(),
|
Common: common.NewDummyCommon(),
|
||||||
cmd: oscommands.NewDummyCmdObjBuilder(scenario.runner),
|
cmd: oscommands.NewDummyCmdObjBuilder(scenario.runner),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ import (
|
||||||
|
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
|
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
|
||||||
"github.com/jesseduffield/lazygit/pkg/utils"
|
"github.com/jesseduffield/lazygit/pkg/common"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ func TestGetStashEntries(t *testing.T) {
|
||||||
t.Run(s.testName, func(t *testing.T) {
|
t.Run(s.testName, func(t *testing.T) {
|
||||||
cmd := oscommands.NewDummyCmdObjBuilder(s.runner)
|
cmd := oscommands.NewDummyCmdObjBuilder(s.runner)
|
||||||
|
|
||||||
loader := NewStashLoader(utils.NewDummyCommon(), cmd)
|
loader := NewStashLoader(common.NewDummyCommon(), cmd)
|
||||||
|
|
||||||
assert.EqualValues(t, s.expectedStashEntries, loader.GetStashEntries(s.filterPath))
|
assert.EqualValues(t, s.expectedStashEntries, loader.GetStashEntries(s.filterPath))
|
||||||
})
|
})
|
||||||
|
|
|
@ -5,7 +5,7 @@ import (
|
||||||
|
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
|
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
|
||||||
"github.com/jesseduffield/lazygit/pkg/utils"
|
"github.com/jesseduffield/lazygit/pkg/common"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ func TestGetTags(t *testing.T) {
|
||||||
for _, scenario := range scenarios {
|
for _, scenario := range scenarios {
|
||||||
t.Run(scenario.testName, func(t *testing.T) {
|
t.Run(scenario.testName, func(t *testing.T) {
|
||||||
loader := &TagLoader{
|
loader := &TagLoader{
|
||||||
Common: utils.NewDummyCommon(),
|
Common: common.NewDummyCommon(),
|
||||||
cmd: oscommands.NewDummyCmdObjBuilder(scenario.runner),
|
cmd: oscommands.NewDummyCmdObjBuilder(scenario.runner),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ import (
|
||||||
|
|
||||||
// NewDummyOSCommand creates a new dummy OSCommand for testing
|
// NewDummyOSCommand creates a new dummy OSCommand for testing
|
||||||
func NewDummyOSCommand() *OSCommand {
|
func NewDummyOSCommand() *OSCommand {
|
||||||
osCmd := NewOSCommand(utils.NewDummyCommon(), config.NewDummyAppConfig(), dummyPlatform, NewNullGuiIO(utils.NewDummyLog()))
|
osCmd := NewOSCommand(common.NewDummyCommon(), config.NewDummyAppConfig(), dummyPlatform, NewNullGuiIO(utils.NewDummyLog()))
|
||||||
|
|
||||||
return osCmd
|
return osCmd
|
||||||
}
|
}
|
||||||
|
@ -23,9 +23,9 @@ type OSCommandDeps struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDummyOSCommandWithDeps(deps OSCommandDeps) *OSCommand {
|
func NewDummyOSCommandWithDeps(deps OSCommandDeps) *OSCommand {
|
||||||
common := deps.Common
|
cmn := deps.Common
|
||||||
if common == nil {
|
if cmn == nil {
|
||||||
common = utils.NewDummyCommon()
|
cmn = common.NewDummyCommon()
|
||||||
}
|
}
|
||||||
|
|
||||||
platform := deps.Platform
|
platform := deps.Platform
|
||||||
|
@ -34,7 +34,7 @@ func NewDummyOSCommandWithDeps(deps OSCommandDeps) *OSCommand {
|
||||||
}
|
}
|
||||||
|
|
||||||
return &OSCommand{
|
return &OSCommand{
|
||||||
Common: common,
|
Common: cmn,
|
||||||
Platform: platform,
|
Platform: platform,
|
||||||
getenvFn: deps.GetenvFn,
|
getenvFn: deps.GetenvFn,
|
||||||
removeFileFn: deps.RemoveFileFn,
|
removeFileFn: deps.RemoveFileFn,
|
||||||
|
@ -59,7 +59,7 @@ var dummyPlatform = &Platform{
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDummyOSCommandWithRunner(runner *FakeCmdObjRunner) *OSCommand {
|
func NewDummyOSCommandWithRunner(runner *FakeCmdObjRunner) *OSCommand {
|
||||||
osCommand := NewOSCommand(utils.NewDummyCommon(), config.NewDummyAppConfig(), dummyPlatform, NewNullGuiIO(utils.NewDummyLog()))
|
osCommand := NewOSCommand(common.NewDummyCommon(), config.NewDummyAppConfig(), dummyPlatform, NewNullGuiIO(utils.NewDummyLog()))
|
||||||
osCommand.Cmd = NewDummyCmdObjBuilder(runner)
|
osCommand.Cmd = NewDummyCmdObjBuilder(runner)
|
||||||
|
|
||||||
return osCommand
|
return osCommand
|
||||||
|
|
33
pkg/common/dummies.go
Normal file
33
pkg/common/dummies.go
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
package common
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/config"
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/i18n"
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/utils"
|
||||||
|
"github.com/spf13/afero"
|
||||||
|
)
|
||||||
|
|
||||||
|
func NewDummyCommon() *Common {
|
||||||
|
tr := i18n.EnglishTranslationSet()
|
||||||
|
cmn := &Common{
|
||||||
|
Log: utils.NewDummyLog(),
|
||||||
|
Tr: tr,
|
||||||
|
Fs: afero.NewOsFs(),
|
||||||
|
}
|
||||||
|
cmn.SetUserConfig(config.GetDefaultConfig())
|
||||||
|
return cmn
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewDummyCommonWithUserConfigAndAppState(userConfig *config.UserConfig, appState *config.AppState) *Common {
|
||||||
|
tr := i18n.EnglishTranslationSet()
|
||||||
|
cmn := &Common{
|
||||||
|
Log: utils.NewDummyLog(),
|
||||||
|
Tr: tr,
|
||||||
|
AppState: appState,
|
||||||
|
// TODO: remove dependency on actual filesystem in tests and switch to using
|
||||||
|
// in-memory for everything
|
||||||
|
Fs: afero.NewOsFs(),
|
||||||
|
}
|
||||||
|
cmn.SetUserConfig(userConfig)
|
||||||
|
return cmn
|
||||||
|
}
|
|
@ -3,20 +3,20 @@ package gui
|
||||||
import (
|
import (
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/git_commands"
|
"github.com/jesseduffield/lazygit/pkg/commands/git_commands"
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
|
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/common"
|
||||||
"github.com/jesseduffield/lazygit/pkg/config"
|
"github.com/jesseduffield/lazygit/pkg/config"
|
||||||
"github.com/jesseduffield/lazygit/pkg/updates"
|
"github.com/jesseduffield/lazygit/pkg/updates"
|
||||||
"github.com/jesseduffield/lazygit/pkg/utils"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewDummyUpdater() *updates.Updater {
|
func NewDummyUpdater() *updates.Updater {
|
||||||
newAppConfig := config.NewDummyAppConfig()
|
newAppConfig := config.NewDummyAppConfig()
|
||||||
dummyUpdater, _ := updates.NewUpdater(utils.NewDummyCommon(), newAppConfig, oscommands.NewDummyOSCommand())
|
dummyUpdater, _ := updates.NewUpdater(common.NewDummyCommon(), newAppConfig, oscommands.NewDummyOSCommand())
|
||||||
return dummyUpdater
|
return dummyUpdater
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewDummyGui creates a new dummy GUI for testing
|
// NewDummyGui creates a new dummy GUI for testing
|
||||||
func NewDummyGui() *Gui {
|
func NewDummyGui() *Gui {
|
||||||
newAppConfig := config.NewDummyAppConfig()
|
newAppConfig := config.NewDummyAppConfig()
|
||||||
dummyGui, _ := NewGui(utils.NewDummyCommon(), newAppConfig, &git_commands.GitVersion{Major: 2, Minor: 0, Patch: 0}, NewDummyUpdater(), false, "", nil)
|
dummyGui, _ := NewGui(common.NewDummyCommon(), newAppConfig, &git_commands.GitVersion{Major: 2, Minor: 0, Patch: 0}, NewDummyUpdater(), false, "", nil)
|
||||||
return dummyGui
|
return dummyGui
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,9 +8,9 @@ import (
|
||||||
|
|
||||||
"github.com/gookit/color"
|
"github.com/gookit/color"
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/common"
|
||||||
"github.com/jesseduffield/lazygit/pkg/gui/presentation/icons"
|
"github.com/jesseduffield/lazygit/pkg/gui/presentation/icons"
|
||||||
"github.com/jesseduffield/lazygit/pkg/gui/types"
|
"github.com/jesseduffield/lazygit/pkg/gui/types"
|
||||||
"github.com/jesseduffield/lazygit/pkg/utils"
|
|
||||||
"github.com/samber/lo"
|
"github.com/samber/lo"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/xo/terminfo"
|
"github.com/xo/terminfo"
|
||||||
|
@ -320,7 +320,7 @@ func Test_getBranchDisplayStrings(t *testing.T) {
|
||||||
oldColorLevel := color.ForceSetColorLevel(terminfo.ColorLevelNone)
|
oldColorLevel := color.ForceSetColorLevel(terminfo.ColorLevelNone)
|
||||||
defer color.ForceSetColorLevel(oldColorLevel)
|
defer color.ForceSetColorLevel(oldColorLevel)
|
||||||
|
|
||||||
c := utils.NewDummyCommon()
|
c := common.NewDummyCommon()
|
||||||
SetCustomBranches(c.UserConfig().Gui.BranchColorPatterns, true)
|
SetCustomBranches(c.UserConfig().Gui.BranchColorPatterns, true)
|
||||||
|
|
||||||
for i, s := range scenarios {
|
for i, s := range scenarios {
|
||||||
|
|
|
@ -10,6 +10,7 @@ import (
|
||||||
"github.com/jesseduffield/generics/set"
|
"github.com/jesseduffield/generics/set"
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/git_commands"
|
"github.com/jesseduffield/lazygit/pkg/commands/git_commands"
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/common"
|
||||||
"github.com/jesseduffield/lazygit/pkg/utils"
|
"github.com/jesseduffield/lazygit/pkg/utils"
|
||||||
"github.com/samber/lo"
|
"github.com/samber/lo"
|
||||||
"github.com/stefanhaller/git-todo-parser/todo"
|
"github.com/stefanhaller/git-todo-parser/todo"
|
||||||
|
@ -539,7 +540,7 @@ func TestGetCommitListDisplayStrings(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
common := utils.NewDummyCommon()
|
common := common.NewDummyCommon()
|
||||||
|
|
||||||
for _, s := range scenarios {
|
for _, s := range scenarios {
|
||||||
if !focusing || s.focus {
|
if !focusing || s.focus {
|
||||||
|
|
|
@ -3,7 +3,7 @@ package custom_commands
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/jesseduffield/lazygit/pkg/utils"
|
"github.com/jesseduffield/lazygit/pkg/common"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ func TestMenuGenerator(t *testing.T) {
|
||||||
|
|
||||||
for _, s := range scenarios {
|
for _, s := range scenarios {
|
||||||
t.Run(s.testName, func(t *testing.T) {
|
t.Run(s.testName, func(t *testing.T) {
|
||||||
s.test(NewMenuGenerator(utils.NewDummyCommon()).call(s.cmdOut, s.filter, s.valueFormat, s.labelFormat))
|
s.test(NewMenuGenerator(common.NewDummyCommon()).call(s.cmdOut, s.filter, s.valueFormat, s.labelFormat))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,11 +3,7 @@ package utils
|
||||||
import (
|
import (
|
||||||
"io"
|
"io"
|
||||||
|
|
||||||
"github.com/jesseduffield/lazygit/pkg/common"
|
|
||||||
"github.com/jesseduffield/lazygit/pkg/config"
|
|
||||||
"github.com/jesseduffield/lazygit/pkg/i18n"
|
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"github.com/spf13/afero"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewDummyLog creates a new dummy Log for testing
|
// NewDummyLog creates a new dummy Log for testing
|
||||||
|
@ -16,28 +12,3 @@ func NewDummyLog() *logrus.Entry {
|
||||||
log.Out = io.Discard
|
log.Out = io.Discard
|
||||||
return log.WithField("test", "test")
|
return log.WithField("test", "test")
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDummyCommon() *common.Common {
|
|
||||||
tr := i18n.EnglishTranslationSet()
|
|
||||||
cmn := &common.Common{
|
|
||||||
Log: NewDummyLog(),
|
|
||||||
Tr: tr,
|
|
||||||
Fs: afero.NewOsFs(),
|
|
||||||
}
|
|
||||||
cmn.SetUserConfig(config.GetDefaultConfig())
|
|
||||||
return cmn
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewDummyCommonWithUserConfigAndAppState(userConfig *config.UserConfig, appState *config.AppState) *common.Common {
|
|
||||||
tr := i18n.EnglishTranslationSet()
|
|
||||||
cmn := &common.Common{
|
|
||||||
Log: NewDummyLog(),
|
|
||||||
Tr: tr,
|
|
||||||
AppState: appState,
|
|
||||||
// TODO: remove dependency on actual filesystem in tests and switch to using
|
|
||||||
// in-memory for everything
|
|
||||||
Fs: afero.NewOsFs(),
|
|
||||||
}
|
|
||||||
cmn.SetUserConfig(userConfig)
|
|
||||||
return cmn
|
|
||||||
}
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue