Skip to content

Commit

Permalink
test: add test for consistent hyphen rendering in headless/headed
Browse files Browse the repository at this point in the history
  • Loading branch information
mxschmitt committed Dec 29, 2024
1 parent 4819747 commit 6fa484c
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions tests/library/headful.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -313,3 +313,46 @@ it('headless and headful should use same default fonts', async ({ page, browserN
}
await headlessBrowser.close();
});

it('should have the same hyphen rendering on headless and headed', {
annotation: {
type: 'issue',
description: 'https://github.com/microsoft/playwright/issues/33590'
}
}, async ({ browserType, page, headless, server }) => {
const content = `
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.hyphenated {
width: 100px;
hyphens: auto;
text-align: justify;
border: 1px solid black;
}
</style>
</head>
<body>
<div class="hyphenated">
supercalifragilisticexpialidocious
</div>
</body>
</html>
`;
server.setRoute('/hyphenated.html', (req, res) => {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(content);
});
const oppositeBrowser = await browserType.launch({ headless: !headless });
const oppositePage = await oppositeBrowser.newPage();
await oppositePage.goto(server.PREFIX + '/hyphenated.html');
await page.goto(server.PREFIX + '/hyphenated.html');

const [divHeight1, divHeight2] = await Promise.all([
page.evaluate(() => document.querySelector('.hyphenated').getBoundingClientRect().height),
oppositePage.evaluate(() => document.querySelector('.hyphenated').getBoundingClientRect().height),
]);
expect(divHeight1).toBe(divHeight2);
await oppositeBrowser.close();
});

0 comments on commit 6fa484c

Please sign in to comment.