@@ -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