summaryrefslogtreecommitdiff
path: root/src/util/language.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/language.rs')
-rw-r--r--src/util/language.rs34
1 files 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]