]> gitweb.factorcode.org Git - factor.git/blob - extra/semantic-versioning/semantic-versioning-tests.factor
more test IN: cleanup.
[factor.git] / extra / semantic-versioning / semantic-versioning-tests.factor
1 USING: kernel math.order random semantic-versioning sequences
2 sorting tools.test ;
3
4 {
5     {
6         { { 0 1 0 } f f }
7         { { 0 97 0 } f f }
8         { { 1 1 0 } f f }
9         { { 1 2 3 } f f }
10         { { 1 0 0 } "dev1" f }
11         { { 1 0 0 } "rc1" "build" }
12         { { 1 0 0 } "rc2" f }
13         { { 1 0 0 } "rc2" "123456" }
14     }
15 } [
16     {
17         ".1"
18         "0.97"
19         "1.1"
20         "1.2.3"
21         "1.0.0dev1"
22         "1.0.0rc1+build"
23         "1.0.0-rc2"
24         "1.0.0-rc2+123456"
25     } [ split-version ] map
26 ] unit-test
27
28 { +gt+ } [ "1.2.0dev1" "0.12.1dev2" version<=> ] unit-test
29 { +lt+ } [ "1.9.0" "1.10.0" version<=> ] unit-test
30 { +eq+ } [ "2.0.0rc1" "2.0.0rc1" version<=> ] unit-test
31 { +lt+ } [ "1.0.0rc1" "1.0.0" version<=> ] unit-test
32 { +lt+ } [ "1.0.0rc1" "1.0.0rc2" version<=> ] unit-test
33 { +lt+ } [ "1.0.0-rc.1" "1.0.0-rc.11" version<=> ] unit-test
34 { +lt+ } [ "1.0.0-rc.2" "1.0.0-rc.11" version<=> ] unit-test
35 { +eq+ } [ "1.0.0+foo" "1.0.0+bar" version<=> ] unit-test
36 { +eq+ } [ "1.0" "1.0.0" version<=> ] unit-test
37
38 { t } [
39     {
40         "1.0.0-alpha"
41         "1.0.0-alpha.1"
42         "1.0.0-alpha.beta"
43         "1.0.0-beta"
44         "1.0.0-beta.2"
45         "1.0.0-beta.11"
46         "1.0.0-rc.1"
47         "1.0.0"
48     } dup clone randomize [ version<=> ] sort =
49 ] unit-test