diff --git a/scripts/finalize-base-path.mjs b/scripts/finalize-base-path.mjs index dc9a209ae..88e7a3179 100644 --- a/scripts/finalize-base-path.mjs +++ b/scripts/finalize-base-path.mjs @@ -26,6 +26,8 @@ function prefixPublicAssets(content) { .replaceAll("'/images/", `'${BASE_PATH}/images/`) .replaceAll('"/favicon.ico"', `"${BASE_PATH}/favicon.ico"`) .replaceAll("'/favicon.ico'", `'${BASE_PATH}/favicon.ico'`) + .replaceAll('"/langbot-logo.png"', `"${BASE_PATH}/langbot-logo.png"`) + .replaceAll("'/langbot-logo.png'", `'${BASE_PATH}/langbot-logo.png'`) .replaceAll('"/rss.xml"', `"${BASE_PATH}/rss.xml"`) .replaceAll("'/rss.xml'", `'${BASE_PATH}/rss.xml'`); } diff --git a/tests/fumapress-static-build.test.mjs b/tests/fumapress-static-build.test.mjs index e0aa16ee8..aefb55853 100644 --- a/tests/fumapress-static-build.test.mjs +++ b/tests/fumapress-static-build.test.mjs @@ -253,6 +253,8 @@ test("rendered navbar and documentation tree use each locale's docs.json labels" for (const locale of locales) { const html = await readFile(path.join(publicRoot, locale, "insight/guide/index.html"), "utf8"); for (const value of expected[locale]) assert.ok(html.includes(value), `${locale} navbar missing ${value}`); + assert.match(html, /]+src="\/docs\/langbot-logo\.png"[^>]*>/, `${locale} docs brand logo is not base-path scoped`); + assert.doesNotMatch(html, /]+src="\/langbot-logo\.png"[^>]*>/, `${locale} docs brand logo points outside /docs`); assert.ok(!html.includes(`href="${removedHomeLinks[locale]}"`), `${locale} navbar still includes Home`); for (const languageName of ["English", "简体中文", "日本語"]) { assert.ok(html.includes(languageName), `${locale} language selector missing ${languageName}`);