Files
daniel156161 a9071abc9a
Package Extension / package-extension (push) Successful in 24s
Build & Publish Package / publish (push) Successful in 31s
Testing / test (push) Successful in 26s
cleanup tests
2026-05-02 01:48:13 +02:00

59 lines
1.7 KiB
Python

"""Tests for extract.* commands (require an http/https active tab)."""
def test_extract_links(browser, http_tab):
browser("tabs.active", {"tabId": http_tab["id"]})
links = browser("extract.links")
assert isinstance(links, list)
hrefs = []
for lnk in links:
assert "href" in lnk
assert "text" in lnk
hrefs.append(lnk["href"])
assert len(hrefs) == len(set(hrefs))
def test_extract_images(browser, http_tab):
browser("tabs.active", {"tabId": http_tab["id"]})
images = browser("extract.images")
assert isinstance(images, list)
sources = []
for img in images:
assert "src" in img
assert img["src"] != ""
sources.append(img["src"])
assert len(sources) == len(set(sources))
def test_extract_text(browser, http_tab):
browser("tabs.active", {"tabId": http_tab["id"]})
text = browser("extract.text")
assert isinstance(text, str)
assert len(text) > 0
def test_extract_html(browser, http_tab):
browser("tabs.active", {"tabId": http_tab["id"]})
html = browser("extract.html")
assert isinstance(html, str)
assert "<" in html
def test_extract_markdown(browser, http_tab):
browser("tabs.active", {"tabId": http_tab["id"]})
markdown = browser("extract.markdown")
assert isinstance(markdown, str)
assert len(markdown.strip()) > 0
def test_extract_markdown_missing_selector_errors(browser, http_tab):
browser("tabs.active", {"tabId": http_tab["id"]})
assert browser("dom.exists", {"selector": ".browser-cli-definitely-missing"}) is False
try:
browser("extract.markdown", {"selector": ".browser-cli-definitely-missing"})
except RuntimeError as exc:
assert "No element" in str(exc)