Migrate custom fonts with filled fonts.css to BookTest

This commit is contained in:
Eric Huss 2025-04-22 11:13:39 -07:00
parent bdd16e25fa
commit 707319e004
6 changed files with 25 additions and 35 deletions

View file

@ -305,38 +305,3 @@ fn summary_with_markdown_formatting() {
"# <escaped tag>\n"
);
}
#[test]
fn custom_fonts() {
// Tests to ensure custom fonts are copied as expected.
let actual_files = |path: &Path| -> Vec<String> {
let mut actual: Vec<_> = path
.read_dir()
.unwrap()
.map(|entry| entry.unwrap().file_name().into_string().unwrap())
.collect();
actual.sort();
actual
};
let has_fonts_css = |path: &Path| -> bool {
let contents = fs::read_to_string(path.join("book/index.html")).unwrap();
contents.contains("fonts/fonts.css")
};
// copy-fonts=false with fonts theme
let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
let p = temp.path();
MDBook::init(p).build().unwrap();
write_file(&p.join("theme/fonts"), "fonts.css", b"/*custom*/").unwrap();
write_file(&p.join("theme/fonts"), "myfont.woff", b"").unwrap();
let config = Config::from_str("output.html.copy-fonts = false").unwrap();
MDBook::load_with_config(p, config)
.unwrap()
.build()
.unwrap();
assert!(has_fonts_css(p));
assert_eq!(
actual_files(&p.join("book/fonts")),
&["fonts.css", "myfont.woff"]
);
}

View file

@ -170,3 +170,24 @@ fn copy_fonts_false_with_empty_fonts_css() {
.check_file_doesnt_contain("book/index.html", "fonts.css")
.check_file_list("book/fonts", str![[""]]);
}
// copy-fonts=false, fonts.css has contents
#[test]
fn copy_fonts_false_with_fonts_css() {
BookTest::from_dir("theme/copy_fonts_false_with_fonts_css")
.run("build", |cmd| {
cmd.expect_stderr(str![[r#"
[TIMESTAMP] [INFO] (mdbook::book): Book building has started
[TIMESTAMP] [INFO] (mdbook::book): Running the html backend
"#]]);
})
.check_file_contains("book/index.html", "fonts.css")
.check_file_list(
"book/fonts",
str![[r#"
book/fonts/fonts.css
book/fonts/myfont.woff
"#]],
);
}

View file

@ -0,0 +1,2 @@
[output.html]
copy-fonts = false

View file

@ -0,0 +1 @@
- [Intro](index.md)

View file

@ -0,0 +1 @@
/*custom*/