feat: refine portfolio content, contact, and supporting media
This commit is contained in:
@@ -55,7 +55,7 @@ test("tabs from the skip link through navigation and every contact action", asyn
|
||||
const expectedTargets = [
|
||||
{ selector: ".skip-link", href: "#portfolio-content" },
|
||||
...navHrefs.map((href) => ({ selector: `nav a[href="${href}"]`, href })),
|
||||
{ selector: '.hero-journey__action--primary', href: 'mailto:luca.pislaru@gmail.com' },
|
||||
{ selector: '.hero-journey__action--primary', href: '#contact' },
|
||||
{ selector: '.hero-journey__actions a[href="#selected-builds"]', href: "#selected-builds" },
|
||||
{
|
||||
selector: 'a[href="https://github.com/LucaPisl/footy-tracker"]',
|
||||
@@ -66,6 +66,14 @@ test("tabs from the skip link through navigation and every contact action", asyn
|
||||
'a[href="https://github.com/LucaPisl/opinion-dynamics-simulation"]',
|
||||
href: "https://github.com/LucaPisl/opinion-dynamics-simulation",
|
||||
},
|
||||
{
|
||||
selector: '.video-controls button',
|
||||
href: null,
|
||||
},
|
||||
{
|
||||
selector: '.video-fallback',
|
||||
href: '/assets/project-private-game-loop.mp4',
|
||||
},
|
||||
{
|
||||
selector:
|
||||
'a[href="https://github.com/LucaPisl/CurrencyConverterAvalonia"]',
|
||||
@@ -76,9 +84,17 @@ test("tabs from the skip link through navigation and every contact action", asyn
|
||||
href: "https://github.com/LucaPisl/LinuxModdingGuide",
|
||||
},
|
||||
{
|
||||
selector: '#contact a[href^="mailto:"]',
|
||||
selector: '#contact :is(a, summary):text-is("Email Me")',
|
||||
href: "mailto:luca.pislaru@gmail.com",
|
||||
},
|
||||
{
|
||||
selector: '#contact summary',
|
||||
href: null,
|
||||
},
|
||||
{
|
||||
selector: '#contact a[href="https://linkedin.com/in/luca-pisl"]',
|
||||
href: "https://linkedin.com/in/luca-pisl",
|
||||
},
|
||||
{
|
||||
selector: '#contact a[href="https://github.com/LucaPisl"]',
|
||||
href: "https://github.com/LucaPisl",
|
||||
@@ -87,17 +103,13 @@ test("tabs from the skip link through navigation and every contact action", asyn
|
||||
selector: '#contact a[href="https://gitlab.com/luca_pisl"]',
|
||||
href: "https://gitlab.com/luca_pisl",
|
||||
},
|
||||
{
|
||||
selector: '#contact a[href="https://linkedin.com/in/luca-pisl"]',
|
||||
href: "https://linkedin.com/in/luca-pisl",
|
||||
},
|
||||
];
|
||||
|
||||
for (const target of expectedTargets) {
|
||||
await page.keyboard.press("Tab");
|
||||
const locator = page.locator(target.selector);
|
||||
await expect(locator).toBeFocused();
|
||||
await expect(locator).toHaveAttribute("href", target.href);
|
||||
if (target.href !== null) await expect(locator).toHaveAttribute("href", target.href);
|
||||
await assertVisibleUnobscuredFocus(page);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user