From 4d787ed64fef6bb3c1559ce4ee5663d4723a2558 Mon Sep 17 00:00:00 2001 From: A Farzat Date: Tue, 9 Jun 2026 19:55:36 +0300 Subject: Group similar languages together in testing --- src/util/language.rs | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/src/util/language.rs b/src/util/language.rs index 080b26e..c9bd1ea 100644 --- a/src/util/language.rs +++ b/src/util/language.rs @@ -19,6 +19,7 @@ fn detect_from_extension(filename: &Path) -> Option<&'static str> { Some("toml") => Some("toml"), Some("yaml") | Some("yml") => Some("yaml"), Some("js") | Some("jsx") => Some("javascript"), + Some("ts") | Some("tsx") => Some("typescript"), _ => None, } } @@ -74,23 +75,28 @@ mod tests { } #[test] - fn yaml_extension_is_detected() { - assert_eq!(detect_language(Path::new("config.yaml"), ""), "yaml"); - } - - #[test] - fn yml_alias_maps_to_yaml() { - assert_eq!(detect_language(Path::new("config.yml"), ""), "yaml"); - } - - #[test] - fn js_extension_is_detected() { - assert_eq!(detect_language(Path::new("file.js"), ""), "javascript"); + fn javascript_family_extensions_map_correctly() { + let cases = [ + ("file.js", "javascript"), + ("file.jsx", "javascript"), + ("file.ts", "typescript"), + ("file.tsx", "typescript"), + ]; + for (filename, expected) in cases { + assert_eq!(detect_language(Path::new(filename), ""), expected); + } } #[test] - fn jsx_maps_to_javascript() { - assert_eq!(detect_language(Path::new("file.jsx"), ""), "javascript"); + fn json_derived_extensions_map_correctly() { + let cases = [ + ("file.json", "json"), + ("file.yml", "yaml"), + ("file.yaml", "yaml"), + ]; + for (filename, expected) in cases { + assert_eq!(detect_language(Path::new(filename), ""), expected); + } } #[test] -- cgit v1.3.1