extern crate mdbook; extern crate tempdir; use std::fs::File; use std::io::Write; use mdbook::MDBook; use tempdir::TempDir; // Tests that config values unspecified in the configuration file do not // overwrite // values specified earlier. // #[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); // }