From a61a1bef5550da8a72262d81f3737b8907af8c9e Mon Sep 17 00:00:00 2001 From: Micah Date: Wed, 26 Nov 2025 16:11:39 -0800 Subject: [PATCH] Roundtrip schemas in syncback (#1173) --- ...yncback_util__schema_roundtrip-stdout.snap | 10 ++++++ ...schema_roundtrip-default.project.json.snap | 20 ++++++++++++ ...ema_roundtrip-src__adjacent.meta.json.snap | 10 ++++++ ...a_roundtrip-src__init__init.meta.json.snap | 10 ++++++ ...chema_roundtrip-src__model.model.json.snap | 8 +++++ .../input-project/default.project.json | 13 ++++++++ .../input-project/src/adjacent.luau | 1 + .../input-project/src/adjacent.meta.json | 3 ++ .../input-project/src/init/init.meta.json | 3 ++ .../input-project/src/model.model.json | 7 +++++ .../schema_roundtrip/input.rbxm | Bin 0 -> 1469 bytes src/snapshot/metadata.rs | 9 ++++++ ..._snapshot__tests__apply__add_property.snap | 2 +- ...s__apply__remove_property_after_patch.snap | 2 +- ...tests__apply__remove_property_initial.snap | 2 +- ...tests__apply__set_name_and_class_name.snap | 2 +- ...__snapshot__tests__compute__add_child.snap | 2 +- src/snapshot_middleware/json_model.rs | 11 ++++++- src/snapshot_middleware/meta_file.rs | 29 ++++++++++++++++-- ...t_middleware__csv__test__csv_from_vfs.snap | 1 + ...pshot_middleware__csv__test__csv_init.snap | 1 + ...leware__csv__test__csv_init_with_meta.snap | 1 + ..._middleware__csv__test__csv_with_meta.snap | 1 + ...t_middleware__dir__test__empty_folder.snap | 1 + ...ddleware__dir__test__folder_in_folder.snap | 2 ++ ...leware__json__test__instance_from_vfs.snap | 1 + ...middleware__json__test__with_metadata.snap | 1 + ...are__json_model__test__model_from_vfs.snap | 3 +- ...on_model__test__model_from_vfs_legacy.snap | 3 +- ...are__lua__test__class_client_from_vfs.snap | 1 + ...are__lua__test__class_module_from_vfs.snap | 1 + ...re__lua__test__class_module_with_meta.snap | 1 + ...are__lua__test__class_script_disabled.snap | 1 + ...re__lua__test__class_script_with_meta.snap | 1 + ...are__lua__test__class_server_from_vfs.snap | 1 + ...ware__lua__test__init_module_from_vfs.snap | 1 + ..._test__init_module_from_vfs_with_meta.snap | 1 + ...re__lua__test__plugin_module_from_vfs.snap | 1 + ...lua__test__runcontext_client_from_vfs.snap | 1 + ...lua__test__runcontext_module_from_vfs.snap | 1 + ...ua__test__runcontext_module_with_meta.snap | 1 + ...lua__test__runcontext_script_disabled.snap | 1 + ...ua__test__runcontext_script_with_meta.snap | 1 + ...lua__test__runcontext_server_from_vfs.snap | 1 + ...__meta_file__test__adjacent_read_json.snap | 1 + ..._meta_file__test__adjacent_read_jsonc.snap | 1 + ..._meta_file__test__directory_read_json.snap | 1 + ...meta_file__test__directory_read_jsonc.snap | 1 + ...eware__project__test__no_name_project.snap | 1 + ...oject__test__project_from_direct_file.snap | 2 +- ...test__project_path_property_overrides.snap | 2 +- ..._project__test__project_with_children.snap | 3 +- ...t__test__project_with_path_to_project.snap | 2 +- ...ct_with_path_to_project_with_children.snap | 3 +- ...oject__test__project_with_path_to_txt.snap | 1 + ...est__project_with_resolved_properties.snap | 2 +- ...t__project_with_unresolved_properties.snap | 2 +- ...leware__toml__test__instance_from_vfs.snap | 1 + ...middleware__toml__test__with_metadata.snap | 1 + ...dleware__txt__test__instance_from_vfs.snap | 1 + ..._middleware__txt__test__with_metadata.snap | 1 + ...leware__yaml__test__instance_from_vfs.snap | 1 + ...middleware__yaml__test__with_metadata.snap | 1 + tests/tests/syncback.rs | 4 +++ 64 files changed, 189 insertions(+), 17 deletions(-) create mode 100644 rojo-test/syncback-test-snapshots/end_to_end__rojo_test__syncback_util__schema_roundtrip-stdout.snap create mode 100644 rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-default.project.json.snap create mode 100644 rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__adjacent.meta.json.snap create mode 100644 rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__init__init.meta.json.snap create mode 100644 rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__model.model.json.snap create mode 100644 rojo-test/syncback-tests/schema_roundtrip/input-project/default.project.json create mode 100644 rojo-test/syncback-tests/schema_roundtrip/input-project/src/adjacent.luau create mode 100644 rojo-test/syncback-tests/schema_roundtrip/input-project/src/adjacent.meta.json create mode 100644 rojo-test/syncback-tests/schema_roundtrip/input-project/src/init/init.meta.json create mode 100644 rojo-test/syncback-tests/schema_roundtrip/input-project/src/model.model.json create mode 100644 rojo-test/syncback-tests/schema_roundtrip/input.rbxm diff --git a/rojo-test/syncback-test-snapshots/end_to_end__rojo_test__syncback_util__schema_roundtrip-stdout.snap b/rojo-test/syncback-test-snapshots/end_to_end__rojo_test__syncback_util__schema_roundtrip-stdout.snap new file mode 100644 index 00000000..dfbdabd6 --- /dev/null +++ b/rojo-test/syncback-test-snapshots/end_to_end__rojo_test__syncback_util__schema_roundtrip-stdout.snap @@ -0,0 +1,10 @@ +--- +source: tests/rojo_test/syncback_util.rs +expression: "String::from_utf8_lossy(&output.stdout)" +--- +Writing default.project.json +Writing src/adjacent.luau +Writing src/adjacent.meta.json +Writing src/init/init.meta.json +Writing src/model.model.json +Writing src/init diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-default.project.json.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-default.project.json.snap new file mode 100644 index 00000000..3fb7e5c2 --- /dev/null +++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-default.project.json.snap @@ -0,0 +1,20 @@ +--- +source: tests/tests/syncback.rs +expression: default.project.json +--- +{ + "$schema": "rojo/project-schema", + "name": "schema_roundtrip", + "tree": { + "$className": "Folder", + "src": { + "$path": "src" + }, + "trigger_reserialization": { + "$className": "BoolValue", + "$properties": { + "Value": true + } + } + } +} diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__adjacent.meta.json.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__adjacent.meta.json.snap new file mode 100644 index 00000000..9633f1e6 --- /dev/null +++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__adjacent.meta.json.snap @@ -0,0 +1,10 @@ +--- +source: tests/tests/syncback.rs +expression: src/adjacent.meta.json +--- +{ + "$schema": "rojo/adjacent-meta", + "attributes": { + "trigger_reserialization": true + } +} diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__init__init.meta.json.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__init__init.meta.json.snap new file mode 100644 index 00000000..dd89fc90 --- /dev/null +++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__init__init.meta.json.snap @@ -0,0 +1,10 @@ +--- +source: tests/tests/syncback.rs +expression: src/init/init.meta.json +--- +{ + "$schema": "rojo/init-meta", + "attributes": { + "trigger_reserialization": true + } +} diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__model.model.json.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__model.model.json.snap new file mode 100644 index 00000000..65f0d725 --- /dev/null +++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__model.model.json.snap @@ -0,0 +1,8 @@ +--- +source: tests/tests/syncback.rs +expression: src/model.model.json +--- +{ + "$schema": "rojo/model.json", + "className": "BoolValue" +} diff --git a/rojo-test/syncback-tests/schema_roundtrip/input-project/default.project.json b/rojo-test/syncback-tests/schema_roundtrip/input-project/default.project.json new file mode 100644 index 00000000..11afd6a1 --- /dev/null +++ b/rojo-test/syncback-tests/schema_roundtrip/input-project/default.project.json @@ -0,0 +1,13 @@ +{ + "$schema": "rojo/project-schema", + "name": "schema_roundtrip", + "tree": { + "$className": "Folder", + "src": { + "$path": "src" + }, + "trigger_reserialization": { + "$className": "BoolValue" + } + } +} \ No newline at end of file diff --git a/rojo-test/syncback-tests/schema_roundtrip/input-project/src/adjacent.luau b/rojo-test/syncback-tests/schema_roundtrip/input-project/src/adjacent.luau new file mode 100644 index 00000000..e6a3e324 --- /dev/null +++ b/rojo-test/syncback-tests/schema_roundtrip/input-project/src/adjacent.luau @@ -0,0 +1 @@ +-- This file should be ignored. diff --git a/rojo-test/syncback-tests/schema_roundtrip/input-project/src/adjacent.meta.json b/rojo-test/syncback-tests/schema_roundtrip/input-project/src/adjacent.meta.json new file mode 100644 index 00000000..dfb24cd3 --- /dev/null +++ b/rojo-test/syncback-tests/schema_roundtrip/input-project/src/adjacent.meta.json @@ -0,0 +1,3 @@ +{ + "$schema": "rojo/adjacent-meta" +} \ No newline at end of file diff --git a/rojo-test/syncback-tests/schema_roundtrip/input-project/src/init/init.meta.json b/rojo-test/syncback-tests/schema_roundtrip/input-project/src/init/init.meta.json new file mode 100644 index 00000000..4c03d42f --- /dev/null +++ b/rojo-test/syncback-tests/schema_roundtrip/input-project/src/init/init.meta.json @@ -0,0 +1,3 @@ +{ + "$schema": "rojo/init-meta" +} \ No newline at end of file diff --git a/rojo-test/syncback-tests/schema_roundtrip/input-project/src/model.model.json b/rojo-test/syncback-tests/schema_roundtrip/input-project/src/model.model.json new file mode 100644 index 00000000..41bf34ce --- /dev/null +++ b/rojo-test/syncback-tests/schema_roundtrip/input-project/src/model.model.json @@ -0,0 +1,7 @@ +{ + "$schema": "rojo/model.json", + "className": "BoolValue", + "properties": { + "Value": true + } +} \ No newline at end of file diff --git a/rojo-test/syncback-tests/schema_roundtrip/input.rbxm b/rojo-test/syncback-tests/schema_roundtrip/input.rbxm new file mode 100644 index 0000000000000000000000000000000000000000..e8bbc388a9b0fc6e3dca786f4bbdfca3a915aa67 GIT binary patch literal 1469 zcmZ`(?M@Rx6rJ4`DGex!XoRSXqVdlHr5I>}V!t#PsKhq@#cg+JN0*&uKN6zx0sQA9 z_y|6Nk2DGKFM7}HE&_#<+}-&&bLZYOcV;t?T~8h@eE&ODoGUVxV~kxR%dp$*R2Ql9 zC>>BU2DNUHHIIg#=!vKrNAj%{eiY_uGzwzA-D-C%YCj+Y)D3(m$ZAr09~>{{%*2pJ z!32Mv+7Hu_KPL7-6tAV{@_>Re*dBGwJgA`ECj-=VIGQBem2T|ub}taai0B&mz4!0- zo>CJT0BRQB8M0~=1)>{AJZ$qoIG*^z(?yJ774m%oGC^rUuu0t+I$hz3NbqoBmgP(x zRq=>OYnPy95fWmeR`n8-xZj4dmP`cc^OAU&%-{--8z{50B zClb<2RTU6Os6yUl(EJy3)%BFKjwm&kyV z0(Kl#JPFZA^u9+F81NhXOzuhcLl5Eu&s+4brX$CTsOl^9G!O$kU69f`C*|dr>3%M zw4%7jX?V-jv~8<15TSJ-JZ^;p8GEkP<(BCCGT`n~(PF;>#}6&KfP*N6ON&R#3m$YG?vpP+)U8 Id9+{t17)fTqyPW_ literal 0 HcmV?d00001 diff --git a/src/snapshot/metadata.rs b/src/snapshot/metadata.rs index 71a731ef..79f7a2d0 100644 --- a/src/snapshot/metadata.rs +++ b/src/snapshot/metadata.rs @@ -66,6 +66,10 @@ pub struct InstanceMetadata { /// The Middleware that was used to create this Instance. Should generally /// not be `None` except if the snapshotting process is not completed. pub middleware: Option, + + /// A schema provided via a JSON file, if one exists. Will be `None` for + /// all non-JSON middleware. + pub schema: Option, } impl InstanceMetadata { @@ -77,6 +81,7 @@ impl InstanceMetadata { context: InstanceContext::default(), specified_id: None, middleware: None, + schema: None, } } @@ -121,6 +126,10 @@ impl InstanceMetadata { ..self } } + + pub fn schema(self, schema: Option) -> Self { + Self { schema, ..self } + } } impl Default for InstanceMetadata { diff --git a/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__add_property.snap b/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__add_property.snap index c4390b6d..930119b4 100644 --- a/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__add_property.snap +++ b/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__add_property.snap @@ -15,5 +15,5 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ children: [] - diff --git a/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__remove_property_after_patch.snap b/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__remove_property_after_patch.snap index fa4d3ebc..fdf5ecd6 100644 --- a/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__remove_property_after_patch.snap +++ b/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__remove_property_after_patch.snap @@ -13,5 +13,5 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ children: [] - diff --git a/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__remove_property_initial.snap b/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__remove_property_initial.snap index f07da090..b2111922 100644 --- a/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__remove_property_initial.snap +++ b/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__remove_property_initial.snap @@ -15,5 +15,5 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ children: [] - diff --git a/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__set_name_and_class_name.snap b/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__set_name_and_class_name.snap index cc582633..9209a554 100644 --- a/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__set_name_and_class_name.snap +++ b/src/snapshot/tests/snapshots/librojo__snapshot__tests__apply__set_name_and_class_name.snap @@ -13,5 +13,5 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ children: [] - diff --git a/src/snapshot/tests/snapshots/librojo__snapshot__tests__compute__add_child.snap b/src/snapshot/tests/snapshots/librojo__snapshot__tests__compute__add_child.snap index 4c404604..64541974 100644 --- a/src/snapshot/tests/snapshots/librojo__snapshot__tests__compute__add_child.snap +++ b/src/snapshot/tests/snapshots/librojo__snapshot__tests__compute__add_child.snap @@ -14,9 +14,9 @@ added_instances: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: New class_name: Folder properties: {} children: [] updated_instances: [] - diff --git a/src/snapshot_middleware/json_model.rs b/src/snapshot_middleware/json_model.rs index a6f0148f..d19792cb 100644 --- a/src/snapshot_middleware/json_model.rs +++ b/src/snapshot_middleware/json_model.rs @@ -50,6 +50,7 @@ pub fn snapshot_json_model( instance.name = Some(name.to_owned()); let id = instance.id.take().map(RojoRef::new); + let schema = instance.schema.take(); let mut snapshot = instance .into_snapshot() @@ -60,7 +61,8 @@ pub fn snapshot_json_model( .instigating_source(path) .relevant_paths(vec![path.to_path_buf()]) .context(context) - .specified_id(id); + .specified_id(id) + .schema(schema); Ok(Some(snapshot)) } @@ -74,6 +76,13 @@ pub fn syncback_json_model<'sync>( // We don't need the name on the root, but we do for children. model.name = None; + if let Some(old_inst) = snapshot.old_inst() { + // TODO: Is it worth this being an Arc or Rc? I doubt that enough + // schemas will ever exist in one project for it to matter, but it + // could have a performance cost. + model.schema = old_inst.metadata().schema.clone(); + } + Ok(SyncbackReturn { fs_snapshot: FsSnapshot::new().with_added_file( &snapshot.path, diff --git a/src/snapshot_middleware/meta_file.rs b/src/snapshot_middleware/meta_file.rs index 1757dee1..84ca9a80 100644 --- a/src/snapshot_middleware/meta_file.rs +++ b/src/snapshot_middleware/meta_file.rs @@ -115,6 +115,10 @@ impl AdjacentMetadata { .map(|inst| inst.metadata().ignore_unknown_instances) .unwrap_or_default(); + let schema = snapshot + .old_inst() + .and_then(|inst| inst.metadata().schema.clone()); + let class = &snapshot.new_inst().class; for (name, value) in snapshot.get_path_filtered_properties(snapshot.new).unwrap() { match value { @@ -150,7 +154,7 @@ impl AdjacentMetadata { attributes, path, id: None, - schema: None, + schema, })) } @@ -201,10 +205,19 @@ impl AdjacentMetadata { Ok(()) } + fn apply_schema(&mut self, snapshot: &mut InstanceSnapshot) -> anyhow::Result<()> { + if self.schema.is_some() && snapshot.metadata.schema.is_some() { + anyhow::bail!("cannot specify a schema using {} (instance has a schema from somewhere else. how did we get here?)", self.path.display()); + } + snapshot.metadata.schema = self.schema.take(); + Ok(()) + } + pub fn apply_all(&mut self, snapshot: &mut InstanceSnapshot) -> anyhow::Result<()> { self.apply_ignore_unknown_instances(snapshot); self.apply_properties(snapshot)?; self.apply_id(snapshot)?; + self.apply_schema(snapshot)?; Ok(()) } @@ -330,6 +343,10 @@ impl DirectoryMetadata { .map(|inst| inst.metadata().ignore_unknown_instances) .unwrap_or_default(); + let schema = snapshot + .old_inst() + .and_then(|inst| inst.metadata().schema.clone()); + let class = &snapshot.new_inst().class; for (name, value) in snapshot.get_path_filtered_properties(snapshot.new).unwrap() { match value { @@ -366,7 +383,7 @@ impl DirectoryMetadata { class_name: None, path, id: None, - schema: None, + schema, })) } @@ -375,6 +392,7 @@ impl DirectoryMetadata { self.apply_class_name(snapshot)?; self.apply_properties(snapshot)?; self.apply_id(snapshot)?; + self.apply_schema(snapshot)?; Ok(()) } @@ -439,6 +457,13 @@ impl DirectoryMetadata { Ok(()) } + fn apply_schema(&mut self, snapshot: &mut InstanceSnapshot) -> anyhow::Result<()> { + if self.schema.is_some() && snapshot.metadata.schema.is_some() { + anyhow::bail!("cannot specify a schema using {} (instance has a schema from somewhere else. how did we get here?)", self.path.display()); + } + snapshot.metadata.schema = self.schema.take(); + Ok(()) + } /// Returns whether the metadata is 'empty', meaning it doesn't have anything /// worth persisting in it. Specifically: /// diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_from_vfs.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_from_vfs.snap index f8ce15af..6356256d 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_from_vfs.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_from_vfs.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: LocalizationTable properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_init.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_init.snap index 6aabdf4b..a275a6cf 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_init.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_init.snap @@ -22,6 +22,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: root class_name: LocalizationTable properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_init_with_meta.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_init_with_meta.snap index 7202e31b..603bd2df 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_init_with_meta.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_init_with_meta.snap @@ -22,6 +22,7 @@ metadata: emit_legacy_scripts: true specified_id: manually specified middleware: ~ + schema: ~ name: root class_name: LocalizationTable properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_with_meta.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_with_meta.snap index 8452cc7c..f90eccc8 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_with_meta.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__csv__test__csv_with_meta.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: LocalizationTable properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__dir__test__empty_folder.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__dir__test__empty_folder.snap index 64f74c4e..813a6767 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__dir__test__empty_folder.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__dir__test__empty_folder.snap @@ -22,6 +22,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: Folder properties: {} diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__dir__test__folder_in_folder.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__dir__test__folder_in_folder.snap index 2f29bb64..2f44988d 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__dir__test__folder_in_folder.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__dir__test__folder_in_folder.snap @@ -22,6 +22,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: Folder properties: {} @@ -46,6 +47,7 @@ children: emit_legacy_scripts: true specified_id: ~ middleware: dir + schema: ~ name: Child class_name: Folder properties: {} diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json__test__instance_from_vfs.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json__test__instance_from_vfs.snap index d570009f..0803eed1 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json__test__instance_from_vfs.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json__test__instance_from_vfs.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: ModuleScript properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json__test__with_metadata.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json__test__with_metadata.snap index 38d66519..7e6c260d 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json__test__with_metadata.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json__test__with_metadata.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: manually specified middleware: ~ + schema: ~ name: foo class_name: ModuleScript properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json_model__test__model_from_vfs.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json_model__test__model_from_vfs.snap index bf768977..f579d015 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json_model__test__model_from_vfs.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json_model__test__model_from_vfs.snap @@ -13,6 +13,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: IntValue properties: @@ -27,8 +28,8 @@ children: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: The Child class_name: StringValue properties: {} children: [] - diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json_model__test__model_from_vfs_legacy.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json_model__test__model_from_vfs_legacy.snap index bf768977..f579d015 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json_model__test__model_from_vfs_legacy.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__json_model__test__model_from_vfs_legacy.snap @@ -13,6 +13,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: IntValue properties: @@ -27,8 +28,8 @@ children: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: The Child class_name: StringValue properties: {} children: [] - diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_client_from_vfs.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_client_from_vfs.snap index 683eec85..37fdec4e 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_client_from_vfs.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_client_from_vfs.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: LocalScript properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_module_from_vfs.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_module_from_vfs.snap index b7ca7678..e898dfbd 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_module_from_vfs.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_module_from_vfs.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: ModuleScript properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_module_with_meta.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_module_with_meta.snap index 63a84714..a9facd2d 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_module_with_meta.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_module_with_meta.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: ModuleScript properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_script_disabled.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_script_disabled.snap index c4d02c8e..ae7e22db 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_script_disabled.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_script_disabled.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: bar class_name: Script properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_script_with_meta.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_script_with_meta.snap index 916d0038..ce577d1e 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_script_with_meta.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_script_with_meta.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: Script properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_server_from_vfs.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_server_from_vfs.snap index a43f7e0f..9ce4624c 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_server_from_vfs.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__class_server_from_vfs.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: Script properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__init_module_from_vfs.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__init_module_from_vfs.snap index deb32404..80178738 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__init_module_from_vfs.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__init_module_from_vfs.snap @@ -22,6 +22,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: root class_name: ModuleScript properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__init_module_from_vfs_with_meta.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__init_module_from_vfs_with_meta.snap index b02f9117..d5f8aa9f 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__init_module_from_vfs_with_meta.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__init_module_from_vfs_with_meta.snap @@ -22,6 +22,7 @@ metadata: emit_legacy_scripts: true specified_id: manually specified middleware: ~ + schema: ~ name: root class_name: ModuleScript properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__plugin_module_from_vfs.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__plugin_module_from_vfs.snap index bf7b89b4..91535701 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__plugin_module_from_vfs.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__plugin_module_from_vfs.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: false specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: Script properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_client_from_vfs.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_client_from_vfs.snap index e1376702..abe11f93 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_client_from_vfs.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_client_from_vfs.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: false specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: Script properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_module_from_vfs.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_module_from_vfs.snap index 187ce50c..0d1ecd32 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_module_from_vfs.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_module_from_vfs.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: false specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: ModuleScript properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_module_with_meta.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_module_with_meta.snap index 382fa03f..03ac12e5 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_module_with_meta.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_module_with_meta.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: false specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: ModuleScript properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_script_disabled.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_script_disabled.snap index 2d6d9bdb..706b6ff5 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_script_disabled.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_script_disabled.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: false specified_id: ~ middleware: ~ + schema: ~ name: bar class_name: Script properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_script_with_meta.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_script_with_meta.snap index 2e68f9d8..64a697d4 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_script_with_meta.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_script_with_meta.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: false specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: Script properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_server_from_vfs.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_server_from_vfs.snap index c72bdfcd..1b972cf2 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_server_from_vfs.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__lua__test__runcontext_server_from_vfs.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: false specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: Script properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__adjacent_read_json.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__adjacent_read_json.snap index f21cca30..44c2123b 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__adjacent_read_json.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__adjacent_read_json.snap @@ -12,6 +12,7 @@ metadata: emit_legacy_scripts: true specified_id: manually specified middleware: ~ + schema: ~ name: DEFAULT class_name: DEFAULT properties: {} diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__adjacent_read_jsonc.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__adjacent_read_jsonc.snap index f21cca30..44c2123b 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__adjacent_read_jsonc.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__adjacent_read_jsonc.snap @@ -12,6 +12,7 @@ metadata: emit_legacy_scripts: true specified_id: manually specified middleware: ~ + schema: ~ name: DEFAULT class_name: DEFAULT properties: {} diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__directory_read_json.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__directory_read_json.snap index 08f7159d..6d819bfb 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__directory_read_json.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__directory_read_json.snap @@ -12,6 +12,7 @@ metadata: emit_legacy_scripts: true specified_id: manually specified middleware: ~ + schema: ~ name: DEFAULT class_name: DEFAULT properties: {} diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__directory_read_jsonc.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__directory_read_jsonc.snap index 08f7159d..6d819bfb 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__directory_read_jsonc.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__meta_file__test__directory_read_jsonc.snap @@ -12,6 +12,7 @@ metadata: emit_legacy_scripts: true specified_id: manually specified middleware: ~ + schema: ~ name: DEFAULT class_name: DEFAULT properties: {} diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__no_name_project.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__no_name_project.snap index ebf5362d..dc817e76 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__no_name_project.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__no_name_project.snap @@ -13,6 +13,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: Model properties: {} diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_from_direct_file.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_from_direct_file.snap index 1b87aab8..1d739949 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_from_direct_file.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_from_direct_file.snap @@ -13,8 +13,8 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: direct-project class_name: Model properties: {} children: [] - diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_path_property_overrides.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_path_property_overrides.snap index cd32e81d..5b787c2a 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_path_property_overrides.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_path_property_overrides.snap @@ -14,10 +14,10 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: project + schema: ~ name: path-property-override class_name: StringValue properties: Value: String: Changed children: [] - diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_children.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_children.snap index f9d6e4a4..779afb4e 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_children.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_children.snap @@ -13,6 +13,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: children class_name: Folder properties: {} @@ -32,8 +33,8 @@ children: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: Child class_name: Model properties: {} children: [] - diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_path_to_project.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_path_to_project.snap index da28d1ce..99432ea0 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_path_to_project.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_path_to_project.snap @@ -14,8 +14,8 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: project + schema: ~ name: path-project class_name: Model properties: {} children: [] - diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_path_to_project_with_children.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_path_to_project_with_children.snap index 077ebb15..88f8e479 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_path_to_project_with_children.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_path_to_project_with_children.snap @@ -14,6 +14,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: project + schema: ~ name: path-child-project class_name: Folder properties: {} @@ -33,8 +34,8 @@ children: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: SomeChild class_name: Model properties: {} children: [] - diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_path_to_txt.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_path_to_txt.snap index ba9f0cf7..dea385ac 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_path_to_txt.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_path_to_txt.snap @@ -16,6 +16,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: text + schema: ~ name: path-project class_name: StringValue properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_resolved_properties.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_resolved_properties.snap index 27d7004a..ae95e39b 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_resolved_properties.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_resolved_properties.snap @@ -13,10 +13,10 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: resolved-properties class_name: StringValue properties: Value: String: "Hello, world!" children: [] - diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_unresolved_properties.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_unresolved_properties.snap index c6349bae..589ef207 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_unresolved_properties.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__project__test__project_with_unresolved_properties.snap @@ -13,10 +13,10 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: unresolved-properties class_name: StringValue properties: Value: String: Hi! children: [] - diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__toml__test__instance_from_vfs.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__toml__test__instance_from_vfs.snap index 22ae7577..ce112886 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__toml__test__instance_from_vfs.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__toml__test__instance_from_vfs.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: ModuleScript properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__toml__test__with_metadata.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__toml__test__with_metadata.snap index 9905820d..8c8aef67 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__toml__test__with_metadata.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__toml__test__with_metadata.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: manually specified middleware: ~ + schema: ~ name: foo class_name: ModuleScript properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__txt__test__instance_from_vfs.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__txt__test__instance_from_vfs.snap index 769081e2..bde4798e 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__txt__test__instance_from_vfs.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__txt__test__instance_from_vfs.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: StringValue properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__txt__test__with_metadata.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__txt__test__with_metadata.snap index 684d8820..a5047bc3 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__txt__test__with_metadata.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__txt__test__with_metadata.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: manually specified middleware: ~ + schema: ~ name: foo class_name: StringValue properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__yaml__test__instance_from_vfs.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__yaml__test__instance_from_vfs.snap index a59d5fdd..ef749325 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__yaml__test__instance_from_vfs.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__yaml__test__instance_from_vfs.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: ~ middleware: ~ + schema: ~ name: foo class_name: ModuleScript properties: diff --git a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__yaml__test__with_metadata.snap b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__yaml__test__with_metadata.snap index 3afe180a..8a9e1778 100644 --- a/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__yaml__test__with_metadata.snap +++ b/src/snapshot_middleware/snapshots/librojo__snapshot_middleware__yaml__test__with_metadata.snap @@ -15,6 +15,7 @@ metadata: emit_legacy_scripts: true specified_id: manually specified middleware: ~ + schema: ~ name: foo class_name: ModuleScript properties: diff --git a/tests/tests/syncback.rs b/tests/tests/syncback.rs index 41794eb9..851b4e4d 100644 --- a/tests/tests/syncback.rs +++ b/tests/tests/syncback.rs @@ -12,6 +12,9 @@ macro_rules! syncback_tests { for name in $list { let snapshot_name = format!(concat!(stringify!($test_name), "-{}"), name); let new = path.join::<&str>(name); + if !new.exists() { + panic!("the path stub '{}' does not exist after syncback runs. consider double checking for typos.", name); + } if let Some("rbxm") = new.extension().and_then(OsStr::to_str) { let content = fs_err::read(new).unwrap(); snapshot_rbxm(&snapshot_name, content, name); @@ -78,4 +81,5 @@ syncback_tests! { sync_rules => ["src/module.modulescript", "src/text.text"], // Ensures that the `syncUnscriptable` setting works unscriptable_properties => ["default.project.json"], + schema_roundtrip => ["default.project.json", "src/model.model.json", "src/init/init.meta.json", "src/adjacent.meta.json"] }