Some checks failed
Release & Docker / release (push) Has been cancelled
Error toasts now render an explicit Dismiss button + non-error toasts dismiss on click (#3844, fixes #3842). Frontend-only (ui.js + style.css + structural test). Full suite 8278 passed, ESLint runtime + scope-undef + ruff gates CLEAN, Opus SHIP-safe. Co-authored-by: claw-io <claw-io@users.noreply.github.com>
49 lines
1.7 KiB
Python
49 lines
1.7 KiB
Python
from pathlib import Path
|
|
|
|
|
|
REPO = Path(__file__).resolve().parent.parent
|
|
|
|
|
|
def read(rel: str) -> str:
|
|
return (REPO / rel).read_text(encoding="utf-8")
|
|
|
|
|
|
def test_error_toast_renders_explicit_dismiss_button():
|
|
ui = read("static/ui.js")
|
|
|
|
assert 'class="toast-dismiss"' in ui, (
|
|
"Error toasts must render an explicit dismiss button so users can clear "
|
|
"blocking toasts immediately instead of waiting for the timeout (#3842)."
|
|
)
|
|
assert 'data-toast-dismiss="1"' in ui, (
|
|
"Dismiss button should expose a stable hook for future DOM/runtime tests."
|
|
)
|
|
assert "dismissToast(this)" in ui, (
|
|
"Error toast dismiss control must call a dedicated dismiss helper."
|
|
)
|
|
|
|
|
|
def test_error_toast_dismiss_helper_clears_show_state_and_timer():
|
|
ui = read("static/ui.js")
|
|
|
|
assert "function dismissToast(btnOrEl)" in ui, "Dismiss helper missing from static/ui.js"
|
|
assert "clearToastDismissTimer(el);" in ui, (
|
|
"Dismiss helper must clear the auto-dismiss timer before hiding the toast."
|
|
)
|
|
assert "el.classList.remove('show');" in ui, (
|
|
"Dismiss helper must hide the toast immediately by removing the show class."
|
|
)
|
|
|
|
|
|
def test_toast_styles_define_dismiss_button_layout():
|
|
style = read("static/style.css")
|
|
|
|
assert ".toast-dismiss" in style, (
|
|
"Toast stylesheet must define the dismiss button so it matches the existing "
|
|
"copy-button affordance without adding layout regressions."
|
|
)
|
|
assert ".toast-dismiss:hover,.toast-dismiss:focus-visible" in style, (
|
|
"Dismiss button should have explicit hover/focus-visible styling for keyboard "
|
|
"and pointer accessibility."
|
|
)
|