Tests for turning colours on/off

This commit is contained in:
Benjamin Sago 2017-08-25 09:03:47 +01:00
parent a581c871ed
commit 974ddc0e63

View File

@ -162,6 +162,15 @@ mod colour_test {
&flags::COLOR_SCALE, &flags::COLOUR_SCALE ];
macro_rules! test {
($name:ident: $type:ident <- $inputs:expr, $widther:expr; $stricts:expr => $result:expr) => {
#[test]
fn $name() {
for result in parse_for_test($inputs.as_ref(), TEST_ARGS, $stricts, |mf| $type::deduce(mf, &$widther)) {
assert_eq!(result, $result);
}
}
};
($name:ident: $type:ident <- $inputs:expr, $widther:expr; $stricts:expr => err $result:expr) => {
#[test]
fn $name() {
@ -185,6 +194,15 @@ mod colour_test {
};
}
test!(width_1: Colours <- ["--colour", "always"], || Some(80); Both => Ok(Colours::colourful(false)));
test!(width_2: Colours <- ["--colour", "always"], || None; Both => Ok(Colours::colourful(false)));
test!(width_3: Colours <- ["--colour", "never"], || Some(80); Both => Ok(Colours::plain()));
test!(width_4: Colours <- ["--colour", "never"], || None; Both => Ok(Colours::plain()));
test!(width_5: Colours <- ["--colour", "automatic"], || Some(80); Both => Ok(Colours::colourful(false)));
test!(width_6: Colours <- ["--colour", "automatic"], || None; Both => Ok(Colours::plain()));
test!(width_7: Colours <- [], || Some(80); Both => Ok(Colours::colourful(false)));
test!(width_8: Colours <- [], || None; Both => Ok(Colours::plain()));
test!(scale_1: Colours <- ["--color=always", "--color-scale", "--colour-scale"], || None; Last => like Ok(Colours { scale: true, .. }));
test!(scale_2: Colours <- ["--color=always", "--color-scale", ], || None; Last => like Ok(Colours { scale: true, .. }));
test!(scale_3: Colours <- ["--color=always", "--colour-scale"], || None; Last => like Ok(Colours { scale: true, .. }));