1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use std::process::Output;
use crate::{assertion_hook::NoOpAssertionHook, Should};
impl<'a> Should<'a, Output> {
pub fn succeed(mut self) -> Should<'a, Output, NoOpAssertionHook> {
self.internal_assert(
self.inner.status.success(),
"command was not a success".to_string(),
);
self.normalize()
}
pub fn code(mut self, expected: i32) -> Should<'a, Output, NoOpAssertionHook> {
let actual = self.inner.status.code();
self.internal_assert(
actual == Some(expected),
format!("{:?} did not equal {}", actual, expected),
);
self.normalize()
}
pub fn stdout(mut self, bytes: &[u8]) -> Should<'a, Output, NoOpAssertionHook> {
self.internal_assert(
self.inner.stdout.as_slice() == bytes,
format!("{:?} did not equal {:?}", self.inner.stdout, bytes),
);
self.normalize()
}
pub fn stderr(mut self, bytes: &[u8]) -> Should<'a, Output, NoOpAssertionHook> {
self.internal_assert(
self.inner.stderr.as_slice() == bytes,
format!("{:?} did not equal {:?}", self.inner.stdout, bytes),
);
self.normalize()
}
}