Function mmrbi::path::has_extension_ignore_ascii_case
source · pub fn has_extension_ignore_ascii_case(
path: impl AsRef<Path>,
ext: impl AsRef<OsStr>
) -> bool
Expand description
Check the extension of a file
Examples
// The full filename doesn't count as an extension
assert!(!has_extension_ignore_ascii_case("foo.tar.gz", ".foo.tar.gz"));
assert!(!has_extension_ignore_ascii_case("foo.tar.gz", "foo.tar.gz"));
assert!(!has_extension_ignore_ascii_case("foo.tar.gz", "oo.tar.gz"));
// Only the full extension (with or without a leading `.`) counts
assert!( has_extension_ignore_ascii_case("foo.tar.gz", ".tar.gz"));
assert!( has_extension_ignore_ascii_case("foo.tar.gz", "tar.gz"));
assert!(!has_extension_ignore_ascii_case("foo.tar.gz", "ar.gz"));
// Case insensitive
assert!( has_extension_ignore_ascii_case("foo.tAr.gZ", ".tar.gz"));
assert!( has_extension_ignore_ascii_case("foo.tAr.gZ", "tar.gz"));
assert!(!has_extension_ignore_ascii_case("foo.tAr.gZ", "ar.gz"));
assert!( has_extension_ignore_ascii_case("foo.tar.gz", ".gz"));
assert!( has_extension_ignore_ascii_case("foo.tar.gz", "gz"));
assert!(!has_extension_ignore_ascii_case("foo.tar.gz", "z"));