mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-05-14 21:34:36 +02:00
85 lines
1.4 KiB
Go
85 lines
1.4 KiB
Go
package app
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestIsGitVersionValid(t *testing.T) {
|
|
type scenario struct {
|
|
versionStr string
|
|
expectedResult bool
|
|
}
|
|
|
|
scenarios := []scenario{
|
|
{
|
|
"",
|
|
false,
|
|
},
|
|
{
|
|
"git version 1.9.0",
|
|
false,
|
|
},
|
|
{
|
|
"git version 1.9.0 (Apple Git-128)",
|
|
false,
|
|
},
|
|
{
|
|
"git version 2.4.0",
|
|
true,
|
|
},
|
|
{
|
|
"git version 2.24.3 (Apple Git-128)",
|
|
true,
|
|
},
|
|
}
|
|
|
|
for _, s := range scenarios {
|
|
s := s
|
|
t.Run(s.versionStr, func(t *testing.T) {
|
|
result := isGitVersionValid(s.versionStr)
|
|
assert.Equal(t, result, s.expectedResult)
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestIsValidGhVersion(t *testing.T) {
|
|
type scenario struct {
|
|
versionStr string
|
|
expectedResult bool
|
|
}
|
|
|
|
scenarios := []scenario{
|
|
{
|
|
"",
|
|
false,
|
|
},
|
|
{
|
|
`gh version 1.0.0 (2020-08-23)
|
|
https://github.com/cli/cli/releases/tag/v1.0.0`,
|
|
false,
|
|
},
|
|
{
|
|
`gh version 2.0.0 (2021-08-23)
|
|
https://github.com/cli/cli/releases/tag/v2.0.0`,
|
|
true,
|
|
},
|
|
{
|
|
`gh version 1.1.0 (2021-10-14)
|
|
https://github.com/cli/cli/releases/tag/v1.1.0
|
|
|
|
A new release of gh is available: 1.1.0 → v2.2.0
|
|
To upgrade, run: brew update && brew upgrade gh
|
|
https://github.com/cli/cli/releases/tag/v2.2.0`,
|
|
false,
|
|
},
|
|
}
|
|
|
|
for _, s := range scenarios {
|
|
t.Run(s.versionStr, func(t *testing.T) {
|
|
result := isGhVersionValid(s.versionStr)
|
|
assert.Equal(t, result, s.expectedResult)
|
|
})
|
|
}
|
|
}
|