commit
846b989b9a
@ -0,0 +1,91 @@ |
||||
use assert_cmd::prelude::*; |
||||
use predicates::boolean::PredicateBooleanExt; |
||||
use predicates::prelude::predicate::str::contains; |
||||
use predicates::reflection::PredicateReflection; |
||||
use predicates::Predicate; |
||||
use utils; |
||||
|
||||
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]: Installing wasm-bindgen...")) |
||||
.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()), |
||||
); |
||||
} |
Loading…
Reference in new issue