Merge pull request #54 from ashleygwilliams/readme-tests

feat(test): test readme is a copy
master
ashley williams 7 years ago committed by GitHub
commit beaf912f2f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      tests/manifest.rs
  2. 0
      tests/manifest_utils/mod.rs
  3. 23
      tests/readme.rs
  4. 12
      tests/readme_utils/mod.rs

@ -4,7 +4,7 @@ extern crate serde_derive;
extern crate serde_json; extern crate serde_json;
extern crate wasm_pack; extern crate wasm_pack;
mod utils; mod manifest_utils;
use std::fs; use std::fs;
@ -32,8 +32,8 @@ fn it_creates_a_package_json_default_path() {
assert!(manifest::write_package_json(&path).is_ok()); assert!(manifest::write_package_json(&path).is_ok());
let package_json_path = format!("{}/pkg/package.json", &path); let package_json_path = format!("{}/pkg/package.json", &path);
assert!(fs::metadata(package_json_path).is_ok()); assert!(fs::metadata(package_json_path).is_ok());
assert!(utils::read_package_json(&path).is_ok()); assert!(manifest_utils::read_package_json(&path).is_ok());
let pkg = utils::read_package_json(&path).unwrap(); let pkg = manifest_utils::read_package_json(&path).unwrap();
assert_eq!(pkg.name, "wasm-pack"); assert_eq!(pkg.name, "wasm-pack");
assert_eq!(pkg.repository.ty, "git"); assert_eq!(pkg.repository.ty, "git");
assert_eq!( assert_eq!(
@ -50,8 +50,8 @@ fn it_creates_a_package_json_provided_path() {
assert!(manifest::write_package_json(&path).is_ok()); assert!(manifest::write_package_json(&path).is_ok());
let package_json_path = format!("{}/pkg/package.json", &path); let package_json_path = format!("{}/pkg/package.json", &path);
assert!(fs::metadata(package_json_path).is_ok()); assert!(fs::metadata(package_json_path).is_ok());
assert!(utils::read_package_json(&path).is_ok()); assert!(manifest_utils::read_package_json(&path).is_ok());
let pkg = utils::read_package_json(&path).unwrap(); let pkg = manifest_utils::read_package_json(&path).unwrap();
assert_eq!(pkg.name, "js-hello-world"); assert_eq!(pkg.name, "js-hello-world");
assert_eq!(pkg.files, ["js_hello_world.js", "js_hello_world_bg.wasm"]); assert_eq!(pkg.files, ["js_hello_world.js", "js_hello_world_bg.wasm"]);
} }

@ -1,17 +1,32 @@
extern crate failure;
extern crate wasm_pack; extern crate wasm_pack;
mod readme_utils;
use std::fs; use std::fs;
use wasm_pack::readme; use wasm_pack::readme;
#[test] #[test]
fn it_copies_a_readme_default_path() { fn it_copies_a_readme_default_path() {
assert!(readme::copy_from_crate(".").is_ok()); let path = ".".to_string();
assert!(fs::metadata("./pkg/README.md").is_ok()); 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] #[test]
fn it_creates_a_package_json_provided_path() { fn it_creates_a_package_json_provided_path() {
assert!(readme::copy_from_crate("./examples/js-hello-world").is_ok()); let path = "./examples/js-hello-world".to_string();
assert!(fs::metadata("./examples/js-hello-world/pkg/README.md").is_ok()); 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);
} }

@ -0,0 +1,12 @@
use std::fs::File;
use std::io::Read;
use failure::Error;
pub fn read_file(path: &str) -> Result<String, Error> {
let mut file = File::open(path)?;
let mut contents = String::new();
file.read_to_string(&mut contents)?;
Ok(contents)
}
Loading…
Cancel
Save