fork of https://github.com/rustwasm/wasm-pack for the needs of NextGraph.org
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
![]() |
1 year ago | |
---|---|---|
.. | ||
utils | 1 year ago | |
build.rs | 2 years ago | |
download.rs | 2 years ago | |
generate.rs | 2 years ago | |
license.rs | 2 years ago | |
lockfile.rs | 2 years ago | |
log_level.rs | 2 years ago | |
main.rs | 2 years ago | |
manifest.rs | 1 year ago | |
readme.rs | 2 years ago | |
stamps.rs | 6 years ago | |
test.rs | 2 years ago | |
wasm_opt.rs | 2 years ago | |
webdriver.rs | 2 years ago |
readme.rs
extern crate anyhow;
extern crate wasm_pack;
use std::fs;
use crate::utils::{self, fixture};
use assert_cmd::prelude::*;
use predicates::boolean::PredicateBooleanExt;
use wasm_pack::manifest::CrateData;
use wasm_pack::readme;
#[test]
fn it_copies_a_readme_default_path() {
let fixture = fixture::js_hello_world();
let out_dir = fixture.path.join("pkg");
fs::create_dir(&out_dir).expect("should create pkg directory OK");
let crate_data = CrateData::new(&fixture.path, None).unwrap();
assert!(readme::copy_from_crate(&crate_data, &fixture.path, &out_dir).is_ok());
let crate_readme_path = fixture.path.join("README.md");
let pkg_readme_path = out_dir.join("README.md");
println!(
"wasm-pack: should have copied README.md from '{}' to '{}'",
crate_readme_path.display(),
pkg_readme_path.display()
);
assert!(fs::metadata(&crate_readme_path).is_ok());
assert!(fs::metadata(&pkg_readme_path).is_ok());
let crate_readme = utils::file::read_file(&crate_readme_path).unwrap();
let pkg_readme = utils::file::read_file(&pkg_readme_path).unwrap();
assert_eq!(crate_readme, pkg_readme);
}
#[test]
fn it_copies_a_readme_provided_path() {
let fixture = fixture::Fixture::new();
fixture
.hello_world_src_lib()
.file(
"Cargo.toml",
r#"
[package]
authors = ["The wasm-pack developers"]
description = "so awesome rust+wasm package"
license = "WTFPL"
name = "js-hello-world"
readme = "docs/README.md"
repository = "https://github.com/rustwasm/wasm-pack.git"
version = "0.1.0"
[lib]
crate-type = ["cdylib"]
[dependencies]
# Note that this uses and `=` dependency because there are
# various tests which assert that the version of wasm
# bindgen downloaded is what we expect, and if `=` is
# removed then it will download whatever the newest version
# of wasm-bindgen is which may not be what's listed here.
wasm-bindgen = "=0.2.74"
[dev-dependencies]
wasm-bindgen-test = "0.3"
"#,
)
.file(
"docs/README.md",
r#"
# Fixture!
> an example rust -> wasm project
"#,
);
let crate_docs_dir = fixture.path.join("docs");
let out_dir = fixture.path.join("pkg");
fs::create_dir(&out_dir).expect("should create pkg directory OK");
let crate_data = CrateData::new(&fixture.path, None).unwrap();
assert!(readme::copy_from_crate(&crate_data, &fixture.path, &out_dir).is_ok());
let crate_readme_path = crate_docs_dir.join("README.md");
let pkg_readme_path = out_dir.join("README.md");
println!(
"wasm-pack: should have copied README.md from '{}' to '{}'",
crate_readme_path.display(),
pkg_readme_path.display()
);
assert!(fs::metadata(&crate_readme_path).is_ok());
assert!(fs::metadata(&pkg_readme_path).is_ok());
let crate_readme = utils::file::read_file(&crate_readme_path).unwrap();
let pkg_readme = utils::file::read_file(&pkg_readme_path).unwrap();
assert_eq!(crate_readme, pkg_readme);
}
#[test]
fn it_ignores_a_disabled_readme() {
let fixture = fixture::Fixture::new();
fixture
.hello_world_src_lib()
.file(
"Cargo.toml",
r#"
[package]
authors = ["The wasm-pack developers"]
description = "so awesome rust+wasm package"
name = "js-hello-world"
readme = false
repository = "https://github.com/rustwasm/wasm-pack.git"
version = "0.1.0"
[lib]
crate-type = ["cdylib"]
[dependencies]
# Note that this uses and `=` dependency because there are
# various tests which assert that the version of wasm
# bindgen downloaded is what we expect, and if `=` is
# removed then it will download whatever the newest version
# of wasm-bindgen is which may not be what's listed here.
wasm-bindgen = "=0.2.74"
[dev-dependencies]
wasm-bindgen-test = "0.3"
"#,
)
.license()
.wasm_pack()
.arg("build")
.assert()
.success()
.stderr(predicates::str::contains("origin crate has no README").not());
}