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.
44 lines
998 B
44 lines
998 B
3 years ago
|
use u_lib::{models::JobOutput, utils::vec_to_string};
|
||
|
|
||
|
const STDOUT: &str = "<***STDOUT***>";
|
||
|
const STDERR: &str = "<***STDERR***>";
|
||
|
|
||
|
#[test_case(
|
||
|
"lol",
|
||
|
"kek",
|
||
|
&format!("{}lol{}kek", STDOUT, STDERR)
|
||
|
;"stdout stderr"
|
||
|
)]
|
||
|
#[test_case(
|
||
|
"",
|
||
|
"kek",
|
||
|
&format!("{}kek", STDERR)
|
||
|
;"stderr"
|
||
|
)]
|
||
|
fn test_to_combined(stdout: &str, stderr: &str, result: &str) {
|
||
|
let output = JobOutput::new()
|
||
|
.stdout(stdout.as_bytes().to_vec())
|
||
|
.stderr(stderr.as_bytes().to_vec());
|
||
|
assert_eq!(&vec_to_string(&output.into_combined()), result)
|
||
|
}
|
||
|
|
||
|
#[test_case(
|
||
|
&format!("{}lal{}kik", STDOUT, STDERR),
|
||
|
"lal\nkik"
|
||
|
;"stdout stderr"
|
||
|
)]
|
||
|
#[test_case(
|
||
|
&format!("{}qeq", STDOUT),
|
||
|
"qeq"
|
||
|
;"stdout"
|
||
|
)]
|
||
|
#[test_case(
|
||
|
&format!("{}vev", STDERR),
|
||
|
"vev"
|
||
|
;"stderr"
|
||
|
)]
|
||
|
fn test_from_combined(src: &str, result: &str) {
|
||
|
let output = JobOutput::from_combined(src.as_bytes()).unwrap();
|
||
|
assert_eq!(vec_to_string(&output.to_appropriate()).trim(), result);
|
||
|
}
|