Skip to content

Commit d1df8c6

Browse files
committed
test assuring assets loaded via relative paths have equal handles
1 parent fc5839d commit d1df8c6

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

crates/bevy_asset/src/lib.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -926,6 +926,35 @@ mod tests {
926926
storage.0.extend(reader.read().cloned());
927927
}
928928

929+
#[test]
930+
fn load_relative_path() {
931+
let dir = Dir::default();
932+
let d_path = "a/b/c/d.cool.ron";
933+
let d_ron = r#"
934+
(
935+
text: "hello",
936+
dependencies: [],
937+
embedded_dependencies: [],
938+
sub_texts: [],
939+
)"#;
940+
dir.insert_asset_text(Path::new(d_path), d_ron);
941+
942+
let (mut app, gate_opener) = test_app(dir);
943+
gate_opener.open(d_path);
944+
app.init_asset::<CoolText>()
945+
.register_asset_loader(CoolTextLoader);
946+
let asset_server = app.world().resource::<AssetServer>().clone();
947+
let handle: Handle<CoolText> = asset_server.load("a/b/c/../c/d.cool.ron");
948+
let d_id = handle.id();
949+
app.update();
950+
951+
let handle2: Handle<CoolText> = asset_server.load("a/b/../b/c/d.cool.ron");
952+
let handle3: Handle<CoolText> = asset_server.load("a/b/c/./d.cool.ron");
953+
954+
assert_eq!(handle2.id(), d_id);
955+
assert_eq!(handle3.id(), d_id);
956+
}
957+
929958
#[test]
930959
fn load_dependencies() {
931960
let dir = Dir::default();

0 commit comments

Comments
 (0)