From 5f227613aab6b782ddb7a531622e621a001ba052 Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Tue, 22 Apr 2025 11:10:20 -0700 Subject: [PATCH] Migrate copy theme default fonts to BookTest --- tests/rendered_output.rs | 25 --------------------- tests/testsuite/theme.rs | 47 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 25 deletions(-) diff --git a/tests/rendered_output.rs b/tests/rendered_output.rs index ff83051e..f9b4c48e 100644 --- a/tests/rendered_output.rs +++ b/tests/rendered_output.rs @@ -309,22 +309,6 @@ fn summary_with_markdown_formatting() { #[test] fn custom_fonts() { // Tests to ensure custom fonts are copied as expected. - let builtin_fonts = [ - "OPEN-SANS-LICENSE.txt", - "SOURCE-CODE-PRO-LICENSE.txt", - "fonts.css", - "open-sans-v17-all-charsets-300.woff2", - "open-sans-v17-all-charsets-300italic.woff2", - "open-sans-v17-all-charsets-600.woff2", - "open-sans-v17-all-charsets-600italic.woff2", - "open-sans-v17-all-charsets-700.woff2", - "open-sans-v17-all-charsets-700italic.woff2", - "open-sans-v17-all-charsets-800.woff2", - "open-sans-v17-all-charsets-800italic.woff2", - "open-sans-v17-all-charsets-italic.woff2", - "open-sans-v17-all-charsets-regular.woff2", - "source-code-pro-v11-all-charsets-500.woff2", - ]; let actual_files = |path: &Path| -> Vec { let mut actual: Vec<_> = path .read_dir() @@ -339,15 +323,6 @@ fn custom_fonts() { contents.contains("fonts/fonts.css") }; - // Full theme. - let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap(); - let p = temp.path(); - MDBook::init(p).copy_theme(true).build().unwrap(); - assert_eq!(actual_files(&p.join("theme/fonts")), &builtin_fonts); - MDBook::load(p).unwrap().build().unwrap(); - assert_eq!(actual_files(&p.join("book/fonts")), &builtin_fonts); - assert!(has_fonts_css(p)); - // Mixed with copy-fonts=true // Should ignore the copy-fonts setting since the user has provided their own fonts.css. let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap(); diff --git a/tests/testsuite/theme.rs b/tests/testsuite/theme.rs index 593fe073..c552d452 100644 --- a/tests/testsuite/theme.rs +++ b/tests/testsuite/theme.rs @@ -68,3 +68,50 @@ book/fonts/source-code-pro-v11-all-charsets-500.woff2 "#]], ); } + +// When the theme is initialized, what does the fonts list look like? +#[test] +fn theme_fonts_copied() { + BookTest::init(|bb| { + bb.copy_theme(true); + }) + .check_file_contains("book/index.html", "fonts/fonts.css") + .check_file_list( + "theme/fonts", + str![[r#" +theme/fonts/OPEN-SANS-LICENSE.txt +theme/fonts/SOURCE-CODE-PRO-LICENSE.txt +theme/fonts/fonts.css +theme/fonts/open-sans-v17-all-charsets-300.woff2 +theme/fonts/open-sans-v17-all-charsets-300italic.woff2 +theme/fonts/open-sans-v17-all-charsets-600.woff2 +theme/fonts/open-sans-v17-all-charsets-600italic.woff2 +theme/fonts/open-sans-v17-all-charsets-700.woff2 +theme/fonts/open-sans-v17-all-charsets-700italic.woff2 +theme/fonts/open-sans-v17-all-charsets-800.woff2 +theme/fonts/open-sans-v17-all-charsets-800italic.woff2 +theme/fonts/open-sans-v17-all-charsets-italic.woff2 +theme/fonts/open-sans-v17-all-charsets-regular.woff2 +theme/fonts/source-code-pro-v11-all-charsets-500.woff2 +"#]], + ) + .check_file_list( + "book/fonts", + str![[r#" +book/fonts/OPEN-SANS-LICENSE.txt +book/fonts/SOURCE-CODE-PRO-LICENSE.txt +book/fonts/fonts.css +book/fonts/open-sans-v17-all-charsets-300.woff2 +book/fonts/open-sans-v17-all-charsets-300italic.woff2 +book/fonts/open-sans-v17-all-charsets-600.woff2 +book/fonts/open-sans-v17-all-charsets-600italic.woff2 +book/fonts/open-sans-v17-all-charsets-700.woff2 +book/fonts/open-sans-v17-all-charsets-700italic.woff2 +book/fonts/open-sans-v17-all-charsets-800.woff2 +book/fonts/open-sans-v17-all-charsets-800italic.woff2 +book/fonts/open-sans-v17-all-charsets-italic.woff2 +book/fonts/open-sans-v17-all-charsets-regular.woff2 +book/fonts/source-code-pro-v11-all-charsets-500.woff2 +"#]], + ); +}