forked from rojo-rbx/rojo
Do a bit of tinkering with instance names relative to files and partitions
This commit is contained in:
@@ -390,4 +390,62 @@ fn one_partition() {
|
||||
}
|
||||
|
||||
// TODO: Test to change existing instance
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn partition_to_file() {
|
||||
let original_project_path = {
|
||||
let mut path = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
|
||||
path.push("test-projects/partition-to-file");
|
||||
path
|
||||
};
|
||||
|
||||
let project_tempdir = tempfile::tempdir().unwrap();
|
||||
let project_path = project_tempdir.path();
|
||||
|
||||
copy_recursive(&original_project_path, &project_path).unwrap();
|
||||
|
||||
let project = Project::load(&project_path).unwrap();
|
||||
let mut session = Session::new(project.clone());
|
||||
session.start();
|
||||
|
||||
let web_config = WebConfig::from_session(0, project.serve_port, &session);
|
||||
let server = Server::new(web_config);
|
||||
|
||||
{
|
||||
let body = server.get_string("/api/rojo");
|
||||
let response = serde_json::from_str::<ServerInfoResponse>(&body).unwrap();
|
||||
|
||||
assert_eq!(response.server_id, "0");
|
||||
assert_eq!(response.protocol_version, 2);
|
||||
assert_eq!(response.partitions.len(), 1);
|
||||
}
|
||||
|
||||
{
|
||||
let body = server.get_string("/api/read_all");
|
||||
let response = serde_json::from_str::<ReadAllResponse>(&body).unwrap();
|
||||
|
||||
assert_eq!(response.server_id, "0");
|
||||
assert_eq!(response.message_cursor, -1);
|
||||
assert_eq!(response.instances.len(), 1);
|
||||
|
||||
let instance = response.instances.values().next().unwrap();
|
||||
|
||||
assert_eq!(instance.name, "bar");
|
||||
assert_eq!(instance.class_name, "ModuleScript");
|
||||
assert_eq!(instance.properties.get("Source"), Some(&RbxValue::String { value: "-- foo.lua".to_string() }));
|
||||
assert_eq!(instance.children.len(), 0);
|
||||
assert_eq!(instance.parent, None);
|
||||
|
||||
let body = server.get_string("/api/read/0");
|
||||
let response = serde_json::from_str::<ReadResponse>(&body).unwrap();
|
||||
|
||||
assert_eq!(response.server_id, "0");
|
||||
assert_eq!(response.message_cursor, -1);
|
||||
assert_eq!(response.instances.len(), 1);
|
||||
|
||||
let single_instance = response.instances.values().next().unwrap();
|
||||
|
||||
assert_eq!(&Cow::Borrowed(instance), single_instance);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user