Skip to content

Commit

Permalink
admin::render_readmes: Support Cargo.toml without readme field
Browse files Browse the repository at this point in the history
  • Loading branch information
nipunn1313 committed Oct 1, 2021
1 parent 1e06b83 commit 6a67076
Showing 1 changed file with 23 additions and 2 deletions.
25 changes: 23 additions & 2 deletions src/admin/render_readmes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -210,12 +210,16 @@ fn render_pkg_readme<R: Read>(mut archive: Archive<R>, pkg_name: &str) -> Option
};

let rendered = {
let readme_path = manifest.package.readme.as_ref()?;
let readme_path = manifest
.package
.readme
.clone()
.unwrap_or("README.md".into());
let path = format!("{}/{}", pkg_name, readme_path);
let contents = find_file_by_path(&mut entries, Path::new(&path), pkg_name)?;
text_to_html(
&contents,
readme_path,
&readme_path,
manifest.package.repository.as_deref(),
)
};
Expand Down Expand Up @@ -304,6 +308,23 @@ readme = "README.md"
assert!(render_pkg_readme(tar::Archive::new(&*serialized_archive), "foo-0.0.1").is_none());
}

#[test]
fn test_render_pkg_implicit_readme() {
let mut pkg = tar::Builder::new(vec![]);
add_file(
&mut pkg,
"foo-0.0.1/Cargo.toml",
br#"
[package]
"#,
);
add_file(&mut pkg, "foo-0.0.1/README.md", b"readme");
let serialized_archive = pkg.into_inner().unwrap();
let result =
render_pkg_readme(tar::Archive::new(&*serialized_archive), "foo-0.0.1").unwrap();
assert!(result.contains("readme"))
}

#[test]
fn test_render_pkg_readme_w_link() {
let mut pkg = tar::Builder::new(vec![]);
Expand Down

0 comments on commit 6a67076

Please sign in to comment.