diff --git a/src/components/activities_section.astro b/src/components/activities_section.astro index 86b2ad9..ae0c42a 100644 --- a/src/components/activities_section.astro +++ b/src/components/activities_section.astro @@ -30,6 +30,9 @@ const activities = await getActivities(); diff --git a/tests/e2e/site.spec.ts b/tests/e2e/site.spec.ts index 57eba22..ffe73de 100644 --- a/tests/e2e/site.spec.ts +++ b/tests/e2e/site.spec.ts @@ -173,6 +173,27 @@ test("shows dated activities with their periods, labels, and links", async ({ pa ); }); +test("aligns activity titles and badge widths across entries", async ({ page }) => { + for (const lang of ["ja", "en"] as const) { + await page.goto(`/${lang}/`); + + const entries = page.locator('section[aria-labelledby="activities"] .activity-entry'); + const titleLefts = await entries + .locator(".activity-title") + .evaluateAll((titles) => + titles.map((title) => Math.round(title.getBoundingClientRect().left)), + ); + const badgeWidths = await entries + .locator(".badge") + .evaluateAll((badges) => + badges.map((badge) => Math.round(badge.getBoundingClientRect().width)), + ); + expect(titleLefts.length).toBeGreaterThan(1); + expect(new Set(titleLefts).size).toBe(1); + expect(new Set(badgeWidths).size).toBe(1); + } +}); + test("renders publication collection metadata", async ({ page }) => { await page.goto("/en/");