allow different version patterns - fixes #139

This commit is contained in:
bakito
2022-12-27 18:50:50 +01:00
parent dcaad44315
commit 9edec9cf04
4 changed files with 48 additions and 3 deletions
+2 -1
View File
@@ -7,7 +7,8 @@ tidy:
go mod tidy
generate: deepcopy-gen
touch ./tmp/deepcopy-gen-boilerplate.go.txt
@mkdir -p ./tmp
@touch ./tmp/deepcopy-gen-boilerplate.go.txt
deepcopy-gen -h ./tmp/deepcopy-gen-boilerplate.go.txt -i ./pkg/types
# Run tests
+9 -2
View File
@@ -17,9 +17,16 @@ const (
)
func IsNewerThan(v1 string, v2 string) bool {
return semver.Compare(v1, v2) == 1
return semver.Compare(sanitize(v1), sanitize(v2)) == 1
}
func IsSame(v1 string, v2 string) bool {
return semver.Compare(v1, v2) == 0
return semver.Compare(sanitize(v1), sanitize(v2)) == 0
}
func sanitize(v string) string {
if v == "" || v[0] == 'v' {
return v
}
return "v" + v
}
+13
View File
@@ -0,0 +1,13 @@
package versions_test
import (
"testing"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
)
func TestTypes(t *testing.T) {
RegisterFailHandler(Fail)
RunSpecs(t, "Types Suite")
}
+24
View File
@@ -0,0 +1,24 @@
package versions_test
import (
"github.com/bakito/adguardhome-sync/pkg/versions"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
)
var _ = Describe("Versions", func() {
Context("IsNewerThan", func() {
It("should correctly parse json", func() {
Ω(versions.IsNewerThan("v0.106.10", "v0.106.9")).Should(BeTrue())
Ω(versions.IsNewerThan("v0.106.9", "v0.106.10")).Should(BeFalse())
Ω(versions.IsNewerThan("v0.106.10", "0.106.9")).Should(BeTrue())
Ω(versions.IsNewerThan("v0.106.9", "0.106.10")).Should(BeFalse())
})
})
Context("IsSame", func() {
It("should be the same version", func() {
Ω(versions.IsSame("v0.106.9", "v0.106.9")).Should(BeTrue())
Ω(versions.IsSame("0.106.9", "v0.106.9")).Should(BeTrue())
})
})
})