2017-05-20 19:00:47 +08:00
|
|
|
extern crate mdbook;
|
|
|
|
extern crate tempdir;
|
|
|
|
|
|
|
|
use std::fs::File;
|
|
|
|
use std::io::Write;
|
|
|
|
|
|
|
|
use mdbook::MDBook;
|
|
|
|
use tempdir::TempDir;
|
|
|
|
|
2017-09-30 22:11:47 +08:00
|
|
|
// Tests that config values unspecified in the configuration file do not
|
|
|
|
// overwrite
|
2017-05-20 19:00:47 +08:00
|
|
|
// values specified earlier.
|
2017-09-30 22:11:47 +08:00
|
|
|
// #[test]
|
|
|
|
// fn do_not_overwrite_unspecified_config_values() {
|
|
|
|
// let dir = TempDir::new("mdbook").expect("Could not create a temp dir");
|
|
|
|
|
|
|
|
// let book = MDBook::new(dir.path())
|
|
|
|
// .with_source("bar")
|
|
|
|
// .with_destination("baz")
|
|
|
|
// .with_mathjax_support(true);
|
|
|
|
|
|
|
|
// assert_eq!(book.get_root(), dir.path());
|
|
|
|
// assert_eq!(book.get_source(), dir.path().join("bar"));
|
|
|
|
// assert_eq!(book.get_destination(), dir.path().join("baz"));
|
|
|
|
|
|
|
|
// // Test when trying to read a config file that does not exist
|
|
|
|
// let book = book.read_config().expect("Error reading the config file");
|
|
|
|
|
|
|
|
// assert_eq!(book.get_root(), dir.path());
|
|
|
|
// assert_eq!(book.get_source(), dir.path().join("bar"));
|
|
|
|
// assert_eq!(book.get_destination(), dir.path().join("baz"));
|
|
|
|
// assert_eq!(book.get_mathjax_support(), true);
|
|
|
|
|
|
|
|
// // Try with a partial config file
|
|
|
|
// let file_path = dir.path().join("book.toml");
|
|
|
|
// let mut f = File::create(file_path).expect("Could not create config
|
|
|
|
// file");
|
|
|
|
// f.write_all(br#"source = "barbaz""#).expect("Could not write to config
|
|
|
|
// file");
|
|
|
|
// f.sync_all().expect("Could not sync the file");
|
|
|
|
|
|
|
|
// let book = book.read_config().expect("Error reading the config file");
|
|
|
|
|
|
|
|
// assert_eq!(book.get_root(), dir.path());
|
|
|
|
// assert_eq!(book.get_source(), dir.path().join("barbaz"));
|
|
|
|
// assert_eq!(book.get_destination(), dir.path().join("baz"));
|
|
|
|
// assert_eq!(book.get_mathjax_support(), true);
|
|
|
|
// }
|