test: add test for navigator.userAgent in popups
This commit is contained in:
parent
991b89fb11
commit
2f5fb4df29
|
|
@ -45,7 +45,7 @@ module.exports.describe = ({testRunner, product, playwrightPath}) => {
|
||||||
const headless = !!valueFromEnv('HEADLESS', true);
|
const headless = !!valueFromEnv('HEADLESS', true);
|
||||||
const slowMo = valueFromEnv('SLOW_MO', 0);
|
const slowMo = valueFromEnv('SLOW_MO', 0);
|
||||||
const CI = valueFromEnv('CI', false);
|
const CI = valueFromEnv('CI', false);
|
||||||
const dumpProtocolOnFailure = CI || valueFromEnv('DEBUGP', true);
|
const dumpProtocolOnFailure = CI || valueFromEnv('DEBUGP', false);
|
||||||
|
|
||||||
function valueFromEnv(name, defaultValue) {
|
function valueFromEnv(name, defaultValue) {
|
||||||
if (!(name in process.env))
|
if (!(name in process.env))
|
||||||
|
|
|
||||||
|
|
@ -20,18 +20,20 @@ module.exports.describe = function({testRunner, expect, playwright, CHROMIUM, WE
|
||||||
const {beforeAll, beforeEach, afterAll, afterEach} = testRunner;
|
const {beforeAll, beforeEach, afterAll, afterEach} = testRunner;
|
||||||
|
|
||||||
describe('window.open', function() {
|
describe('window.open', function() {
|
||||||
it.skip(CHROMIUM)('should inherit user agent from browser context', async function({newContext, server}) {
|
it.skip(CHROMIUM || WEBKIT)('should inherit user agent from browser context', async function({newContext, server}) {
|
||||||
const context = await newContext({
|
const context = await newContext({
|
||||||
userAgent: 'hey'
|
userAgent: 'hey'
|
||||||
});
|
});
|
||||||
const page = await context.newPage();
|
const page = await context.newPage();
|
||||||
await page.goto(server.EMPTY_PAGE);
|
await page.goto(server.EMPTY_PAGE);
|
||||||
const evaluatePromise = page.evaluate(url => window.open(url), server.PREFIX + '/dummy.html');
|
const requestPromise = server.waitForRequest('/dummy.html');
|
||||||
const popupPromise = page.waitForEvent('popup');
|
const userAgent = await page.evaluate(url => {
|
||||||
const request = await server.waitForRequest('/dummy.html');
|
const win = window.open(url);
|
||||||
await evaluatePromise;
|
return win.navigator.userAgent;
|
||||||
await popupPromise;
|
}, server.PREFIX + '/dummy.html');
|
||||||
|
const request = await requestPromise;
|
||||||
await context.close();
|
await context.close();
|
||||||
|
expect(userAgent).toBe('hey');
|
||||||
expect(request.headers['user-agent']).toBe('hey');
|
expect(request.headers['user-agent']).toBe('hey');
|
||||||
});
|
});
|
||||||
it.skip(CHROMIUM)('should inherit touch support from browser context', async function({newContext, server}) {
|
it.skip(CHROMIUM)('should inherit touch support from browser context', async function({newContext, server}) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue