#[cfg(test)]
mod test_build {
use std::process::Command;
#[cfg(target_os = "windows")]
static TS_BIN: &str = "./node_modules/.bin/tsc.cmd";
#[cfg(not(target_os = "windows"))]
static TS_BIN: &str = "./node_modules/.bin/tsc";
#[test]
fn builds_without_errors_strict() {
let dir = tempfile::tempdir_in("./tests").unwrap();
let out_path = dir.path().join("api.ts");
bincode_typescript::from_file("./tests/test_types.rs", &out_path, true).unwrap();
let status = Command::new(TS_BIN)
.args(&[
"--strict",
"--declaration",
"--noEmitOnError",
"--noImplicitAny",
"--noImplicitReturns",
"--noFallthroughCasesInSwitch",
"--noUnusedLocals",
"--noUnusedParameters",
"--target",
"ES6",
"--lib",
"ES6,DOM,ESNext.BigInt",
&out_path.to_str().unwrap(),
])
.status()
.expect("failed to start process");
assert!(status.success());
}
}