| 105 | |
| 106 | #[test] |
| 107 | fn full_suite() { |
| 108 | let cases = get_tests(); |
| 109 | assert!(!cases.is_empty(), "No test cases found; is the css-minify-tests submodule checked out?"); |
| 110 | let mut fails = 0; |
| 111 | let mut passes = 0; |
| 112 | let mut panics = 0; |
| 113 | let mut fail_log = String::new(); |
| 114 | for case in &cases { |
| 115 | match test_case(case) { |
| 116 | TestResult::Pass => passes += 1, |
| 117 | TestResult::Fail(actual) => { |
| 118 | fails += 1; |
| 119 | writeln!(fail_log, "FAIL {}", case.name).unwrap(); |
| 120 | writeln!(fail_log, "{}", format_diff(&actual, &case.expected)).unwrap(); |
| 121 | } |
| 122 | TestResult::Panic(msg) => { |
| 123 | panics += 1; |
| 124 | writeln!(fail_log, "PANIC {}", case.name).unwrap(); |
| 125 | writeln!(fail_log, " {msg}\n").unwrap(); |
| 126 | } |
| 127 | } |
| 128 | } |
| 129 | |
| 130 | println!("\ncss-minify-tests: {} passed, {} failed, {} panicked, {} total", passes, fails, panics, cases.len()); |
| 131 | |
| 132 | insta::assert_snapshot!("css_minify_failures", fail_log); |
| 133 | } |