Do a bit of tinkering with instance names relative to files and partitions

This commit is contained in:
Lucien Greathouse
2018-07-03 16:01:34 -07:00
parent bfe8dcd224
commit ae8098b80a
5 changed files with 186 additions and 18 deletions

View File

@@ -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);
}
}