35 lines
1.1 KiB
Rust
35 lines
1.1 KiB
Rust
// filename: tests/integration.rs
|
|
|
|
mod integration {
|
|
use regex::Regex;
|
|
use std::process::Command;
|
|
use std::process::Output;
|
|
|
|
static WITHOUT_ARGS_OUTPUT: &'static str = " USAGE:
|
|
carman [FLAGS] [OPTIONS] <URL>
|
|
For more information try --help
|
|
";
|
|
|
|
#[test]
|
|
fn calling_carman_without_args_returns_result() {
|
|
let output = Command::new("./target/debug/carman")
|
|
.output()
|
|
.expect("failed to execute process");
|
|
let re = Regex::new(r"^Hello").unwrap();
|
|
assert!(re.is_match(&String::from_utf8_lossy(&output.stdout)));
|
|
}
|
|
|
|
#[test]
|
|
fn calling_carman_with_help_returns_usage() {
|
|
let output = Command::new("./target/debug/carman")
|
|
.arg("--help")
|
|
.output()
|
|
.expect("failed to execute process");
|
|
let re = Regex::new(r"^carman").unwrap();
|
|
assert!(re.is_match(&String::from_utf8_lossy(&output.stdout)));
|
|
let re = Regex::new(r"--help").unwrap();
|
|
assert!(re.is_match(&String::from_utf8_lossy(&output.stdout)));
|
|
}
|
|
|
|
}
|