Skip to content

Commit 9c0d43f

Browse files
jyn514Joshua Nelson
authored and
Joshua Nelson
committed
split up unit tests
1 parent 644e03d commit 9c0d43f

File tree

1 file changed

+55
-21
lines changed

1 file changed

+55
-21
lines changed

src/web/mod.rs

Lines changed: 55 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -504,53 +504,87 @@ impl ToJson for MetaData {
504504

505505
#[cfg(test)]
506506
mod test {
507-
extern crate env_logger;
507+
use crate::test::*;
508+
use web::{match_version, MatchVersion};
509+
510+
fn release(version: &str, db: &TestDatabase) -> i32 {
511+
db.fake_release().name("foo").version(version).create().unwrap()
512+
}
513+
fn version(v: Option<&str>, db: &TestDatabase) -> MatchVersion {
514+
match_version(&db.conn(), "foo", v)
515+
}
508516

509517
#[test]
510518
fn test_index_returns_success() {
511-
crate::test::wrapper(|env| {
519+
wrapper(|env| {
512520
let web = env.frontend();
513521
assert!(web.get("/").send()?.status().is_success());
514522
Ok(())
515523
});
516524
}
517525

518526
#[test]
519-
fn test_match_version() {
520-
use web::{match_version, MatchVersion};
521-
522-
crate::test::wrapper(|env| {
527+
// https://github.com/rust-lang/docs.rs/issues/223
528+
fn prereleases_are_not_considered_for_semver() {
529+
wrapper(|env| {
523530
let db = env.db();
524-
let version = |v| match_version(&db.conn(), "foo", v);
525-
let release = |v| db.fake_release().name("foo").version(v).create().unwrap();
531+
let version = |v| version(v, db);
532+
let release = |v| release(v, db);
526533

527534
release("0.3.1-pre");
528535
assert_eq!(version(Some("*")), MatchVersion::Semver("0.3.1-pre".into()));
529536

530537
release("0.3.1-alpha");
531538
assert_eq!(version(Some("0.3.1-alpha")), MatchVersion::Exact("0.3.1-alpha".into()));
532539

533-
let release_id = release("0.3.0");
540+
release("0.3.0");
534541
let three = MatchVersion::Semver("0.3.0".into());
535-
assert_eq!(version(Some("*")), three);
536-
// same thing but make sure None behaves like we think it does
537542
assert_eq!(version(None), three);
543+
// same thing but with "*"
544+
assert_eq!(version(Some("*")), three);
538545
// make sure exact matches still work
539546
assert_eq!(version(Some("0.3.0")), MatchVersion::Exact("0.3.0".into()));
540547

541-
// https://github.com/rust-lang/docs.rs/issues/395
548+
Ok(())
549+
});
550+
}
551+
552+
#[test]
553+
// https://github.com/rust-lang/docs.rs/issues/221
554+
fn yanked_crates_are_not_considered() {
555+
wrapper(|env| {
556+
let db = env.db();
557+
558+
let release_id = release("0.3.0", db);
542559
let query = "UPDATE releases SET yanked = true WHERE id = $1 AND version = '0.3.0'";
543560
db.conn().query(query, &[&release_id]).unwrap();
544-
release("0.1.0+4.1");
545-
assert_eq!(version(Some("0.1.0+4.1")), MatchVersion::Exact("0.1.0+4.1".into()));
546-
assert_eq!(version(None), MatchVersion::Semver("0.1.0+4.1".into()));
547-
release("0.1.1");
548-
assert_eq!(version(None), MatchVersion::Semver("0.1.1".into()));
549-
release("0.5.1+zstd.1.4.4");
550-
assert_eq!(version(None), MatchVersion::Semver("0.5.1+zstd.1.4.4".into()));
551-
assert_eq!(version(Some("0.5.1+zstd.1.4.4")), MatchVersion::Exact("0.5.1+zstd.1.4.4".into()));
561+
assert_eq!(version(None, db), MatchVersion::None);
562+
assert_eq!(version(Some("0.3"), db), MatchVersion::None);
563+
564+
release("0.1.0+4.1", db);
565+
assert_eq!(version(Some("0.1.0+4.1"), db), MatchVersion::Exact("0.1.0+4.1".into()));
566+
assert_eq!(version(None, db), MatchVersion::Semver("0.1.0+4.1".into()));
552567

553568
Ok(())
554-
})
569+
});
570+
}
571+
572+
#[test]
573+
// vaguely related to https://github.com/rust-lang/docs.rs/issues/395
574+
fn metadata_has_no_effect() {
575+
wrapper(|env| {
576+
let db = env.db();
577+
578+
release("0.1.0+4.1", db);
579+
release("0.1.1", db);
580+
assert_eq!(version(None, db), MatchVersion::Semver("0.1.1".into()));
581+
582+
release("0.5.1+zstd.1.4.4", db);
583+
assert_eq!(version(None, db), MatchVersion::Semver("0.5.1+zstd.1.4.4".into()));
584+
assert_eq!(version(Some("0.5"), db), MatchVersion::Semver("0.5.1+zstd.1.4.4".into()));
585+
assert_eq!(version(Some("0.5.1+zstd.1.4.4"), db), MatchVersion::Exact("0.5.1+zstd.1.4.4".into()));
586+
587+
Ok(())
588+
});
555589
}
556590
}

0 commit comments

Comments
 (0)