From 7f23cd63a51d45415bb3df28d053562844194767 Mon Sep 17 00:00:00 2001 From: Armin Brauns Date: Mon, 14 Nov 2022 14:31:07 +0100 Subject: [PATCH] ignore/types: add automated test for sortedness People occasionally get this wrong and I've been manually checking it. Instead, let's have CI do it automatically. PR #2351 --- crates/ignore/src/default_types.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/crates/ignore/src/default_types.rs b/crates/ignore/src/default_types.rs index ffd721dd1..e6a3a8f37 100644 --- a/crates/ignore/src/default_types.rs +++ b/crates/ignore/src/default_types.rs @@ -291,3 +291,26 @@ pub const DEFAULT_TYPES: &[(&str, &[&str])] = &[ ]), ("zstd", &["*.zst", "*.zstd"]), ]; + +#[cfg(test)] +mod tests { + use super::DEFAULT_TYPES; + + #[test] + fn default_types_are_sorted() { + let mut names = DEFAULT_TYPES.iter().map(|(name, _exts)| name); + + let Some(mut previous_name) = names.next() else { return; }; + + for name in names { + assert!( + name > previous_name, + r#""{}" should be sorted before "{}" in `DEFAULT_TYPES`"#, + name, + previous_name + ); + + previous_name = name; + } + } +}