2026-07-04 16:48:16 +08:00
|
|
|
import { expect, test } from "./helpers";
|
|
|
|
|
|
|
|
|
|
const SPONSOR_URL = "https://github.com/sponsors/snapotter-hq";
|
|
|
|
|
|
|
|
|
|
test.describe("Sponsor button", () => {
|
|
|
|
|
// Pin a desktop viewport so the full pill (with visible text) renders,
|
|
|
|
|
// not the mobile icon-only form.
|
|
|
|
|
test.use({ viewport: { width: 1280, height: 720 } });
|
|
|
|
|
|
|
|
|
|
test("top nav links to GitHub Sponsors with safe rel", async ({ page }) => {
|
|
|
|
|
await page.goto("/");
|
|
|
|
|
|
|
|
|
|
const link = page.locator(`a[href="${SPONSOR_URL}"]`);
|
|
|
|
|
await expect(link).toBeVisible();
|
|
|
|
|
await expect(link).toHaveAttribute("target", "_blank");
|
|
|
|
|
await expect(link).toHaveAttribute("rel", "noopener noreferrer");
|
2026-07-10 11:34:20 +08:00
|
|
|
await expect(link).toContainText(/support us/i);
|
2026-07-08 12:25:46 +08:00
|
|
|
await expect(link).toHaveClass(/bg-pink-50/);
|
|
|
|
|
await expect(link).toHaveClass(/text-pink-700/);
|
|
|
|
|
await expect(link).toHaveClass(/border-pink-200/);
|
2026-07-04 16:48:16 +08:00
|
|
|
});
|
|
|
|
|
});
|