fix(js): release superseded latest pending state
When data-slhx-policy=latest aborts an in-flight request, release that request's pending UI bookkeeping before starting the replacement request so pending classes, indicators, and disabled controls do not leak. req: convention/006 req: convention/007
This commit is contained in:
@@ -143,6 +143,15 @@ fn runtime_supports_queued_request_policy() {
|
||||
assert!(source.contains("const base = queues.get(target) || active.done"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn runtime_latest_request_policy_releases_superseded_pending_state() {
|
||||
// req: convention/006 req: convention/007
|
||||
let source = slhx_js::RUNTIME_JS;
|
||||
|
||||
assert!(source.contains("if (active && policy === \"latest\") {\n active.abort.abort();\n showPending(target, false);\n }"));
|
||||
assert!(source.contains("if (pending.get(target)?.abort === abort)"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn runtime_exposes_page_swap_hooks() {
|
||||
let source = slhx_js::RUNTIME_JS;
|
||||
|
||||
Reference in New Issue
Block a user