Skip to content

Commit 6e4715e

Browse files
committed
Add a test in lib.rs to test that using the short name actually results in the correct processing overall.
1 parent 73a33e9 commit 6e4715e

File tree

1 file changed

+74
-17
lines changed

1 file changed

+74
-17
lines changed

crates/bevy_asset/src/lib.rs

Lines changed: 74 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2624,6 +2624,19 @@ mod tests {
26242624
assert_eq!(processed_asset, source_asset);
26252625
}
26262626

2627+
// The asset processor currently requires multi_threaded.
2628+
#[cfg(feature = "multi_threaded")]
2629+
#[derive(TypePath)]
2630+
struct AddText;
2631+
2632+
// The asset processor currently requires multi_threaded.
2633+
#[cfg(feature = "multi_threaded")]
2634+
impl MutateAsset<CoolText> for AddText {
2635+
fn mutate(&self, text: &mut CoolText) {
2636+
text.text.push_str("_def");
2637+
}
2638+
}
2639+
26272640
// The asset processor currently requires multi_threaded.
26282641
#[cfg(feature = "multi_threaded")]
26292642
#[test]
@@ -2634,15 +2647,6 @@ mod tests {
26342647
processed_dir,
26352648
} = create_app_with_asset_processor();
26362649

2637-
#[derive(TypePath)]
2638-
struct AddText;
2639-
2640-
impl MutateAsset<CoolText> for AddText {
2641-
fn mutate(&self, text: &mut CoolText) {
2642-
text.text.push_str("_def");
2643-
}
2644-
}
2645-
26462650
type CoolTextProcessor = LoadTransformAndSave<
26472651
CoolTextLoader,
26482652
RootAssetTransformer<AddText, CoolText>,
@@ -2695,14 +2699,67 @@ mod tests {
26952699
processed_dir,
26962700
} = create_app_with_asset_processor();
26972701

2698-
#[derive(TypePath)]
2699-
struct AddText;
2702+
type CoolTextProcessor = LoadTransformAndSave<
2703+
CoolTextLoader,
2704+
RootAssetTransformer<AddText, CoolText>,
2705+
CoolTextSaver,
2706+
>;
2707+
app.register_asset_loader(CoolTextLoader)
2708+
.register_asset_processor(CoolTextProcessor::new(
2709+
RootAssetTransformer::new(AddText),
2710+
CoolTextSaver,
2711+
));
27002712

2701-
impl MutateAsset<CoolText> for AddText {
2702-
fn mutate(&self, text: &mut CoolText) {
2703-
text.text.push_str("_def");
2704-
}
2705-
}
2713+
let path = Path::new("abc.cool.ron");
2714+
source_dir.insert_asset_text(
2715+
path,
2716+
r#"(
2717+
text: "abc",
2718+
dependencies: [],
2719+
embedded_dependencies: [],
2720+
sub_texts: [],
2721+
)"#,
2722+
);
2723+
source_dir.insert_meta_text(path, r#"(
2724+
meta_format_version: "1.0",
2725+
asset: Process(
2726+
processor: "bevy_asset::processor::process::LoadTransformAndSave<bevy_asset::tests::CoolTextLoader, bevy_asset::tests::RootAssetTransformer<bevy_asset::tests::AddText, bevy_asset::tests::CoolText>, bevy_asset::tests::CoolTextSaver>",
2727+
settings: (
2728+
loader_settings: (),
2729+
transformer_settings: (),
2730+
saver_settings: (),
2731+
),
2732+
),
2733+
)"#);
2734+
2735+
// Start the app, which also starts the asset processor.
2736+
app.update();
2737+
2738+
// Wait for all processing to finish.
2739+
bevy_tasks::block_on(
2740+
app.world()
2741+
.resource::<AssetProcessor>()
2742+
.data()
2743+
.wait_until_finished(),
2744+
);
2745+
2746+
let processed_asset = processed_dir.get_asset(path).unwrap();
2747+
let processed_asset = str::from_utf8(processed_asset.value()).unwrap();
2748+
assert_eq!(
2749+
processed_asset,
2750+
r#"(text:"abc_def",dependencies:[],embedded_dependencies:[],sub_texts:[])"#
2751+
);
2752+
}
2753+
2754+
// The asset processor currently requires multi_threaded.
2755+
#[cfg(feature = "multi_threaded")]
2756+
#[test]
2757+
fn asset_processor_transforms_asset_with_short_path_meta() {
2758+
let AppWithProcessor {
2759+
mut app,
2760+
source_dir,
2761+
processed_dir,
2762+
} = create_app_with_asset_processor();
27062763

27072764
type CoolTextProcessor = LoadTransformAndSave<
27082765
CoolTextLoader,
@@ -2728,7 +2785,7 @@ mod tests {
27282785
source_dir.insert_meta_text(path, r#"(
27292786
meta_format_version: "1.0",
27302787
asset: Process(
2731-
processor: "bevy_asset::processor::process::LoadTransformAndSave<bevy_asset::tests::CoolTextLoader, bevy_asset::tests::RootAssetTransformer<bevy_asset::tests::asset_processor_transforms_asset_with_meta::AddText, bevy_asset::tests::CoolText>, bevy_asset::tests::CoolTextSaver>",
2788+
processor: "LoadTransformAndSave<CoolTextLoader, RootAssetTransformer<AddText, CoolText>, CoolTextSaver>",
27322789
settings: (
27332790
loader_settings: (),
27342791
transformer_settings: (),

0 commit comments

Comments
 (0)