2017-07-10 10:17:19 +00:00
|
|
|
extern crate mdbook;
|
|
|
|
extern crate tempdir;
|
|
|
|
|
|
|
|
use tempdir::TempDir;
|
|
|
|
use mdbook::MDBook;
|
|
|
|
|
|
|
|
|
2017-08-02 14:29:28 +00:00
|
|
|
/// Run `mdbook init` in an empty directory and make sure the default files
|
|
|
|
/// are created.
|
2017-07-10 10:17:19 +00:00
|
|
|
#[test]
|
2017-08-02 14:29:28 +00:00
|
|
|
fn base_mdbook_init_should_create_default_content() {
|
2017-07-10 10:17:19 +00:00
|
|
|
let created_files = vec!["book", "src", "src/SUMMARY.md", "src/chapter_1.md"];
|
|
|
|
|
|
|
|
let temp = TempDir::new("mdbook").unwrap();
|
|
|
|
for file in &created_files {
|
|
|
|
assert!(!temp.path().join(file).exists());
|
|
|
|
}
|
|
|
|
|
|
|
|
let mut md = MDBook::new(temp.path());
|
|
|
|
md.init().unwrap();
|
|
|
|
|
|
|
|
for file in &created_files {
|
|
|
|
assert!(temp.path().join(file).exists(), "{} doesn't exist", file);
|
|
|
|
}
|
|
|
|
}
|
2017-07-10 10:23:51 +00:00
|
|
|
|
2017-08-02 14:29:28 +00:00
|
|
|
/// Set some custom arguments for where to place the source and destination
|
|
|
|
/// files, then call `mdbook init`.
|
2017-07-10 10:23:51 +00:00
|
|
|
#[test]
|
2017-08-02 14:29:28 +00:00
|
|
|
fn run_mdbook_init_with_custom_book_and_src_locations() {
|
2017-07-10 10:23:51 +00:00
|
|
|
let created_files = vec!["out", "in", "in/SUMMARY.md", "in/chapter_1.md"];
|
|
|
|
|
|
|
|
let temp = TempDir::new("mdbook").unwrap();
|
|
|
|
for file in &created_files {
|
2017-08-02 14:29:28 +00:00
|
|
|
assert!(!temp.path().join(file).exists(), "{} shouldn't exist yet!", file);
|
2017-07-10 10:23:51 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
let mut md = MDBook::new(temp.path())
|
|
|
|
.with_source("in")
|
|
|
|
.with_destination("out");
|
|
|
|
|
|
|
|
md.init().unwrap();
|
|
|
|
|
|
|
|
for file in &created_files {
|
2017-08-02 14:29:28 +00:00
|
|
|
assert!(temp.path().join(file).exists(), "{} should have been created by `mdbook init`", file);
|
2017-07-10 10:23:51 +00:00
|
|
|
}
|
|
|
|
}
|