Files
browser-cli/tests/test_extension_error_page_handling.py
T
daniel156161 f79ff0e3c2
Testing / test (push) Successful in 37s
Testing / remote-protocol-compat (0.9.3) (push) Successful in 39s
Testing / remote-protocol-compat (0.9.5) (push) Successful in 24s
fix(extension): handle browser error pages gracefully
- Treat chrome error page script failures as transient during injection retries.
- Return safe fallback values for read-only DOM commands when tabs land on browser error pages.
- Improve URL watch handling by checking pending URLs and reporting last seen URL/status on timeout.
- Bump package and extension version to 0.9.6 and add regression coverage for error-page behavior.
2026-05-14 13:39:09 +02:00

29 lines
1002 B
Python

from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
def test_extension_retries_error_page_script_injection_before_failing():
core = (ROOT / "extension" / "src" / "core.ts").read_text()
assert "isErrorPageScriptError" in core
assert "chrome-error://chromewebdata" in core
assert "isTransientScriptError(e)" in core
def test_read_only_dom_commands_have_error_page_fallbacks():
dom = (ROOT / "extension" / "src" / "commands" / "dom.ts").read_text()
assert "fallbackForErrorPageDomOp" in dom
assert 'case "domExists":' in dom
assert "return false;" in dom
assert 'case "domQuery":' in dom
assert 'case "extractText":' in dom
assert "isErrorPageScriptError(e)" in dom
def test_tabs_watch_url_reports_last_seen_url_on_timeout():
tabs = (ROOT / "extension" / "src" / "commands" / "tabs.ts").read_text()
assert "lastUrl" in tabs
assert "lastStatus" in tabs
assert "showing an error page" in tabs
assert "last URL:" in tabs