main
py 17 lines 601 Bytes
Raw
1 from pathlib import Path
2
3
4 PROJECT_ROOT = Path(__file__).resolve().parents[1]
5
6
7 def read(*parts: str) -> str:
8 return PROJECT_ROOT.joinpath(*parts).read_text(encoding="utf-8")
9
10
11 def test_component_loader_deduplicates_body_assets() -> None:
12 source = read("webui", "js", "components.js")
13
14 assert 'const componentAssetSelector = "style, script, link[rel=\'stylesheet\']";' in source
15 assert "...doc.querySelectorAll(componentAssetSelector)" in source
16 assert "...Array.from(doc.body.childNodes).filter(" in source
17 assert "(node) => !node.matches?.(componentAssetSelector)" in source