mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-09-22 11:04:51 -04:00
65 lines
2.1 KiB
Go
65 lines
2.1 KiB
Go
package main
|
|
|
|
import (
|
|
check "gopkg.in/check.v1"
|
|
)
|
|
|
|
func (s *Suite) Test_newVersion(c *check.C) {
|
|
c.Check(newVersion("5.0"), check.DeepEquals, &version{[]int{5, 0, 0}, 0})
|
|
c.Check(newVersion("5.0nb5"), check.DeepEquals, &version{[]int{5, 0, 0}, 5})
|
|
c.Check(newVersion("0.0.1-SNAPSHOT"), check.DeepEquals, &version{[]int{0, 0, 0, 0, 1, 19, 14, 1, 16, 19, 8, 15, 20}, 0})
|
|
c.Check(newVersion("1.0alpha3"), check.DeepEquals, &version{[]int{1, 0, 0, -3, 3}, 0})
|
|
c.Check(newVersion("2.5beta"), check.DeepEquals, &version{[]int{2, 0, 5, -2}, 0})
|
|
c.Check(newVersion("20151110"), check.DeepEquals, &version{[]int{20151110}, 0})
|
|
c.Check(newVersion("0"), check.DeepEquals, &version{[]int{0}, 0})
|
|
c.Check(newVersion("nb1"), check.DeepEquals, &version{nil, 1})
|
|
c.Check(newVersion("1.0.1a"), deepEquals, &version{[]int{1, 0, 0, 0, 1, 1}, 0})
|
|
c.Check(newVersion("1.0.1z"), deepEquals, &version{[]int{1, 0, 0, 0, 1, 26}, 0})
|
|
c.Check(newVersion("0pre20160620"), deepEquals, &version{[]int{0, -1, 20160620}, 0})
|
|
}
|
|
|
|
func (s *Suite) Test_pkgverCmp(c *check.C) {
|
|
var versions = [][]string{
|
|
{"0pre20160620"},
|
|
{"0"},
|
|
{"nb1"},
|
|
{"0.0.1-SNAPSHOT"},
|
|
{"1.0alpha"},
|
|
{"1.0alpha3"},
|
|
{"1", "1.0", "1.0.0"},
|
|
{"1.0nb1"},
|
|
{"1.0nb2"},
|
|
{"1.0.1a"},
|
|
{"1.0.1z"},
|
|
{"2.0pre", "2.0rc"},
|
|
{"2.0", "2.0pl"},
|
|
{"2.0.1nb4"},
|
|
{"2.0.1nb17"},
|
|
{"2.5beta"},
|
|
{"5.0"},
|
|
{"5.0nb5"},
|
|
{"5.5", "5.005"},
|
|
{"20151110"},
|
|
}
|
|
|
|
for i, iversions := range versions {
|
|
for _, iversion := range iversions {
|
|
for j, jversions := range versions {
|
|
for _, jversion := range jversions {
|
|
actual := pkgverCmp(iversion, jversion)
|
|
if i < j && !(actual < 0) {
|
|
c.Check([]interface{}{i, iversion, j, jversion, "<0"}, deepEquals, []interface{}{i, iversion, j, jversion, actual})
|
|
}
|
|
if i == j && !(actual == 0) {
|
|
c.Check([]interface{}{i, iversion, j, jversion, "==0"}, deepEquals, []interface{}{i, iversion, j, jversion, actual})
|
|
}
|
|
if i > j && !(actual > 0) {
|
|
c.Check([]interface{}{i, iversion, j, jversion, ">0"}, deepEquals, []interface{}{i, iversion, j, jversion, actual})
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|