Modified snapshot tests to support tab expansion.

This changes how the files are named (to allow for snapshots that aren't
directly related to the --style argument) and fixes the
generate_snapshots.py script to work with the latest version of bat.

Three new tests are also introduced:
- tabs_4 - Tab expansion with a width of 4.
- tabs_8 - Tab expansion with a width of 8.
- tabs_passthrough - No tab expansion.
This commit is contained in:
eth-p committed 2018-09-10 19:19:43 -07:00
1 parent b23ff24ebc
commit 9159341714
5 files changed
+68 -28

No files matched your search

+22 -19
View File
@@ -3,33 +3,36 @@ mod tester;
use tester::BatTester;
macro_rules! snapshot_tests {
($($test_name: ident: $style: expr,)*) => {
($($test_name: ident: $style: expr => [tabs: $tabs:expr],)*) => {
$(
#[test]
fn $test_name() {
let bat_tester = BatTester::new();
bat_tester.test_snapshot($style);
bat_tester.test_snapshot(stringify!($test_name), $style, $tabs);
}
)*
};
}
snapshot_tests! {
changes: "changes",
grid: "grid",
header: "header",
numbers: "numbers",
changes_grid: "changes,grid",
changes_header: "changes,header",
changes_numbers: "changes,numbers",
grid_header: "grid,header",
grid_numbers: "grid,numbers",
header_numbers: "header,numbers",
changes_grid_header: "changes,grid,header",
changes_grid_numbers: "changes,grid,numbers",
changes_header_numbers: "changes,header,numbers",
grid_header_numbers: "grid,header,numbers",
changes_grid_header_numbers: "changes,grid,header,numbers",
full: "full",
plain: "plain",
changes: "changes" => [tabs: 8],
grid: "grid" => [tabs: 8],
header: "header" => [tabs: 8],
numbers: "numbers" => [tabs: 8],
changes_grid: "changes,grid" => [tabs: 8],
changes_header: "changes,header" => [tabs: 8],
changes_numbers: "changes,numbers" => [tabs: 8],
grid_header: "grid,header" => [tabs: 8],
grid_numbers: "grid,numbers" => [tabs: 8],
header_numbers: "header,numbers" => [tabs: 8],
changes_grid_header: "changes,grid,header" => [tabs: 8],
changes_grid_numbers: "changes,grid,numbers" => [tabs: 8],
changes_header_numbers: "changes,header,numbers" => [tabs: 8],
grid_header_numbers: "grid,header,numbers" => [tabs: 8],
changes_grid_header_numbers: "changes,grid,header,numbers" => [tabs: 8],
full: "full" => [tabs: 8],
plain: "plain" => [tabs: 8],
tabs_passthrough: "full" => [tabs: 0],
tabs_4: "full" => [tabs: 4],
tabs_8: "full" => [tabs: 8],
}