package appupdate import "testing" func TestCompareVersionsUsesStrictStableSemanticVersions(t *testing.T) { t.Parallel() tests := []struct { left string right string want int }{ {left: "v1.2.2", right: "v1.2.3", want: -1}, {left: "v2.0.0", right: "v1.99.99", want: 1}, {left: "v1.2.2", right: "v1.2.2", want: 0}, } for _, test := range tests { got, err := compareVersions(test.left, test.right) if err != nil || got != test.want { t.Errorf("compareVersions(%q, %q) = %d, %v; want %d", test.left, test.right, got, err, test.want) } } for _, invalid := range []string{"1.2.3", "v01.2.3", "v1.2", "v1.2.3-rc.1", "v1.2.3+build"} { if validReleaseVersion(invalid) { t.Errorf("invalid release version accepted: %q", invalid) } } }