From 007ab077eb0b31e0c7187355c8dd4f34347cfed2 Mon Sep 17 00:00:00 2001 From: Lucien Greathouse Date: Tue, 12 Mar 2019 16:30:07 -0700 Subject: [PATCH] Simplify child matching by relying on ordering, makes tests fail, needs snapshot changes to BTreeMap --- server/tests/test_util/tree.rs | 42 ++--- .../multi_partition_game/initial.tree.json | 126 ++++++------- .../multi_partition_game/with_dir.tree.json | 154 ++++++++-------- .../with_moved_dir.tree.json | 168 +++++++++--------- 4 files changed, 237 insertions(+), 253 deletions(-) diff --git a/server/tests/test_util/tree.rs b/server/tests/test_util/tree.rs index 57ac4f12..7bc2b7fc 100644 --- a/server/tests/test_util/tree.rs +++ b/server/tests/test_util/tree.rs @@ -74,11 +74,15 @@ fn basic_equal(left_tree: &RbxTree, left_id: RbxId, right_tree: &RbxTree, right_ .expect("ID did not exist in right tree"); if left_instance.name != right_instance.name { - return Err(TreeMismatch::new(&left_instance.name, "Name did not match")); + let message = format!("Name did not match ('{}' vs '{}')", left_instance.name, right_instance.name); + + return Err(TreeMismatch::new(&left_instance.name, message)); } if left_instance.class_name != right_instance.class_name { - return Err(TreeMismatch::new(&left_instance.name, "Class name did not match")); + let message = format!("Class name did not match ('{}' vs '{}')", left_instance.class_name, right_instance.class_name); + + return Err(TreeMismatch::new(&left_instance.name, message)); } Ok(()) @@ -146,35 +150,15 @@ fn children_equal(left_tree: &RbxTree, left_id: RbxId, right_tree: &RbxTree, rig return Err(TreeMismatch::new(&left_instance.name, "Instances had different numbers of children")); } - let mut right_visited = HashSet::new(); + for (left_child_id, right_child_id) in left_children.iter().zip(right_children) { + basic_equal(left_tree, *left_child_id, right_tree, *right_child_id) + .map_err(|e| e.add_parent(&left_instance.name))?; - for left_child_id in left_children { - let mut found_match = false; + properties_equal(left_tree, *left_child_id, right_tree, *right_child_id) + .map_err(|e| e.add_parent(&left_instance.name))?; - for right_child_id in right_children { - if right_visited.contains(right_child_id) { - continue; - } - - if basic_equal(left_tree, *left_child_id, right_tree, *right_child_id).is_err() { - continue; - } - - properties_equal(left_tree, *left_child_id, right_tree, *right_child_id) - .map_err(|e| e.add_parent(&left_instance.name))?; - - children_equal(left_tree, *left_child_id, right_tree, *right_child_id) - .map_err(|e| e.add_parent(&left_instance.name))?; - - found_match = true; - right_visited.insert(*right_child_id); - } - - if !found_match { - let left_child = left_tree.get_instance(*left_child_id).unwrap(); - - return Err(TreeMismatch::new(&left_child.name, "Had no equal in right tree")); - } + children_equal(left_tree, *left_child_id, right_tree, *right_child_id) + .map_err(|e| e.add_parent(&left_instance.name))?; } Ok(()) diff --git a/test-projects/multi_partition_game/initial.tree.json b/test-projects/multi_partition_game/initial.tree.json index 0be618f3..c434277d 100644 --- a/test-projects/multi_partition_game/initial.tree.json +++ b/test-projects/multi_partition_game/initial.tree.json @@ -1,19 +1,6 @@ { "instances": { - "a44d135b-d022-4893-8079-d921a7ba7077": { - "Name": "foo", - "ClassName": "StringValue", - "Properties": { - "Value": { - "Type": "String", - "Value": "Hello world, from a/foo.txt" - } - }, - "Id": "a44d135b-d022-4893-8079-d921a7ba7077", - "Children": [], - "Parent": "c3319126-251e-4743-b0b8-3d58c355883e" - }, - "046a1cf5-e720-4647-9161-10998594ca65": { + "daa80612-5a17-4d07-9e4e-baad4d568676": { "Name": "HttpService", "ClassName": "HttpService", "Properties": { @@ -22,67 +9,67 @@ "Value": true } }, - "Id": "046a1cf5-e720-4647-9161-10998594ca65", + "Id": "daa80612-5a17-4d07-9e4e-baad4d568676", "Children": [], - "Parent": "2d857fa5-51e8-4c97-9974-b7e1ec795bba" + "Parent": "0c31c54f-ad78-4bd1-9a85-20b16a992147" }, - "15f73586-bb1b-49c7-b543-c4d05b9f8a60": { - "Name": "ReplicatedStorage", - "ClassName": "ReplicatedStorage", - "Properties": {}, - "Id": "15f73586-bb1b-49c7-b543-c4d05b9f8a60", - "Children": [ - "bb3d7bbd-7c90-4838-95e3-693be4daf727", - "c3319126-251e-4743-b0b8-3d58c355883e" - ], - "Parent": "2d857fa5-51e8-4c97-9974-b7e1ec795bba" - }, - "c3319126-251e-4743-b0b8-3d58c355883e": { - "Name": "Ack", - "ClassName": "Folder", - "Properties": {}, - "Id": "c3319126-251e-4743-b0b8-3d58c355883e", - "Children": [ - "a44d135b-d022-4893-8079-d921a7ba7077", - "031507bd-e81e-481f-a7af-401566afab0f" - ], - "Parent": "15f73586-bb1b-49c7-b543-c4d05b9f8a60" - }, - "4162d6bb-732b-4da4-a917-38d267ff9c42": { - "Name": "something", - "ClassName": "ModuleScript", - "Properties": { - "Source": { - "Type": "String", - "Value": "-- b/something.lua" - } - }, - "Id": "4162d6bb-732b-4da4-a917-38d267ff9c42", - "Children": [], - "Parent": "bb3d7bbd-7c90-4838-95e3-693be4daf727" - }, - "bb3d7bbd-7c90-4838-95e3-693be4daf727": { + "1b9db376-c3b5-406c-8f6d-e2edf7b450ba": { "Name": "Bar", "ClassName": "Folder", "Properties": {}, - "Id": "bb3d7bbd-7c90-4838-95e3-693be4daf727", + "Id": "1b9db376-c3b5-406c-8f6d-e2edf7b450ba", "Children": [ - "4162d6bb-732b-4da4-a917-38d267ff9c42" + "8fca320f-cf3f-4b9f-b232-171533985e7f" ], - "Parent": "15f73586-bb1b-49c7-b543-c4d05b9f8a60" + "Parent": "cc953b08-acb9-4482-9262-be896caaa995" }, - "2d857fa5-51e8-4c97-9974-b7e1ec795bba": { + "cc953b08-acb9-4482-9262-be896caaa995": { + "Name": "ReplicatedStorage", + "ClassName": "ReplicatedStorage", + "Properties": {}, + "Id": "cc953b08-acb9-4482-9262-be896caaa995", + "Children": [ + "a09f9a76-75b0-463c-88cf-23098326fa3a", + "1b9db376-c3b5-406c-8f6d-e2edf7b450ba" + ], + "Parent": "0c31c54f-ad78-4bd1-9a85-20b16a992147" + }, + "a09f9a76-75b0-463c-88cf-23098326fa3a": { + "Name": "Ack", + "ClassName": "Folder", + "Properties": {}, + "Id": "a09f9a76-75b0-463c-88cf-23098326fa3a", + "Children": [ + "005fbb30-ff81-4114-9d0a-9f8344ec9096", + "bf13e09c-2405-4537-acdf-5572d58f53bf" + ], + "Parent": "cc953b08-acb9-4482-9262-be896caaa995" + }, + "005fbb30-ff81-4114-9d0a-9f8344ec9096": { + "Name": "foo", + "ClassName": "StringValue", + "Properties": { + "Value": { + "Type": "String", + "Value": "Hello world, from a/foo.txt" + } + }, + "Id": "005fbb30-ff81-4114-9d0a-9f8344ec9096", + "Children": [], + "Parent": "a09f9a76-75b0-463c-88cf-23098326fa3a" + }, + "0c31c54f-ad78-4bd1-9a85-20b16a992147": { "Name": "multi_partition_game", "ClassName": "DataModel", "Properties": {}, - "Id": "2d857fa5-51e8-4c97-9974-b7e1ec795bba", + "Id": "0c31c54f-ad78-4bd1-9a85-20b16a992147", "Children": [ - "046a1cf5-e720-4647-9161-10998594ca65", - "15f73586-bb1b-49c7-b543-c4d05b9f8a60" + "cc953b08-acb9-4482-9262-be896caaa995", + "daa80612-5a17-4d07-9e4e-baad4d568676" ], "Parent": null }, - "031507bd-e81e-481f-a7af-401566afab0f": { + "bf13e09c-2405-4537-acdf-5572d58f53bf": { "Name": "main", "ClassName": "ModuleScript", "Properties": { @@ -91,10 +78,23 @@ "Value": "-- hello, from a/main.lua" } }, - "Id": "031507bd-e81e-481f-a7af-401566afab0f", + "Id": "bf13e09c-2405-4537-acdf-5572d58f53bf", "Children": [], - "Parent": "c3319126-251e-4743-b0b8-3d58c355883e" + "Parent": "a09f9a76-75b0-463c-88cf-23098326fa3a" + }, + "8fca320f-cf3f-4b9f-b232-171533985e7f": { + "Name": "something", + "ClassName": "ModuleScript", + "Properties": { + "Source": { + "Type": "String", + "Value": "-- b/something.lua" + } + }, + "Id": "8fca320f-cf3f-4b9f-b232-171533985e7f", + "Children": [], + "Parent": "1b9db376-c3b5-406c-8f6d-e2edf7b450ba" } }, - "root_id": "2d857fa5-51e8-4c97-9974-b7e1ec795bba" + "root_id": "0c31c54f-ad78-4bd1-9a85-20b16a992147" } \ No newline at end of file diff --git a/test-projects/multi_partition_game/with_dir.tree.json b/test-projects/multi_partition_game/with_dir.tree.json index ac752fc1..c652c9b5 100644 --- a/test-projects/multi_partition_game/with_dir.tree.json +++ b/test-projects/multi_partition_game/with_dir.tree.json @@ -1,63 +1,6 @@ { "instances": { - "50e71545-7a19-4457-acc7-1e97ae9ece18": { - "Name": "something", - "ClassName": "ModuleScript", - "Properties": { - "Source": { - "Type": "String", - "Value": "-- b/something.lua" - } - }, - "Id": "50e71545-7a19-4457-acc7-1e97ae9ece18", - "Children": [], - "Parent": "9a7e28d7-135d-4b8f-89dd-85bf88416d98" - }, - "9b0799cc-fc16-49ce-8ee9-6feeb52ed6da": { - "Name": "added", - "ClassName": "Folder", - "Properties": {}, - "Id": "9b0799cc-fc16-49ce-8ee9-6feeb52ed6da", - "Children": [], - "Parent": "6d0894f6-0365-4363-839e-66c953b42aa8" - }, - "5bdc78c3-a1a9-47b8-9660-abb01364aa70": { - "Name": "ReplicatedStorage", - "ClassName": "ReplicatedStorage", - "Properties": {}, - "Id": "5bdc78c3-a1a9-47b8-9660-abb01364aa70", - "Children": [ - "9a7e28d7-135d-4b8f-89dd-85bf88416d98", - "6d0894f6-0365-4363-839e-66c953b42aa8" - ], - "Parent": "57609a96-3c79-4456-9630-4d157a5e1ee7" - }, - "675477f2-d101-4d62-bb12-aacb1d1e05b5": { - "Name": "main", - "ClassName": "ModuleScript", - "Properties": { - "Source": { - "Type": "String", - "Value": "-- hello, from a/main.lua" - } - }, - "Id": "675477f2-d101-4d62-bb12-aacb1d1e05b5", - "Children": [], - "Parent": "6d0894f6-0365-4363-839e-66c953b42aa8" - }, - "6d0894f6-0365-4363-839e-66c953b42aa8": { - "Name": "Ack", - "ClassName": "Folder", - "Properties": {}, - "Id": "6d0894f6-0365-4363-839e-66c953b42aa8", - "Children": [ - "4ee48ea8-0f0e-4fcf-ade2-196eda2fa05c", - "675477f2-d101-4d62-bb12-aacb1d1e05b5", - "9b0799cc-fc16-49ce-8ee9-6feeb52ed6da" - ], - "Parent": "5bdc78c3-a1a9-47b8-9660-abb01364aa70" - }, - "c2c90183-dfaa-4ee5-ac31-9d78ae32d3fb": { + "daa80612-5a17-4d07-9e4e-baad4d568676": { "Name": "HttpService", "ClassName": "HttpService", "Properties": { @@ -66,22 +9,52 @@ "Value": true } }, - "Id": "c2c90183-dfaa-4ee5-ac31-9d78ae32d3fb", + "Id": "daa80612-5a17-4d07-9e4e-baad4d568676", "Children": [], - "Parent": "57609a96-3c79-4456-9630-4d157a5e1ee7" + "Parent": "0c31c54f-ad78-4bd1-9a85-20b16a992147" }, - "57609a96-3c79-4456-9630-4d157a5e1ee7": { - "Name": "multi_partition_game", - "ClassName": "DataModel", + "1b9db376-c3b5-406c-8f6d-e2edf7b450ba": { + "Name": "Bar", + "ClassName": "Folder", "Properties": {}, - "Id": "57609a96-3c79-4456-9630-4d157a5e1ee7", + "Id": "1b9db376-c3b5-406c-8f6d-e2edf7b450ba", "Children": [ - "5bdc78c3-a1a9-47b8-9660-abb01364aa70", - "c2c90183-dfaa-4ee5-ac31-9d78ae32d3fb" + "8fca320f-cf3f-4b9f-b232-171533985e7f" ], - "Parent": null + "Parent": "cc953b08-acb9-4482-9262-be896caaa995" }, - "4ee48ea8-0f0e-4fcf-ade2-196eda2fa05c": { + "cc953b08-acb9-4482-9262-be896caaa995": { + "Name": "ReplicatedStorage", + "ClassName": "ReplicatedStorage", + "Properties": {}, + "Id": "cc953b08-acb9-4482-9262-be896caaa995", + "Children": [ + "a09f9a76-75b0-463c-88cf-23098326fa3a", + "1b9db376-c3b5-406c-8f6d-e2edf7b450ba" + ], + "Parent": "0c31c54f-ad78-4bd1-9a85-20b16a992147" + }, + "257fe82d-8711-4c82-a9f7-7a526ca575a4": { + "Name": "added", + "ClassName": "Folder", + "Properties": {}, + "Id": "257fe82d-8711-4c82-a9f7-7a526ca575a4", + "Children": [], + "Parent": "a09f9a76-75b0-463c-88cf-23098326fa3a" + }, + "a09f9a76-75b0-463c-88cf-23098326fa3a": { + "Name": "Ack", + "ClassName": "Folder", + "Properties": {}, + "Id": "a09f9a76-75b0-463c-88cf-23098326fa3a", + "Children": [ + "005fbb30-ff81-4114-9d0a-9f8344ec9096", + "bf13e09c-2405-4537-acdf-5572d58f53bf", + "257fe82d-8711-4c82-a9f7-7a526ca575a4" + ], + "Parent": "cc953b08-acb9-4482-9262-be896caaa995" + }, + "005fbb30-ff81-4114-9d0a-9f8344ec9096": { "Name": "foo", "ClassName": "StringValue", "Properties": { @@ -90,20 +63,47 @@ "Value": "Hello world, from a/foo.txt" } }, - "Id": "4ee48ea8-0f0e-4fcf-ade2-196eda2fa05c", + "Id": "005fbb30-ff81-4114-9d0a-9f8344ec9096", "Children": [], - "Parent": "6d0894f6-0365-4363-839e-66c953b42aa8" + "Parent": "a09f9a76-75b0-463c-88cf-23098326fa3a" }, - "9a7e28d7-135d-4b8f-89dd-85bf88416d98": { - "Name": "Bar", - "ClassName": "Folder", + "0c31c54f-ad78-4bd1-9a85-20b16a992147": { + "Name": "multi_partition_game", + "ClassName": "DataModel", "Properties": {}, - "Id": "9a7e28d7-135d-4b8f-89dd-85bf88416d98", + "Id": "0c31c54f-ad78-4bd1-9a85-20b16a992147", "Children": [ - "50e71545-7a19-4457-acc7-1e97ae9ece18" + "cc953b08-acb9-4482-9262-be896caaa995", + "daa80612-5a17-4d07-9e4e-baad4d568676" ], - "Parent": "5bdc78c3-a1a9-47b8-9660-abb01364aa70" + "Parent": null + }, + "bf13e09c-2405-4537-acdf-5572d58f53bf": { + "Name": "main", + "ClassName": "ModuleScript", + "Properties": { + "Source": { + "Type": "String", + "Value": "-- hello, from a/main.lua" + } + }, + "Id": "bf13e09c-2405-4537-acdf-5572d58f53bf", + "Children": [], + "Parent": "a09f9a76-75b0-463c-88cf-23098326fa3a" + }, + "8fca320f-cf3f-4b9f-b232-171533985e7f": { + "Name": "something", + "ClassName": "ModuleScript", + "Properties": { + "Source": { + "Type": "String", + "Value": "-- b/something.lua" + } + }, + "Id": "8fca320f-cf3f-4b9f-b232-171533985e7f", + "Children": [], + "Parent": "1b9db376-c3b5-406c-8f6d-e2edf7b450ba" } }, - "root_id": "57609a96-3c79-4456-9630-4d157a5e1ee7" + "root_id": "0c31c54f-ad78-4bd1-9a85-20b16a992147" } \ No newline at end of file diff --git a/test-projects/multi_partition_game/with_moved_dir.tree.json b/test-projects/multi_partition_game/with_moved_dir.tree.json index 1a24307c..cbf7e8de 100644 --- a/test-projects/multi_partition_game/with_moved_dir.tree.json +++ b/test-projects/multi_partition_game/with_moved_dir.tree.json @@ -1,78 +1,6 @@ { "instances": { - "833f7f8b-7ec3-4f6a-9476-63af9612510a": { - "Name": "foo", - "ClassName": "StringValue", - "Properties": { - "Value": { - "Type": "String", - "Value": "Hello world, from a/foo.txt" - } - }, - "Id": "833f7f8b-7ec3-4f6a-9476-63af9612510a", - "Children": [], - "Parent": "ea14bb8b-cc04-4b0c-9aae-02f1447cbda7" - }, - "381278fa-4eb9-4110-b64c-3bbdb76a0bd5": { - "Name": "something", - "ClassName": "ModuleScript", - "Properties": { - "Source": { - "Type": "String", - "Value": "-- b/something.lua" - } - }, - "Id": "381278fa-4eb9-4110-b64c-3bbdb76a0bd5", - "Children": [], - "Parent": "74b23f01-582f-4c6b-9f6c-e5c17c41c466" - }, - "74b23f01-582f-4c6b-9f6c-e5c17c41c466": { - "Name": "Bar", - "ClassName": "Folder", - "Properties": {}, - "Id": "74b23f01-582f-4c6b-9f6c-e5c17c41c466", - "Children": [ - "381278fa-4eb9-4110-b64c-3bbdb76a0bd5", - "ce5ccafe-1165-4a3a-afb2-8da27cc123e2" - ], - "Parent": "10f2a2c4-b3e4-478d-84d5-a74a71ee8235" - }, - "caf1ebc4-af44-4cad-935d-b44a8ca57d32": { - "Name": "multi_partition_game", - "ClassName": "DataModel", - "Properties": {}, - "Id": "caf1ebc4-af44-4cad-935d-b44a8ca57d32", - "Children": [ - "10f2a2c4-b3e4-478d-84d5-a74a71ee8235", - "b411bf23-4662-4799-a8eb-6afc1bd8888e" - ], - "Parent": null - }, - "10f2a2c4-b3e4-478d-84d5-a74a71ee8235": { - "Name": "ReplicatedStorage", - "ClassName": "ReplicatedStorage", - "Properties": {}, - "Id": "10f2a2c4-b3e4-478d-84d5-a74a71ee8235", - "Children": [ - "74b23f01-582f-4c6b-9f6c-e5c17c41c466", - "ea14bb8b-cc04-4b0c-9aae-02f1447cbda7" - ], - "Parent": "caf1ebc4-af44-4cad-935d-b44a8ca57d32" - }, - "0de0ab3d-e74a-473b-808a-076febe9d808": { - "Name": "main", - "ClassName": "ModuleScript", - "Properties": { - "Source": { - "Type": "String", - "Value": "-- hello, from a/main.lua" - } - }, - "Id": "0de0ab3d-e74a-473b-808a-076febe9d808", - "Children": [], - "Parent": "ea14bb8b-cc04-4b0c-9aae-02f1447cbda7" - }, - "b411bf23-4662-4799-a8eb-6afc1bd8888e": { + "daa80612-5a17-4d07-9e4e-baad4d568676": { "Name": "HttpService", "ClassName": "HttpService", "Properties": { @@ -81,29 +9,101 @@ "Value": true } }, - "Id": "b411bf23-4662-4799-a8eb-6afc1bd8888e", + "Id": "daa80612-5a17-4d07-9e4e-baad4d568676", "Children": [], - "Parent": "caf1ebc4-af44-4cad-935d-b44a8ca57d32" + "Parent": "0c31c54f-ad78-4bd1-9a85-20b16a992147" }, - "ea14bb8b-cc04-4b0c-9aae-02f1447cbda7": { + "1b9db376-c3b5-406c-8f6d-e2edf7b450ba": { + "Name": "Bar", + "ClassName": "Folder", + "Properties": {}, + "Id": "1b9db376-c3b5-406c-8f6d-e2edf7b450ba", + "Children": [ + "8fca320f-cf3f-4b9f-b232-171533985e7f", + "83693370-350c-4f63-ac66-3bf79681c8b1" + ], + "Parent": "cc953b08-acb9-4482-9262-be896caaa995" + }, + "cc953b08-acb9-4482-9262-be896caaa995": { + "Name": "ReplicatedStorage", + "ClassName": "ReplicatedStorage", + "Properties": {}, + "Id": "cc953b08-acb9-4482-9262-be896caaa995", + "Children": [ + "a09f9a76-75b0-463c-88cf-23098326fa3a", + "1b9db376-c3b5-406c-8f6d-e2edf7b450ba" + ], + "Parent": "0c31c54f-ad78-4bd1-9a85-20b16a992147" + }, + "a09f9a76-75b0-463c-88cf-23098326fa3a": { "Name": "Ack", "ClassName": "Folder", "Properties": {}, - "Id": "ea14bb8b-cc04-4b0c-9aae-02f1447cbda7", + "Id": "a09f9a76-75b0-463c-88cf-23098326fa3a", "Children": [ - "833f7f8b-7ec3-4f6a-9476-63af9612510a", - "0de0ab3d-e74a-473b-808a-076febe9d808" + "005fbb30-ff81-4114-9d0a-9f8344ec9096", + "bf13e09c-2405-4537-acdf-5572d58f53bf" ], - "Parent": "10f2a2c4-b3e4-478d-84d5-a74a71ee8235" + "Parent": "cc953b08-acb9-4482-9262-be896caaa995" }, - "ce5ccafe-1165-4a3a-afb2-8da27cc123e2": { + "83693370-350c-4f63-ac66-3bf79681c8b1": { "Name": "added", "ClassName": "Folder", "Properties": {}, - "Id": "ce5ccafe-1165-4a3a-afb2-8da27cc123e2", + "Id": "83693370-350c-4f63-ac66-3bf79681c8b1", "Children": [], - "Parent": "74b23f01-582f-4c6b-9f6c-e5c17c41c466" + "Parent": "1b9db376-c3b5-406c-8f6d-e2edf7b450ba" + }, + "005fbb30-ff81-4114-9d0a-9f8344ec9096": { + "Name": "foo", + "ClassName": "StringValue", + "Properties": { + "Value": { + "Type": "String", + "Value": "Hello world, from a/foo.txt" + } + }, + "Id": "005fbb30-ff81-4114-9d0a-9f8344ec9096", + "Children": [], + "Parent": "a09f9a76-75b0-463c-88cf-23098326fa3a" + }, + "0c31c54f-ad78-4bd1-9a85-20b16a992147": { + "Name": "multi_partition_game", + "ClassName": "DataModel", + "Properties": {}, + "Id": "0c31c54f-ad78-4bd1-9a85-20b16a992147", + "Children": [ + "cc953b08-acb9-4482-9262-be896caaa995", + "daa80612-5a17-4d07-9e4e-baad4d568676" + ], + "Parent": null + }, + "bf13e09c-2405-4537-acdf-5572d58f53bf": { + "Name": "main", + "ClassName": "ModuleScript", + "Properties": { + "Source": { + "Type": "String", + "Value": "-- hello, from a/main.lua" + } + }, + "Id": "bf13e09c-2405-4537-acdf-5572d58f53bf", + "Children": [], + "Parent": "a09f9a76-75b0-463c-88cf-23098326fa3a" + }, + "8fca320f-cf3f-4b9f-b232-171533985e7f": { + "Name": "something", + "ClassName": "ModuleScript", + "Properties": { + "Source": { + "Type": "String", + "Value": "-- b/something.lua" + } + }, + "Id": "8fca320f-cf3f-4b9f-b232-171533985e7f", + "Children": [], + "Parent": "1b9db376-c3b5-406c-8f6d-e2edf7b450ba" } }, - "root_id": "caf1ebc4-af44-4cad-935d-b44a8ca57d32" + "root_id": "0c31c54f-ad78-4bd1-9a85-20b16a992147" } \ No newline at end of file