diff --git a/server/tests/malformed_projects.rs b/server/tests/malformed_projects.rs new file mode 100644 index 00000000..a5bee0a9 --- /dev/null +++ b/server/tests/malformed_projects.rs @@ -0,0 +1,45 @@ +use std::{ + path::{Path, PathBuf}, + sync::Arc, +}; + +use librojo::{ + live_session::LiveSession, + project::Project, +}; + +lazy_static::lazy_static! { + static ref TEST_PROJECTS_ROOT: PathBuf = { + Path::new(env!("CARGO_MANIFEST_DIR")).join("../test-projects") + }; +} + +#[test] +fn bad_json_model() { + let project = Project::load_fuzzy(&TEST_PROJECTS_ROOT.join("bad_json_model")) + .expect("Project file didn't load"); + + if LiveSession::new(Arc::new(project)).is_ok() { + panic!("Project should not have succeeded"); + } +} + +#[test] +fn bad_meta_rbxmx_properties() { + let project = Project::load_fuzzy(&TEST_PROJECTS_ROOT.join("bad_meta_rbxmx_properties")) + .expect("Project file didn't load"); + + if LiveSession::new(Arc::new(project)).is_ok() { + panic!("Project should not have succeeded"); + } +} + +#[test] +fn bad_missing_files() { + let project = Project::load_fuzzy(&TEST_PROJECTS_ROOT.join("bad_missing_files")) + .expect("Project file didn't load"); + + if LiveSession::new(Arc::new(project)).is_ok() { + panic!("Project should not have succeeded"); + } +} \ No newline at end of file diff --git a/test-projects/meta_files_bad/default.project.json b/test-projects/bad_json_model/default.project.json similarity index 57% rename from test-projects/meta_files_bad/default.project.json rename to test-projects/bad_json_model/default.project.json index b0aed992..6ee28290 100644 --- a/test-projects/meta_files_bad/default.project.json +++ b/test-projects/bad_json_model/default.project.json @@ -1,5 +1,5 @@ { - "name": "meta_files_bad", + "name": "bad_json_model", "tree": { "$path": "src" } diff --git a/test-projects/malformed-stuff/src/bad-model.model.json b/test-projects/bad_json_model/src/bad-model.model.json similarity index 100% rename from test-projects/malformed-stuff/src/bad-model.model.json rename to test-projects/bad_json_model/src/bad-model.model.json diff --git a/test-projects/bad_meta_rbxmx_properties/default.project.json b/test-projects/bad_meta_rbxmx_properties/default.project.json new file mode 100644 index 00000000..8481c7f7 --- /dev/null +++ b/test-projects/bad_meta_rbxmx_properties/default.project.json @@ -0,0 +1,6 @@ +{ + "name": "bad_meta_rbxmx_properties", + "tree": { + "$path": "src" + } +} \ No newline at end of file diff --git a/test-projects/meta_files_bad/src/RobloxInstance.meta.json b/test-projects/bad_meta_rbxmx_properties/src/RobloxInstance.meta.json similarity index 100% rename from test-projects/meta_files_bad/src/RobloxInstance.meta.json rename to test-projects/bad_meta_rbxmx_properties/src/RobloxInstance.meta.json diff --git a/test-projects/meta_files_bad/src/RobloxInstance.rbxmx b/test-projects/bad_meta_rbxmx_properties/src/RobloxInstance.rbxmx similarity index 100% rename from test-projects/meta_files_bad/src/RobloxInstance.rbxmx rename to test-projects/bad_meta_rbxmx_properties/src/RobloxInstance.rbxmx diff --git a/test-projects/missing_files/default.project.json b/test-projects/bad_missing_files/default.project.json similarity index 61% rename from test-projects/missing_files/default.project.json rename to test-projects/bad_missing_files/default.project.json index 69fc0af0..e5ada9db 100644 --- a/test-projects/missing_files/default.project.json +++ b/test-projects/bad_missing_files/default.project.json @@ -1,5 +1,5 @@ { - "name": "missing-files", + "name": "bad_missing_files", "tree": { "$path": "does-not-exist" } diff --git a/test-projects/malformed-stuff/default.project.json b/test-projects/malformed-stuff/default.project.json deleted file mode 100644 index 710bd36c..00000000 --- a/test-projects/malformed-stuff/default.project.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "malformed-stuff", - "tree": { - "$path": "src" - } -} \ No newline at end of file