| 123456789101112131415161718192021222324252627282930313233 |
- package debtik
- import "testing"
- func TestVersionOrder(t *testing.T) {
- for _, tc := range []struct {
- a, b string
- want bool
- }{{"1.10.0", "1.9.0", true}, {"2.0.0", "1.99.99", true}, {"1.1.0", "1.1.0", false}, {"1.0.9", "1.1.0", false}} {
- got, err := Newer(tc.a, tc.b)
- if err != nil || got != tc.want {
- t.Fatalf("%s > %s: %v %v", tc.a, tc.b, got, err)
- }
- }
- for _, v := range []string{"1.2", "01.2.3", "v1.2.3", "1.2.3-rc1", "1.2.3+build", "-1.2.3", "99999999999999999999999.0.0"} {
- if _, err := ParseVersion(v); err == nil {
- t.Fatalf("accepted %s", v)
- }
- }
- if _, err := ParseVersion(Version()); err != nil {
- t.Fatal(err)
- }
- }
- func TestLatestReleaseTags(t *testing.T) {
- input := "a refs/tags/v1.9.0\nb refs/tags/v1.10.0\nc refs/tags/v1.10.0^{}\nd refs/tags/v9.0.0-rc1\ne refs/heads/v99.0.0\n"
- version, commit, err := LatestTag(input)
- if err != nil || version != "1.10.0" || commit != "c" {
- t.Fatal(version, commit, err)
- }
- if _, _, err := LatestTag("a refs/tags/v1.0.0-rc1"); err == nil {
- t.Fatal("accepted prerelease only")
- }
- }
|