51 lines
1.7 KiB
Rust
51 lines
1.7 KiB
Rust
use mdbook::MDBook;
|
|
use pretty_assertions::assert_eq;
|
|
use tempfile::Builder as TempFileBuilder;
|
|
|
|
#[test]
|
|
fn copy_theme() {
|
|
let temp = TempFileBuilder::new().prefix("mdbook").tempdir().unwrap();
|
|
MDBook::init(temp.path()).copy_theme(true).build().unwrap();
|
|
let expected = vec![
|
|
"book.js",
|
|
"css/chrome.css",
|
|
"css/general.css",
|
|
"css/print.css",
|
|
"css/variables.css",
|
|
"favicon.png",
|
|
"favicon.svg",
|
|
"fonts/OPEN-SANS-LICENSE.txt",
|
|
"fonts/SOURCE-CODE-PRO-LICENSE.txt",
|
|
"fonts/fonts.css",
|
|
"fonts/open-sans-v17-all-charsets-300.woff2",
|
|
"fonts/open-sans-v17-all-charsets-300italic.woff2",
|
|
"fonts/open-sans-v17-all-charsets-600.woff2",
|
|
"fonts/open-sans-v17-all-charsets-600italic.woff2",
|
|
"fonts/open-sans-v17-all-charsets-700.woff2",
|
|
"fonts/open-sans-v17-all-charsets-700italic.woff2",
|
|
"fonts/open-sans-v17-all-charsets-800.woff2",
|
|
"fonts/open-sans-v17-all-charsets-800italic.woff2",
|
|
"fonts/open-sans-v17-all-charsets-italic.woff2",
|
|
"fonts/open-sans-v17-all-charsets-regular.woff2",
|
|
"fonts/source-code-pro-v11-all-charsets-500.woff2",
|
|
"highlight.css",
|
|
"highlight.js",
|
|
"index.hbs",
|
|
];
|
|
let theme_dir = temp.path().join("theme");
|
|
let mut actual: Vec<_> = walkdir::WalkDir::new(&theme_dir)
|
|
.into_iter()
|
|
.filter_map(|e| e.ok())
|
|
.filter(|e| !e.file_type().is_dir())
|
|
.map(|e| {
|
|
e.path()
|
|
.strip_prefix(&theme_dir)
|
|
.unwrap()
|
|
.to_str()
|
|
.unwrap()
|
|
.replace('\\', "/")
|
|
})
|
|
.collect();
|
|
actual.sort();
|
|
assert_eq!(actual, expected);
|
|
}
|