@@ -40,23 +40,33 @@ defmodule VersionTest do
4040 assert P . lexer ( " > 2.4" , [ ] ) == [ :'>' , "2.4" ]
4141 end
4242
43- test "lexer gets verified properly " do
44- assert P . valid_requirement? ( P . lexer ( "2.3" , [ ] ) )
45- refute P . valid_requirement? ( P . lexer ( "> >= 2.3" , [ ] ) )
46- refute P . valid_requirement? ( P . lexer ( "> 2.3 and" , [ ] ) )
47- refute P . valid_requirement? ( P . lexer ( "> 2.3 or and 4.3" , [ ] ) )
48- assert P . valid_requirement? ( P . lexer ( "> 2.4 and 4.5" , [ ] ) )
49- refute P . valid_requirement? ( P . lexer ( "& 1.0.0" , [ ] ) )
43+ test "valid requirement " do
44+ assert V . valid_requirement? ( "2.3" )
45+ refute V . valid_requirement? ( "> >= 2.3" )
46+ refute V . valid_requirement? ( "> 2.3 and" )
47+ refute V . valid_requirement? ( "> 2.3 or and 4.3" )
48+ assert V . valid_requirement? ( "> 2.4 and 4.5" )
49+ refute V . valid_requirement? ( "& 1.0.0" )
5050 end
5151
52- test :parse do
52+ test "valid version" do
53+ assert V . valid? ( "1.0.0" )
54+ assert V . valid? ( "1.0.0-beep+boop" )
55+ assert V . valid? ( "1.0.0+boop" )
56+ refute V . valid? ( "1.0." )
57+ refute V . valid ( "1.2.b" )
58+ refute V . valid ( "abc" )
59+ refute V . valid ( "-beep" )
60+ end
61+
62+ test "parse" do
5363 assert V.Schema [ major : 1 , minor: 0 , patch: 0 ] = V . parse ( "1" )
5464 assert V.Schema [ major : 1 , minor: 2 , patch: 0 ] = V . parse ( "1.2" )
5565 assert V.Schema [ major : 1 , minor: 2 , patch: 3 ] = V . parse ( "1.2.3" )
5666 assert V.Schema [ major : 1 , minor: 4 , patch: 0 , pre: "5-g3318bd5" ] = V . parse ( "1.4-5-g3318bd5" )
5767 end
5868
59- test :== do
69+ test "==" do
6070 assert V . match? ( "2.3" , "2.3" )
6171 refute V . match? ( "2.4" , "2.3" )
6272
@@ -74,15 +84,15 @@ defmodule VersionTest do
7484 assert V . match? ( "0.9.3" , "== 0.9.3+dev" )
7585 end
7686
77- test :!= do
87+ test "!=" do
7888 assert V . match? ( "2.4" , "!2.3" )
7989 refute V . match? ( "2.3" , "!2.3" )
8090
8191 assert V . match? ( "2.4" , "!= 2.3" )
8292 refute V . match? ( "2.3" , "!= 2.3" )
8393 end
8494
85- test :> do
95+ test ">" do
8696 assert V . match? ( "2.4" , "> 2.3" )
8797 refute V . match? ( "2.2" , "> 2.3" )
8898 refute V . match? ( "2.3" , "> 2.3" )
@@ -97,7 +107,7 @@ defmodule VersionTest do
97107 refute V . match? ( "0.1.2" , "> 1.2.3-dev" )
98108 end
99109
100- test :>= do
110+ test ">=" do
101111 assert V . match? ( "2.4" , ">= 2.3" )
102112 refute V . match? ( "2.2" , ">= 2.3" )
103113 assert V . match? ( "2.3" , ">= 2.3" )
@@ -106,7 +116,7 @@ defmodule VersionTest do
106116 assert V . match? ( "1.0.0" , ">= 1.0" )
107117 end
108118
109- test :< do
119+ test "<" do
110120 assert V . match? ( "2.2" , "< 2.3" )
111121 refute V . match? ( "2.4" , "< 2.3" )
112122 refute V . match? ( "2.3" , "< 2.3" )
@@ -117,13 +127,13 @@ defmodule VersionTest do
117127 refute V . match? ( "1.2.3-dev" , "< 0.1.2" )
118128 end
119129
120- test :<= do
130+ test "<=" do
121131 assert V . match? ( "2.2" , "<= 2.3" )
122132 refute V . match? ( "2.4" , "<= 2.3" )
123133 assert V . match? ( "2.3" , "<= 2.3" )
124134 end
125135
126- test :'~>' do
136+ test "~>" do
127137 assert V . match? ( "3.0" , "~> 3.0" )
128138 assert V . match? ( "3.2" , "~> 3.0" )
129139 refute V . match? ( "4.0" , "~> 3.0" )
@@ -150,12 +160,12 @@ defmodule VersionTest do
150160 refute V . match? ( "0.3.0-dev" , "~> 0.2.0" )
151161 end
152162
153- test : and do
163+ test " and" do
154164 assert V . match? ( "0.9.3" , "> 0.9 and < 0.10" )
155165 refute V . match? ( "0.10.2" , "> 0.9 and < 0.10" )
156166 end
157167
158- test :or do
168+ test "or" do
159169 assert V . match? ( "0.9.1" , "0.9.1 or 0.9.3 or 0.9.5" )
160170 assert V . match? ( "0.9.3" , "0.9.1 or 0.9.3 or 0.9.5" )
161171 assert V . match? ( "0.9.5" , "0.9.1 or 0.9.3 or 0.9.5" )
0 commit comments