34 lines
759 B
Go
34 lines
759 B
Go
package updater
|
|
|
|
import "testing"
|
|
|
|
func TestCompareVersions(t *testing.T) {
|
|
cases := []struct {
|
|
left string
|
|
right string
|
|
want int
|
|
}{
|
|
{"1.2.20", "1.2.19", 1},
|
|
{"v1.2.19", "1.2.20", -1},
|
|
{"1.3.0", "1.3.0", 0},
|
|
{"1.2.21-beta.1", "1.2.21", 0},
|
|
}
|
|
for _, tc := range cases {
|
|
got := CompareVersions(tc.left, tc.right)
|
|
if got != tc.want {
|
|
t.Fatalf("CompareVersions(%q, %q) = %d, want %d", tc.left, tc.right, got, tc.want)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestValidateSemver(t *testing.T) {
|
|
if err := validateSemver("1.2.21"); err != nil {
|
|
t.Fatalf("合法版本被拒绝: %v", err)
|
|
}
|
|
for _, value := range []string{"", "1.2", "main", "1.2.x"} {
|
|
if err := validateSemver(value); err == nil {
|
|
t.Fatalf("非法版本未被拒绝: %q", value)
|
|
}
|
|
}
|
|
}
|