fix(js): expose runtime API before startup
Assign window.hemx before startup side effects so constrained browser contexts can still inspect the runtime and root state even if bootstrap work reports errors. req: runtime/002
This commit is contained in:
@@ -1,3 +1,19 @@
|
||||
#[test]
|
||||
fn runtime_exposes_debug_api_before_startup_side_effects() {
|
||||
// req: runtime/002
|
||||
let source = hemx_js::RUNTIME_JS;
|
||||
|
||||
let api = source
|
||||
.find("window.hemx = Object.freeze")
|
||||
.expect("runtime exposes browser API");
|
||||
let start = source
|
||||
.find("if (document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", start)")
|
||||
.expect("runtime starts after declaration");
|
||||
assert!(api < start);
|
||||
assert!(source.contains("try {\n bootstrapState(root);"));
|
||||
assert!(source.contains("emit(root, \"hemx:error\", String(error));"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn runtime_posts_urlencoded_forms_by_default() {
|
||||
let source = hemx_js::RUNTIME_JS;
|
||||
|
||||
Reference in New Issue
Block a user