mod module {
static IDL_FIRST: &str = r#"
library IdlTest;
enum Enumeration {
First,
Second,
Third,
}
enum TypeEnumeration {
First: string,
Second: int[],
Third: RecordType,
}
record RecordType {
name: string,
fields: StructType[],
data: byte[],
}
struct StructType {
x: float,
y: float,
}
interface InterfaceService {
hello: (name: string) -> string,
sum: (first: int, second: int) -> int,
sendMessage: (message: string) -> stream string,
}
"#;
static IDS_FIRST: &str = r#"
package IdlTest {
idl: 1,
version: 1,
}
server Maine {
layers: [ws],
language: "rust",
}
client Main {
language: "rust",
servers: [Maine]
}
"#;
use anyhow::Result;
use idl::module::Module;
#[test]
fn try_this() -> Result<()> {
let mut module = Module::new();
module.replace_ids_document("idl_nodes.ids", IDS_FIRST);
module.replace_idl_document("idl_nodes.idl", IDL_FIRST);
module.update()?;
module.idl_documents_are_all_valid().expect("Invalid document");
Ok(())
}
}