test: update headfull chromium expectations after a recent roll (#2908)

This commit is contained in:
Dmitry Gozman 2020-07-10 14:26:49 -07:00 committed by GitHub
parent d561465214
commit 54f9a0dd7b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 5 deletions

View File

@ -16,7 +16,7 @@
*/ */
const utils = require('./utils'); const utils = require('./utils');
const {FFOX, CHROMIUM, WEBKIT, WIN, USES_HOOKS} = utils.testOptions(browserType); const {FFOX, CHROMIUM, WEBKIT, WIN, HEADLESS, USES_HOOKS} = utils.testOptions(browserType);
async function giveItAChanceToClick(page) { async function giveItAChanceToClick(page) {
for (let i = 0; i < 5; i++) for (let i = 0; i < 5; i++)
@ -400,16 +400,17 @@ describe('Page.click', function() {
}); });
await page.click('button', { position: { x: 20, y: 10 } }); await page.click('button', { position: { x: 20, y: 10 } });
expect(await page.evaluate(() => result)).toBe('Clicked'); expect(await page.evaluate(() => result)).toBe('Clicked');
const round = x => Math.round(x + 0.01);
let expected = { x: 28, y: 18 }; // 20;10 + 8px of border in each direction let expected = { x: 28, y: 18 }; // 20;10 + 8px of border in each direction
if (WEBKIT) { if (WEBKIT) {
// WebKit rounds up during css -> dip -> css conversion. // WebKit rounds up during css -> dip -> css conversion.
expected = { x: 29, y: 19 }; expected = { x: 29, y: 19 };
} else if (CHROMIUM) { } else if (CHROMIUM && HEADLESS) {
// Chromium rounds down during css -> dip -> css conversion. // Headless Chromium rounds down during css -> dip -> css conversion.
expected = { x: 27, y: 18 }; expected = { x: 27, y: 18 };
} }
expect(await page.evaluate(() => pageX)).toBe(expected.x); expect(round(await page.evaluate(() => pageX))).toBe(expected.x);
expect(await page.evaluate(() => pageY)).toBe(expected.y); expect(round(await page.evaluate(() => pageY))).toBe(expected.y);
await context.close(); await context.close();
}); });

View File

@ -204,6 +204,7 @@ const utils = module.exports = {
ASSETS_DIR, ASSETS_DIR,
USES_HOOKS: !!process.env.PWCHANNEL, USES_HOOKS: !!process.env.PWCHANNEL,
CHANNEL: !!process.env.PWCHANNEL, CHANNEL: !!process.env.PWCHANNEL,
HEADLESS: !!valueFromEnv('HEADLESS', true),
}; };
}, },
@ -245,3 +246,9 @@ const utils = module.exports = {
return logger; return logger;
}, },
}; };
function valueFromEnv(name, defaultValue) {
if (!(name in process.env))
return defaultValue;
return JSON.parse(process.env[name]);
}