use std::process::Command;
#[test]
fn test_ui_framework_compiles() {
let output = Command::new("cargo")
.args(["build", "-p", "windjammer-ui"])
.output()
.expect("Failed to execute cargo build");
assert!(
output.status.success(),
"UI framework failed to compile:\n{}",
String::from_utf8_lossy(&output.stderr)
);
}
#[test]
#[ignore] fn test_ui_framework_wasm_compiles() {
let output = Command::new("cargo")
.args([
"build",
"-p",
"windjammer-ui",
"--target",
"wasm32-unknown-unknown",
])
.output()
.expect("Failed to execute cargo build");
assert!(
output.status.success(),
"UI framework failed to compile for WASM:\n{}",
String::from_utf8_lossy(&output.stderr)
);
}
#[test]
#[ignore] fn test_counter_wasm_binary_compiles() {
let output = Command::new("cargo")
.args([
"build",
"--bin",
"counter_wasm",
"-p",
"windjammer-ui",
"--target",
"wasm32-unknown-unknown",
])
.output()
.expect("Failed to execute cargo build");
assert!(
output.status.success(),
"Counter WASM binary failed to compile:\n{}",
String::from_utf8_lossy(&output.stderr)
);
}
#[test]
#[ignore] fn test_wasm_pack_build() {
let output = Command::new("wasm-pack")
.args(["build", "--target", "web", "crates/windjammer-ui"])
.output()
.expect("Failed to execute wasm-pack");
assert!(
output.status.success(),
"wasm-pack build failed:\n{}",
String::from_utf8_lossy(&output.stderr)
);
}
#[test]
fn test_ui_web_feature_compiles() {
let output = Command::new("cargo")
.args(["build", "-p", "windjammer-ui", "--features", "web"])
.output()
.expect("Failed to execute cargo build");
assert!(
output.status.success(),
"UI framework with web feature failed to compile:\n{}",
String::from_utf8_lossy(&output.stderr)
);
}
#[test]
#[cfg(not(target_os = "linux"))] fn test_ui_desktop_feature_compiles() {
let output = Command::new("cargo")
.args(["build", "-p", "windjammer-ui", "--features", "desktop"])
.output()
.expect("Failed to execute cargo build");
assert!(
output.status.success(),
"UI framework with desktop feature failed to compile:\n{}",
String::from_utf8_lossy(&output.stderr)
);
}
#[test]
fn test_ui_benchmarks_compile() {
let output = Command::new("cargo")
.args(["build", "--benches", "-p", "windjammer-ui"])
.output()
.expect("Failed to execute cargo build");
assert!(
output.status.success(),
"UI benchmarks failed to compile:\n{}",
String::from_utf8_lossy(&output.stderr)
);
}
#[test]
fn test_ui_framework_tests_pass() {
let output = Command::new("cargo")
.args(["test", "-p", "windjammer-ui", "--lib"])
.output()
.expect("Failed to execute cargo test");
assert!(
output.status.success(),
"UI framework tests failed:\n{}",
String::from_utf8_lossy(&output.stderr)
);
}