Add a helper function for calling get_output
- ID
bab14ff- date
2021-11-27 08:06:25+00:00- author
Alex Chan <alex@alexwlchan.net>- parent
ab68e59- message
Add a helper function for calling get_output- changed files
1 file, 16 additions, 32 deletions
Changed files
src/main.rs (6750) → src/main.rs (6260)
diff --git a/src/main.rs b/src/main.rs
index 37ceff4..109be9b 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -97,6 +97,7 @@ fn main() {
#[cfg(test)]
mod tests {
use std::str;
+ use std::process::Output;
use assert_cmd::assert::OutputAssertExt;
use assert_cmd::Command;
@@ -106,14 +107,7 @@ mod tests {
#[test]
fn it_prints_the_color_with_ansi_escape_codes() {
- let mut cmd = Command::cargo_bin("dominant_colours").unwrap();
- let output = cmd
- .args(&["./src/tests/red.png", "--count=1"])
- .unwrap()
- .assert()
- .success()
- .get_output()
- .to_owned();
+ let output = get_output(&["./src/tests/red.png", "--count=1"]);
assert_eq!(output.status.code().unwrap(), 0);
@@ -129,14 +123,7 @@ mod tests {
#[test]
fn it_omits_the_escape_codes_with_no_palette() {
- let mut cmd = Command::cargo_bin("dominant_colours").unwrap();
- let output = cmd
- .args(&["./src/tests/red.png", "--count=1"])
- .unwrap()
- .assert()
- .success()
- .get_output()
- .to_owned();
+ let output = get_output(&["./src/tests/red.png", "--count=1"]);
assert_eq!(output.status.code().unwrap(), 0);
@@ -152,14 +139,7 @@ mod tests {
#[test]
fn it_defaults_to_five_colours() {
- let mut cmd = Command::cargo_bin("dominant_colours").unwrap();
- let output = cmd
- .args(&["./src/tests/noise.jpg"])
- .unwrap()
- .assert()
- .success()
- .get_output()
- .to_owned();
+ let output = get_output(&["./src/tests/noise.jpg"]);
let stdout = str::from_utf8(&output.stdout).unwrap();
assert_eq!(stdout.matches("\n").count(), 5, "stdout = {:?}", stdout);
@@ -167,14 +147,7 @@ mod tests {
#[test]
fn it_lets_you_choose_the_count() {
- let mut cmd = Command::cargo_bin("dominant_colours").unwrap();
- let output = cmd
- .args(&["./src/tests/noise.jpg", "--count=8"])
- .unwrap()
- .assert()
- .success()
- .get_output()
- .to_owned();
+ let output = get_output(&["./src/tests/noise.jpg", "--count=8"]);
let stdout = str::from_utf8(&output.stdout).unwrap();
assert_eq!(stdout.matches("\n").count(), 8, "stdout = {:?}", stdout);
@@ -194,4 +167,15 @@ mod tests {
assert_eq!(str::from_utf8(&output.stdout).unwrap(), "");
assert_eq!(str::from_utf8(&output.stderr).unwrap(), "error: Invalid value: The argument 'NaN' isn't a valid value\n");
}
+
+ fn get_output(args: &[&str]) -> Output {
+ let mut cmd = Command::cargo_bin("dominant_colours").unwrap();
+ cmd
+ .args(args)
+ .unwrap()
+ .assert()
+ .success()
+ .get_output()
+ .to_owned()
+ }
}