#include "../demo/demo_guard.h" String site_tests_status_class(String status) { if(status == "pass") return("status-ok"); if(status == "fail") return("status-error"); return("status-warn"); } String site_tests_status_label(String status) { if(status == "pass") return("PASS"); if(status == "fail") return("FAIL"); return("SKIP"); } void site_tests_page_start(String title, String description = "") { print(""); print(""); print(""); print(""); print("

UCE Site TestsAPI Docs →

"); print("

", html_escape(title), "

"); if(description != "") print("

", html_escape(description), "

"); } void site_tests_page_end() { print(""); } void site_tests_card(String href, String title, String description, String tags = "") { print(""); print("", html_escape(title), ""); print("", html_escape(description), ""); if(tags != "") print("
", html_escape(tags), "
"); print("
"); } DValue site_tests_manifest(String manifest_path = "manifest.txt") { DValue manifest; for(String line : split(file_get_contents(manifest_path), "\n")) { line = trim(line); if(line == "" || line[0] == '#') continue; StringList parts = split(line, "|"); if(parts.size() < 7) continue; String file = trim(parts[0]); manifest[file]["file"] = file; manifest[file]["title"] = trim(parts[1]); manifest[file]["description"] = trim(parts[2]); manifest[file]["tags"] = trim(parts[3]); manifest[file]["expected"] = trim(parts[4]); manifest[file]["suite"] = trim(parts[5]); manifest[file]["index"] = trim(parts[6]); } return(manifest); } void site_tests_summary(u64 passed, u64 failed, u64 skipped, String note = "") { print("
"); print("passed ", std::to_string(passed), ""); print("failed ", std::to_string(failed), ""); print("skipped ", std::to_string(skipped), ""); print("
"); if(note != "") print("
", html_escape(note), "
"); } void site_tests_case(String name, String status, String detail) { String css = site_tests_status_class(status); String label = site_tests_status_label(status); print("
"); print("", html_escape(name), ""); print("", html_escape(label), ""); print("
", html_escape(detail), "
"); } void site_tests_restricted(Request& context, String title, String risk) { test_demo_render_restricted_html(context, title, risk, "../demo/style.css", "index.uce"); }