From 5ecd6365f87a904e6185d19db0a2042d272bfdf6 Mon Sep 17 00:00:00 2001 From: Ashley Williams Date: Wed, 14 Mar 2018 11:07:57 +0100 Subject: [PATCH] feat(test): test readme is a copy --- tests/readme.rs | 23 +++++++++++++++++++---- tests/readme_utils/mod.rs | 12 ++++++++++++ 2 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 tests/readme_utils/mod.rs diff --git a/tests/readme.rs b/tests/readme.rs index 783593a..4e3b6a3 100644 --- a/tests/readme.rs +++ b/tests/readme.rs @@ -1,17 +1,32 @@ +extern crate failure; extern crate wasm_pack; +mod readme_utils; + use std::fs; use wasm_pack::readme; #[test] fn it_copies_a_readme_default_path() { - assert!(readme::copy_from_crate(".").is_ok()); - assert!(fs::metadata("./pkg/README.md").is_ok()); + let path = ".".to_string(); + assert!(readme::copy_from_crate(&path).is_ok()); + let crate_readme_path = format!("{}/README.md", &path); + let pkg_readme_path = format!("{}/pkg/README.md", &path); + assert!(fs::metadata(&pkg_readme_path).is_ok()); + let crate_readme = readme_utils::read_file(&crate_readme_path).unwrap(); + let pkg_readme = readme_utils::read_file(&pkg_readme_path).unwrap(); + assert_eq!(crate_readme, pkg_readme); } #[test] fn it_creates_a_package_json_provided_path() { - assert!(readme::copy_from_crate("./examples/js-hello-world").is_ok()); - assert!(fs::metadata("./examples/js-hello-world/pkg/README.md").is_ok()); + let path = "./examples/js-hello-world".to_string(); + assert!(readme::copy_from_crate(&path).is_ok()); + let crate_readme_path = format!("{}/README.md", &path); + let pkg_readme_path = format!("{}/pkg/README.md", &path); + assert!(fs::metadata(&pkg_readme_path).is_ok()); + let crate_readme = readme_utils::read_file(&crate_readme_path).unwrap(); + let pkg_readme = readme_utils::read_file(&pkg_readme_path).unwrap(); + assert_eq!(crate_readme, pkg_readme); } diff --git a/tests/readme_utils/mod.rs b/tests/readme_utils/mod.rs new file mode 100644 index 0000000..64f8519 --- /dev/null +++ b/tests/readme_utils/mod.rs @@ -0,0 +1,12 @@ +use std::fs::File; +use std::io::Read; + +use failure::Error; + +pub fn read_file(path: &str) -> Result { + let mut file = File::open(path)?; + let mut contents = String::new(); + file.read_to_string(&mut contents)?; + + Ok(contents) +}