-
Notifications
You must be signed in to change notification settings - Fork 422
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #231 from csmoe/utils
Split utils into submods
- Loading branch information
Showing
7 changed files
with
98 additions
and
101 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
use std::fs::File; | ||
use std::io::Read; | ||
use std::path::Path; | ||
|
||
use failure::Error; | ||
|
||
pub fn read_file(path: &Path) -> Result<String, Error> { | ||
let mut file = File::open(path)?; | ||
let mut contents = String::new(); | ||
file.read_to_string(&mut contents)?; | ||
|
||
Ok(contents) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
use std::path::{Path, PathBuf}; | ||
|
||
use copy_dir::copy_dir; | ||
use tempfile; | ||
|
||
pub struct Fixture { | ||
pub dir: tempfile::TempDir, | ||
pub path: PathBuf, | ||
} | ||
|
||
/// Copy the given fixture into a unique temporary directory. This allows the | ||
/// test to mutate the copied fixture without messing up other tests that are | ||
/// also trying to read from or write to that fixture. The given path should be | ||
/// relative from the root of the repository, eg | ||
/// "tests/fixtures/im-from-brooklyn-the-place-where-stars-are-born". | ||
pub fn fixture<P>(fixture: P) -> Fixture | ||
where | ||
P: AsRef<Path>, | ||
{ | ||
let fixture = fixture | ||
.as_ref() | ||
.canonicalize() | ||
.expect("should canonicalize fixture path OK"); | ||
let dir = tempfile::tempdir().expect("should create temporary directory OK"); | ||
let path = dir.path().join("wasm-pack"); | ||
println!( | ||
"wasm-pack: copying test fixture '{}' to temporary directory '{}'", | ||
fixture.display(), | ||
path.display() | ||
); | ||
copy_dir(fixture, &path).expect("should copy fixture directory into temporary directory OK"); | ||
Fixture { dir, path } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
use std::fs::File; | ||
use std::io::prelude::*; | ||
use std::path::Path; | ||
|
||
use failure::Error; | ||
use serde_json; | ||
|
||
#[derive(Deserialize)] | ||
pub struct NpmPackage { | ||
pub name: String, | ||
pub description: String, | ||
pub version: String, | ||
pub license: String, | ||
pub repository: Repository, | ||
pub files: Vec<String>, | ||
pub main: String, | ||
pub types: Option<String>, | ||
} | ||
|
||
#[derive(Deserialize)] | ||
pub struct Repository { | ||
#[serde(rename = "type")] | ||
pub ty: String, | ||
pub url: String, | ||
} | ||
|
||
pub fn read_package_json(path: &Path) -> Result<NpmPackage, Error> { | ||
let manifest_path = path.join("pkg").join("package.json"); | ||
let mut pkg_file = File::open(manifest_path)?; | ||
let mut pkg_contents = String::new(); | ||
pkg_file.read_to_string(&mut pkg_contents)?; | ||
|
||
Ok(serde_json::from_str(&pkg_contents)?) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
pub mod file; | ||
pub mod fixture; | ||
pub mod manifest; |