Skip to content

Commit 1e06b83

Browse files
committed
admin::render_readmes: Support packages without READMEs
1 parent e48c5fe commit 1e06b83

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/admin/render_readmes.rs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,8 +212,7 @@ fn render_pkg_readme<R: Read>(mut archive: Archive<R>, pkg_name: &str) -> Option
212212
let rendered = {
213213
let readme_path = manifest.package.readme.as_ref()?;
214214
let path = format!("{}/{}", pkg_name, readme_path);
215-
let contents = find_file_by_path(&mut entries, Path::new(&path), pkg_name)
216-
.unwrap_or_else(|| panic!("[{}] couldn't open file: {}", pkg_name, readme_path));
215+
let contents = find_file_by_path(&mut entries, Path::new(&path), pkg_name)?;
217216
text_to_html(
218217
&contents,
219218
readme_path,
@@ -291,6 +290,20 @@ readme = "README.md"
291290
assert!(result.contains("readme"))
292291
}
293292

293+
#[test]
294+
fn test_render_pkg_no_readme() {
295+
let mut pkg = tar::Builder::new(vec![]);
296+
add_file(
297+
&mut pkg,
298+
"foo-0.0.1/Cargo.toml",
299+
br#"
300+
[package]
301+
"#,
302+
);
303+
let serialized_archive = pkg.into_inner().unwrap();
304+
assert!(render_pkg_readme(tar::Archive::new(&*serialized_archive), "foo-0.0.1").is_none());
305+
}
306+
294307
#[test]
295308
fn test_render_pkg_readme_w_link() {
296309
let mut pkg = tar::Builder::new(vec![]);

0 commit comments

Comments
 (0)