diff --git a/crates/bevy_asset/src/asset_server.rs b/crates/bevy_asset/src/asset_server.rs index daa10a4b31150..8da6ae34edf22 100644 --- a/crates/bevy_asset/src/asset_server.rs +++ b/crates/bevy_asset/src/asset_server.rs @@ -154,12 +154,13 @@ impl AssetServer { extensions: Vec::new(), })? .to_str() + .map(|s| s.to_lowercase()) .ok_or(AssetServerError::MissingAssetLoader { extensions: Vec::new(), })?; let mut exts = Vec::new(); - let mut ext = s; + let mut ext = s.as_str(); while let Some(idx) = ext.find('.') { ext = &ext[idx + 1..]; exts.push(ext); @@ -552,6 +553,13 @@ mod test { assert_eq!(t.unwrap().extensions()[0], "png"); } + #[test] + fn case_insensitive_extensions() { + let asset_server = setup(); + let t = asset_server.get_path_asset_loader("test.PNG"); + assert_eq!(t.unwrap().extensions()[0], "png"); + } + #[test] fn no_loader() { let asset_server = setup();