@@ -654,6 +654,70 @@ fn asset_processor_transforms_asset_with_meta() {
654654 ) ;
655655}
656656
657+ #[ test]
658+ fn asset_processor_transforms_asset_with_short_path_meta ( ) {
659+ let AppWithProcessor {
660+ mut app,
661+ source_gate,
662+ default_source_dirs :
663+ ProcessingDirs {
664+ source : source_dir,
665+ processed : processed_dir,
666+ ..
667+ } ,
668+ ..
669+ } = create_app_with_asset_processor ( & [ ] ) ;
670+
671+ type CoolTextProcessor = LoadTransformAndSave <
672+ CoolTextLoader ,
673+ RootAssetTransformer < AddText , CoolText > ,
674+ CoolTextSaver ,
675+ > ;
676+ app. register_asset_loader ( CoolTextLoader )
677+ . register_asset_processor ( CoolTextProcessor :: new (
678+ RootAssetTransformer :: new ( AddText ( "_def" . into ( ) ) ) ,
679+ CoolTextSaver ,
680+ ) ) ;
681+
682+ let guard = source_gate. write_blocking ( ) ;
683+
684+ let path = Path :: new ( "abc.cool.ron" ) ;
685+ source_dir. insert_asset_text (
686+ path,
687+ r#"(
688+ text: "abc",
689+ dependencies: [],
690+ embedded_dependencies: [],
691+ sub_texts: [],
692+ )"# ,
693+ ) ;
694+ source_dir. insert_meta_text ( path, r#"(
695+ meta_format_version: "1.0",
696+ asset: Process(
697+ processor: "LoadTransformAndSave<CoolTextLoader, RootAssetTransformer<AddText, CoolText>, CoolTextSaver>",
698+ settings: (
699+ loader_settings: (),
700+ transformer_settings: (),
701+ saver_settings: (),
702+ ),
703+ ),
704+ )"# ) ;
705+
706+ run_app_until_finished_processing ( & mut app, guard) ;
707+
708+ let processed_asset = processed_dir. get_asset ( path) . unwrap ( ) ;
709+ let processed_asset = str:: from_utf8 ( processed_asset. value ( ) ) . unwrap ( ) ;
710+ assert_eq ! (
711+ processed_asset,
712+ r#"(
713+ text: "abc_def",
714+ dependencies: [],
715+ embedded_dependencies: [],
716+ sub_texts: [],
717+ )"#
718+ ) ;
719+ }
720+
657721#[ derive( Asset , TypePath , Serialize , Deserialize ) ]
658722struct FakeGltf {
659723 gltf_nodes : BTreeMap < String , String > ,
0 commit comments