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.
90 lines
2.4 KiB
90 lines
2.4 KiB
use crate::utils;
|
|
use assert_cmd::prelude::*;
|
|
use predicates::boolean::PredicateBooleanExt;
|
|
use predicates::prelude::predicate::str::contains;
|
|
use predicates::reflection::PredicateReflection;
|
|
use predicates::Predicate;
|
|
|
|
fn matches_info() -> impl Predicate<str> + PredicateReflection {
|
|
contains("[INFO]: Checking for the Wasm target...")
|
|
.and(contains("[INFO]: Compiling to Wasm..."))
|
|
.and(contains("[INFO]: License key is set in Cargo.toml but no LICENSE file(s) were found; Please add the LICENSE file(s) to your project directory"))
|
|
.and(contains("[INFO]: Optimizing wasm binaries with `wasm-opt`..."))
|
|
.and(contains("[INFO]: :-) Done in "))
|
|
.and(contains("[INFO]: :-) Your wasm pkg is ready to publish at "))
|
|
}
|
|
|
|
fn matches_warn() -> impl Predicate<str> + PredicateReflection {
|
|
contains("[WARN]: :-) origin crate has no README")
|
|
}
|
|
|
|
fn matches_cargo() -> impl Predicate<str> + PredicateReflection {
|
|
contains("Finished release [optimized] target(s) in ")
|
|
}
|
|
|
|
#[test]
|
|
fn quiet() {
|
|
utils::fixture::Fixture::new()
|
|
.cargo_toml("js-hello-world")
|
|
.hello_world_src_lib()
|
|
.wasm_pack()
|
|
.arg("--quiet")
|
|
.arg("build")
|
|
.assert()
|
|
.success()
|
|
.stdout("")
|
|
.stderr("");
|
|
}
|
|
|
|
#[test]
|
|
fn log_level_info() {
|
|
utils::fixture::Fixture::new()
|
|
.cargo_toml("js-hello-world")
|
|
.hello_world_src_lib()
|
|
.wasm_pack()
|
|
.arg("--log-level")
|
|
.arg("info")
|
|
.arg("build")
|
|
.assert()
|
|
.success()
|
|
.stdout("")
|
|
.stderr(matches_cargo().and(matches_warn()).and(matches_info()));
|
|
}
|
|
|
|
#[test]
|
|
fn log_level_warn() {
|
|
utils::fixture::Fixture::new()
|
|
.cargo_toml("js-hello-world")
|
|
.hello_world_src_lib()
|
|
.wasm_pack()
|
|
.arg("--log-level")
|
|
.arg("warn")
|
|
.arg("build")
|
|
.assert()
|
|
.success()
|
|
.stdout("")
|
|
.stderr(
|
|
matches_cargo()
|
|
.and(matches_warn())
|
|
.and(matches_info().not()),
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn log_level_error() {
|
|
utils::fixture::Fixture::new()
|
|
.cargo_toml("js-hello-world")
|
|
.hello_world_src_lib()
|
|
.wasm_pack()
|
|
.arg("--log-level")
|
|
.arg("error")
|
|
.arg("build")
|
|
.assert()
|
|
.success()
|
|
.stdout("")
|
|
.stderr(
|
|
matches_cargo()
|
|
.and(matches_warn().not())
|
|
.and(matches_info().not()),
|
|
);
|
|
}
|
|
|