From ed67e41a70fe3273002d2068ca2ba2fd41f0cd55 Mon Sep 17 00:00:00 2001 From: Jakub Zych Date: Mon, 12 Oct 2026 19:50:13 +0200 Subject: [PATCH] test(17-06): gate requires every layer test by name --- scripts/check-phase17.sh | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/scripts/check-phase17.sh b/scripts/check-phase17.sh index c37eed2..03b6cae 100755 --- a/scripts/check-phase17.sh +++ b/scripts/check-phase17.sh @@ -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/ 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/ 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() {