@@ -236,7 +236,7 @@ mod test {
236
236
}
237
237
238
238
#[ test]
239
- fn test_max_rust_version ( ) {
239
+ fn test_single_rust_version ( ) {
240
240
let mut vp = VersionPreferences :: default ( ) ;
241
241
vp. max_rust_version ( Some ( "1.50" . parse ( ) . unwrap ( ) ) ) ;
242
242
@@ -267,6 +267,38 @@ mod test {
267
267
) ;
268
268
}
269
269
270
+ #[ test]
271
+ fn test_multiple_rust_versions ( ) {
272
+ let mut vp = VersionPreferences :: default ( ) ;
273
+ vp. max_rust_version ( Some ( "1.45" . parse ( ) . unwrap ( ) ) ) ;
274
+
275
+ let mut summaries = vec ! [
276
+ summ( "foo" , "1.2.4" , None ) ,
277
+ summ( "foo" , "1.2.3" , Some ( "1.60" ) ) ,
278
+ summ( "foo" , "1.2.2" , None ) ,
279
+ summ( "foo" , "1.2.1" , Some ( "1.50" ) ) ,
280
+ summ( "foo" , "1.2.0" , None ) ,
281
+ summ( "foo" , "1.1.0" , Some ( "1.40" ) ) ,
282
+ summ( "foo" , "1.0.9" , None ) ,
283
+ ] ;
284
+
285
+ vp. version_ordering ( VersionOrdering :: MaximumVersionsFirst ) ;
286
+ vp. sort_summaries ( & mut summaries, None ) ;
287
+ assert_eq ! (
288
+ describe( & summaries) ,
289
+ "foo/1.2.4, foo/1.2.2, foo/1.2.0, foo/1.1.0, foo/1.0.9, foo/1.2.3, foo/1.2.1"
290
+ . to_string( )
291
+ ) ;
292
+
293
+ vp. version_ordering ( VersionOrdering :: MinimumVersionsFirst ) ;
294
+ vp. sort_summaries ( & mut summaries, None ) ;
295
+ assert_eq ! (
296
+ describe( & summaries) ,
297
+ "foo/1.0.9, foo/1.1.0, foo/1.2.0, foo/1.2.2, foo/1.2.4, foo/1.2.1, foo/1.2.3"
298
+ . to_string( )
299
+ ) ;
300
+ }
301
+
270
302
#[ test]
271
303
fn test_empty_summaries ( ) {
272
304
let vp = VersionPreferences :: default ( ) ;
0 commit comments