in compiler/crates/relay-transforms/src/validations/validate_module_names/extract_module_name.rs [71:176]
fn extract_module_names_test() {
assert_eq!(
extract_module_name("/path/Button.ios.js"),
Some("ButtonIos".to_string())
);
assert_eq!(
extract_module_name("/path/Button.android.js"),
Some("ButtonAndroid".to_string())
);
assert_eq!(
extract_module_name("/path/Button.hooks.android.js"),
Some("ButtonAndroid".to_string())
);
assert_eq!(
extract_module_name("/path/Button.js"),
Some("Button".to_string())
);
assert_eq!(
extract_module_name("/path/Button.react.js"),
Some("Button".to_string())
);
assert_eq!(
extract_module_name("/path/Button.react-test.js"),
Some("Button".to_string())
);
assert_eq!(
extract_module_name("/path/Button.react-test.jsx"),
Some("Button".to_string())
);
assert_eq!(
extract_module_name("/path/Button.react.example.jsx"),
Some("Button".to_string())
);
assert_eq!(
extract_module_name("/path/Button.react-snapshot-test.js"),
Some("Button".to_string())
);
assert_eq!(
extract_module_name("/path/Button.kit.js"),
Some("Button".to_string())
);
assert_eq!(
extract_module_name("/path/Button.hooks.js"),
Some("Button".to_string())
);
assert_eq!(
extract_module_name("/path/Button.brands.react.js"),
Some("Button".to_string())
);
assert_eq!(
extract_module_name("/path/Button.my.custom.suffix.js"),
Some("Button".to_string())
);
assert_eq!(
extract_module_name("/path/Slider.ios.js"),
Some("SliderIos".to_string())
);
assert_eq!(
extract_module_name("/path/TypeScript.ts"),
Some("TypeScript".to_string())
);
assert_eq!(
extract_module_name("/path/TypeScript.tsx"),
Some("TypeScript".to_string())
);
assert_eq!(
extract_module_name("/path/TypeScript/index.ts"),
Some("TypeScript".to_string())
);
assert_eq!(
extract_module_name("/path/TypeScript/index.tsx"),
Some("TypeScript".to_string())
);
assert_eq!(
extract_module_name("/path/button/index.js"),
Some("button".to_string())
);
assert_eq!(
extract_module_name("/path/button/index.react.js"),
Some("button".to_string())
);
assert_eq!(
extract_module_name("/path/button/index.jsx"),
Some("button".to_string())
);
assert_eq!(
extract_module_name("/path/foo-bar/index.js"),
Some("fooBar".to_string())
);
assert_eq!(
extract_module_name("/path/foo-bar-baz.js"),
Some("fooBarBaz".to_string())
);
assert_eq!(
extract_module_name("/path/non-numeric-end-.js"),
Some("nonNumericEnd".to_string())
);
assert_eq!(
extract_module_name("/path/__tests__/index.test.js"),
Some("Tests".to_string())
);
assert_eq!(
extract_module_name("/path/button/indexButton.js"),
Some("indexButton".to_string())
);
}