Skip to content

Commit 698f26b

Browse files
committed
test(resolver): Have unit test for multi-msrv
1 parent 5f07992 commit 698f26b

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

src/cargo/core/resolver/version_prefs.rs

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ mod test {
236236
}
237237

238238
#[test]
239-
fn test_max_rust_version() {
239+
fn test_single_rust_version() {
240240
let mut vp = VersionPreferences::default();
241241
vp.max_rust_version(Some("1.50".parse().unwrap()));
242242

@@ -267,6 +267,38 @@ mod test {
267267
);
268268
}
269269

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+
270302
#[test]
271303
fn test_empty_summaries() {
272304
let vp = VersionPreferences::default();

0 commit comments

Comments
 (0)