#![allow(
clippy::expect_used,
clippy::unwrap_used,
clippy::panic,
clippy::missing_panics_doc
)]
use std::fs;
#[test]
fn validate_all_toml_scenarios() {
let dir = concat!(env!("CARGO_MANIFEST_DIR"), "/examples");
let entries = fs::read_dir(dir).unwrap_or_else(|e| panic!("reading {dir}: {e}"));
let mut toml_files: Vec<_> = entries
.filter_map(Result::ok)
.filter(|e| e.path().extension().is_some_and(|ext| ext == "toml"))
.collect();
toml_files.sort_by_key(std::fs::DirEntry::file_name);
assert!(!toml_files.is_empty(), "no TOML examples found in {dir}");
for entry in &toml_files {
let path = entry.path();
let content =
fs::read_to_string(&path).unwrap_or_else(|e| panic!("reading {}: {e}", path.display()));
let s: llm_browser_testkit::scenario::Scenario =
toml::from_str(&content).unwrap_or_else(|e| panic!("parsing {}: {e}", path.display()));
assert!(!s.test.is_empty(), "{}: no tests defined", path.display());
for t in &s.test {
assert!(
!t.name.is_empty(),
"{}: test has empty name",
path.display()
);
}
}
}