Change JSON model naming behavior.

- JSON model names now come from the file name
- The 'Name' field is now optional for the top-level instance
- Snapshot tests run way faster by executing Rojo directly instead of Cargo
This commit is contained in:
Lucien Greathouse
2019-08-15 14:09:16 -07:00
parent 7575504b80
commit 7d45b45667
9 changed files with 84 additions and 12 deletions

View File

@@ -27,6 +27,7 @@ gen_build_tests! {
csv_in_folder,
gitkeep,
json_model_in_folder,
json_model_legacy_name,
module_in_folder,
rbxm_in_folder,
rbxmx_in_folder,
@@ -44,11 +45,16 @@ fn run_build_test(test_name: &str) {
let input_path = build_test_path.join(test_name);
let output_path = output_dir.path().join(format!("{}.rbxmx", test_name));
let status = Command::new("cargo")
let mut exe_path = working_dir.join("target/debug/rojo");
if cfg!(windows) {
exe_path.set_extension("exe");
}
let status = Command::new(exe_path)
.args(&[
"run", "--quiet", "--",
"build", input_path.to_str().unwrap(), "-o", output_path.to_str().unwrap(),
])
.env("RUST_LOG", "error")
.current_dir(working_dir)
.status()
.expect("Couldn't start Rojo");

View File

@@ -1,5 +1,5 @@
---
created: "2019-08-15T01:02:40.318937300Z"
created: "2019-08-15T20:40:50.467761900Z"
creator: insta@0.10.0
source: rojo-test/src/build_test.rs
expression: contents
@@ -11,7 +11,7 @@ expression: contents
</Properties>
<Item class="IntValue" referent="1">
<Properties>
<string name="Name">Top-Level Value</string>
<string name="Name">simple-model</string>
<int name="Value">5</int>
</Properties>
<Item class="Folder" referent="2">

View File

@@ -0,0 +1,18 @@
---
created: "2019-08-15T20:41:28.743618200Z"
creator: insta@0.10.0
source: rojo-test/src/build_test.rs
expression: contents
---
<roblox version="4">
<Item class="Folder" referent="0">
<Properties>
<string name="Name">json_model_legacy_name</string>
</Properties>
<Item class="Folder" referent="1">
<Properties>
<string name="Name">Expected Name</string>
</Properties>
</Item>
</Item>
</roblox>