@@ -122,25 +122,30 @@ def test_allows() -> None:
122
122
assert not v .allows (Version .parse ("1.3.3" ))
123
123
assert not v .allows (Version .parse ("1.2.4" ))
124
124
assert not v .allows (Version .parse ("1.2.3-dev" ))
125
+ assert not v .allows (Version .parse ("1.2.3-1" ))
126
+ assert not v .allows (Version .parse ("1.2.3-1+build" ))
125
127
assert v .allows (Version .parse ("1.2.3+build" ))
126
- assert v .allows (Version .parse ("1.2.3-1" ))
127
- assert v .allows (Version .parse ("1.2.3-1+build" ))
128
128
129
129
130
130
def test_allows_with_local () -> None :
131
131
v = Version .parse ("1.2.3+build.1" )
132
132
assert v .allows (v )
133
+ assert not v .allows (Version .parse ("1.2.3" ))
133
134
assert not v .allows (Version .parse ("1.3.3" ))
134
135
assert not v .allows (Version .parse ("1.2.3-dev" ))
135
136
assert not v .allows (Version .parse ("1.2.3+build.2" ))
136
- assert v .allows (Version .parse ("1.2.3-1" ))
137
- assert v .allows (Version .parse ("1.2.3-1+build.1" ))
137
+ # local version with a great number of segments will always compare as
138
+ # greater than a local version with fewer segments
139
+ assert not v .allows (Version .parse ("1.2.3+build.1.0" ))
140
+ assert not v .allows (Version .parse ("1.2.3-1" ))
141
+ assert not v .allows (Version .parse ("1.2.3-1+build.1" ))
138
142
139
143
140
144
def test_allows_with_post () -> None :
141
145
v = Version .parse ("1.2.3-1" )
142
146
assert v .allows (v )
143
147
assert not v .allows (Version .parse ("1.2.3" ))
148
+ assert not v .allows (Version .parse ("1.2.3-2" ))
144
149
assert not v .allows (Version .parse ("2.2.3" ))
145
150
assert not v .allows (Version .parse ("1.2.3-dev" ))
146
151
assert not v .allows (Version .parse ("1.2.3+build.2" ))
@@ -190,7 +195,12 @@ def test_allows_any() -> None:
190
195
(
191
196
Version .parse ("1.2.3" ),
192
197
Version .parse ("1.2.3.post0" ),
193
- Version .parse ("1.2.3.post0" ),
198
+ EmptyConstraint (),
199
+ ),
200
+ (
201
+ Version .parse ("1.2.3" ),
202
+ Version .parse ("1.2.3+local" ),
203
+ Version .parse ("1.2.3+local" ),
194
204
),
195
205
],
196
206
)
0 commit comments