From 2f5fb4df29a0b3df3c6ab76d7875cf5ea4a64b5c Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Thu, 13 Feb 2020 12:00:43 -0800 Subject: [PATCH] test: add test for navigator.userAgent in popups --- test/playwright.spec.js | 2 +- test/popup.spec.js | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/test/playwright.spec.js b/test/playwright.spec.js index 6329726a39..4cb870eb5e 100644 --- a/test/playwright.spec.js +++ b/test/playwright.spec.js @@ -45,7 +45,7 @@ module.exports.describe = ({testRunner, product, playwrightPath}) => { const headless = !!valueFromEnv('HEADLESS', true); const slowMo = valueFromEnv('SLOW_MO', 0); const CI = valueFromEnv('CI', false); - const dumpProtocolOnFailure = CI || valueFromEnv('DEBUGP', true); + const dumpProtocolOnFailure = CI || valueFromEnv('DEBUGP', false); function valueFromEnv(name, defaultValue) { if (!(name in process.env)) diff --git a/test/popup.spec.js b/test/popup.spec.js index bb7a748a8d..be90356725 100644 --- a/test/popup.spec.js +++ b/test/popup.spec.js @@ -20,18 +20,20 @@ module.exports.describe = function({testRunner, expect, playwright, CHROMIUM, WE const {beforeAll, beforeEach, afterAll, afterEach} = testRunner; 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({ userAgent: 'hey' }); const page = await context.newPage(); await page.goto(server.EMPTY_PAGE); - const evaluatePromise = page.evaluate(url => window.open(url), server.PREFIX + '/dummy.html'); - const popupPromise = page.waitForEvent('popup'); - const request = await server.waitForRequest('/dummy.html'); - await evaluatePromise; - await popupPromise; + const requestPromise = server.waitForRequest('/dummy.html'); + const userAgent = await page.evaluate(url => { + const win = window.open(url); + return win.navigator.userAgent; + }, server.PREFIX + '/dummy.html'); + const request = await requestPromise; await context.close(); + expect(userAgent).toBe('hey'); expect(request.headers['user-agent']).toBe('hey'); }); it.skip(CHROMIUM)('should inherit touch support from browser context', async function({newContext, server}) {