Przeglądaj źródła

Refine TAGLINE replacement and expand E2E coverage

Agent-Logs-Url: https://github.com/librespeed/speedtest/sessions/e1da6e0e-5194-453d-bffb-961ed782e215

Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
copilot-swe-agent[bot] 3 miesięcy temu
rodzic
commit
aeca99505b

+ 2 - 2
docker/entrypoint.sh

@@ -110,12 +110,12 @@ if [[ "$MODE" == "frontend" || "$MODE" == "dual" ||  "$MODE" == "standalone" ]];
   fi
 
   # Replace modern page tagline if TAGLINE is set
-  if [ ! -z "$TAGLINE" ]; then
+  if [ -n "$TAGLINE" ]; then
     TAGLINE_ONE_LINE=${TAGLINE//$'\r'/}
     TAGLINE_ONE_LINE=${TAGLINE_ONE_LINE//$'\n'/ }
     TAGLINE_HTML_ESCAPED=$(html_escape "$TAGLINE_ONE_LINE")
     TAGLINE_ESCAPED=$(sed_escape "$TAGLINE_HTML_ESCAPED")
-    sed -i "s/<p class=\"tagline\">No Flash, No Java, No Websockets, No Bullsh\\*t<\\/p>/<p class=\"tagline\">$TAGLINE_ESCAPED<\\/p>/g" /var/www/html/index-modern.html
+    sed -i "s#<p class=\"tagline\">No Flash, No Java, No Websockets, No Bullsh\\*t<\\/p>#<p class=\"tagline\">$TAGLINE_ESCAPED<\\/p>#g" /var/www/html/index-modern.html
   fi
   
   # Support legacy EMAIL env var as fallback for GDPR_EMAIL

+ 3 - 0
tests/e2e/modes.spec.js

@@ -2,6 +2,8 @@ const { test, expect } = require('@playwright/test');
 const { baseUrls } = require('./helpers/env');
 const { modernStartButton } = require('./helpers/ui');
 
+const defaultTagline = 'No Flash, No Java, No Websockets, No Bullsh*t';
+
 test.describe('Runtime mode smoke coverage', () => {
   test('standalone exposes UI and local backend endpoints', async ({ page, request }) => {
     const root = await request.get(`${baseUrls.standalone}/`);
@@ -18,6 +20,7 @@ test.describe('Runtime mode smoke coverage', () => {
 
     await page.goto(`${baseUrls.standalone}/index-modern.html`);
     await expect(modernStartButton(page)).toBeVisible();
+    await expect(page.locator('main > p.tagline')).toHaveText(defaultTagline);
   });
 
   test('backend exposes only local backend contract endpoints', async ({ request }) => {

+ 1 - 1
tests/e2e/title-special-chars.spec.js

@@ -4,7 +4,7 @@ const { baseUrls } = require('./helpers/env');
 const specialTitle = 'Grüße "Tempo" \'Österreich\'';
 const specialTagline = 'No "Flash", <No Java>, No Websockets & No Bullsh*t';
 
-test.describe('TITLE special characters', () => {
+test.describe('TITLE and TAGLINE special characters', () => {
   test('modern page title supports umlauts and quotes', async ({ page }) => {
     await page.goto(`${baseUrls.standaloneNew}/index-modern.html`);
     await expect(page).toHaveTitle(`${specialTitle} - Free and Open Source Speedtest`);