@@ -96,7 +96,6 @@ impl VersionPreferences {
96
96
mod test {
97
97
use super :: * ;
98
98
use crate :: core:: SourceId ;
99
- use crate :: util:: RustVersion ;
100
99
use std:: collections:: BTreeMap ;
101
100
102
101
fn pkgid ( name : & str , version : & str ) -> PackageId {
@@ -111,15 +110,15 @@ mod test {
111
110
Dependency :: parse ( name, Some ( version) , src_id) . unwrap ( )
112
111
}
113
112
114
- fn summ ( name : & str , version : & str ) -> Summary {
113
+ fn summ ( name : & str , version : & str , msrv : Option < & str > ) -> Summary {
115
114
let pkg_id = pkgid ( name, version) ;
116
115
let features = BTreeMap :: new ( ) ;
117
116
Summary :: new (
118
117
pkg_id,
119
118
Vec :: new ( ) ,
120
119
& features,
121
120
None :: < & String > ,
122
- None :: < RustVersion > ,
121
+ msrv . map ( |m| m . parse ( ) . unwrap ( ) ) ,
123
122
)
124
123
. unwrap ( )
125
124
}
@@ -138,10 +137,10 @@ mod test {
138
137
vp. prefer_package_id ( pkgid ( "foo" , "1.2.3" ) ) ;
139
138
140
139
let mut summaries = vec ! [
141
- summ( "foo" , "1.2.4" ) ,
142
- summ( "foo" , "1.2.3" ) ,
143
- summ( "foo" , "1.1.0" ) ,
144
- summ( "foo" , "1.0.9" ) ,
140
+ summ( "foo" , "1.2.4" , None ) ,
141
+ summ( "foo" , "1.2.3" , None ) ,
142
+ summ( "foo" , "1.1.0" , None ) ,
143
+ summ( "foo" , "1.0.9" , None ) ,
145
144
] ;
146
145
147
146
vp. version_ordering ( VersionOrdering :: MaximumVersionsFirst ) ;
@@ -165,10 +164,10 @@ mod test {
165
164
vp. prefer_dependency ( dep ( "foo" , "=1.2.3" ) ) ;
166
165
167
166
let mut summaries = vec ! [
168
- summ( "foo" , "1.2.4" ) ,
169
- summ( "foo" , "1.2.3" ) ,
170
- summ( "foo" , "1.1.0" ) ,
171
- summ( "foo" , "1.0.9" ) ,
167
+ summ( "foo" , "1.2.4" , None ) ,
168
+ summ( "foo" , "1.2.3" , None ) ,
169
+ summ( "foo" , "1.1.0" , None ) ,
170
+ summ( "foo" , "1.0.9" , None ) ,
172
171
] ;
173
172
174
173
vp. version_ordering ( VersionOrdering :: MaximumVersionsFirst ) ;
@@ -193,10 +192,10 @@ mod test {
193
192
vp. prefer_dependency ( dep ( "foo" , "=1.1.0" ) ) ;
194
193
195
194
let mut summaries = vec ! [
196
- summ( "foo" , "1.2.4" ) ,
197
- summ( "foo" , "1.2.3" ) ,
198
- summ( "foo" , "1.1.0" ) ,
199
- summ( "foo" , "1.0.9" ) ,
195
+ summ( "foo" , "1.2.4" , None ) ,
196
+ summ( "foo" , "1.2.3" , None ) ,
197
+ summ( "foo" , "1.1.0" , None ) ,
198
+ summ( "foo" , "1.0.9" , None ) ,
200
199
] ;
201
200
202
201
vp. version_ordering ( VersionOrdering :: MaximumVersionsFirst ) ;
@@ -213,4 +212,31 @@ mod test {
213
212
"foo/1.1.0, foo/1.2.3, foo/1.0.9, foo/1.2.4" . to_string( )
214
213
) ;
215
214
}
215
+
216
+ #[ test]
217
+ fn test_max_rust_version ( ) {
218
+ let mut vp = VersionPreferences :: default ( ) ;
219
+ vp. max_rust_version ( Some ( "1.50" . parse ( ) . unwrap ( ) ) ) ;
220
+
221
+ let mut summaries = vec ! [
222
+ summ( "foo" , "1.2.4" , Some ( "1.60" ) ) ,
223
+ summ( "foo" , "1.2.3" , Some ( "1.50" ) ) ,
224
+ summ( "foo" , "1.1.0" , Some ( "1.40" ) ) ,
225
+ summ( "foo" , "1.0.9" , None ) ,
226
+ ] ;
227
+
228
+ vp. version_ordering ( VersionOrdering :: MaximumVersionsFirst ) ;
229
+ vp. sort_summaries ( & mut summaries, None ) ;
230
+ assert_eq ! (
231
+ describe( & summaries) ,
232
+ "foo/1.2.3, foo/1.1.0, foo/1.0.9" . to_string( )
233
+ ) ;
234
+
235
+ vp. version_ordering ( VersionOrdering :: MinimumVersionsFirst ) ;
236
+ vp. sort_summaries ( & mut summaries, None ) ;
237
+ assert_eq ! (
238
+ describe( & summaries) ,
239
+ "foo/1.0.9, foo/1.1.0, foo/1.2.3" . to_string( )
240
+ ) ;
241
+ }
216
242
}
0 commit comments