test(17-06): gate requires every layer test by name

This commit is contained in:
2026-10-12 19:50:13 +02:00
parent b4e2232da3
commit ed67e41a70

View File

@@ -147,14 +147,44 @@ ADMIN_REQUIRE=(
# TAP test names.
MENU_LAYER_FILES=(tests/menuLinks.test.ts tests/client.test.ts)
MENU_LAYER_REQUIRE=(
"javascript: and data: URLs render as text with no href"
"_blank links get rel noopener noreferrer"
"rendered: unsafe URLs are a span without href, _blank links carry rel"
"menuPath encodes the code"
"getMenu calls /menus/<code> and passes locale only when set"
"the fetcher base plus the path is the API URL"
"a 404 resolves to null; other errors are thrown"
"a body without data is null; missing items become an empty list"
"isNotFound reads status, statusCode and response.status"
"the server base is used on the server, with the visitor forwarded"
"the public base is used in the browser, without forwarded headers"
"the allowlist takes http, https, mailto, tel, / and #"
"javascript: and data: URLs render as text with no href"
"link kinds: router for site paths, anchor for absolute, mailto, tel and fragments"
"_blank links get rel noopener noreferrer"
"paths normalize: query, hash and trailing slash ignored, decoded"
"active matching compares paths; absolute URLs only on the request host"
"the trail marks ancestors of the active entry"
"fillTitle fills :title"
"rendered: unsafe URLs are a span without href, _blank links carry rel"
"rendered: an entry with children and a URL keeps its link and gets a labelled toggle"
"every refused scheme and spacing renders as text without an href"
"protocol-relative URLs are never site paths: an anchor, never active"
"rel is added only for _blank, whatever the URL kind"
"active matching ignores query, hash and a trailing slash, except that / is only /"
"an absolute URL is active only on the same host"
"the trail marks ancestors only, never the active entry itself"
)
FAQ_LAYER_FILES=(tests/client.test.ts)
FAQ_LAYER_REQUIRE=(
"faqPath encodes the slug"
"getFaq calls /faqs/<slug> and passes locale only when set"
"the fetcher base plus the path is the API URL"
"a 404 resolves to null; other errors are thrown"
"a body without data is null; a null description stays null"
"faqItems keeps only items with a string question and answer"
"isNotFound reads status, statusCode and response.status"
"the slug is encoded, the locale passed as it is"
"a description that is not a string is null; content that is not a list is empty"
"the server base is used on the server, with the visitor forwarded"
"the public base is used in the browser, without forwarded headers"
)
usage() {