From aac4a9bfaa9d412532f5e78871b1c531e3651d3d Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Sat, 14 Dec 2019 19:20:25 -0800 Subject: [PATCH] merged the test into features/interception.spec.js --- test/features/ignorehttpserrors.spec.js | 47 ------------------------- test/features/interception.spec.js | 22 +++++++++++- test/playwright.spec.js | 4 --- 3 files changed, 21 insertions(+), 52 deletions(-) delete mode 100644 test/features/ignorehttpserrors.spec.js diff --git a/test/features/ignorehttpserrors.spec.js b/test/features/ignorehttpserrors.spec.js deleted file mode 100644 index f0ea194009..0000000000 --- a/test/features/ignorehttpserrors.spec.js +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2018 Google Inc. All rights reserved. - * Modifications copyright (c) Microsoft Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -module.exports.addTests = function({testRunner, expect, defaultBrowserOptions, playwright, FFOX, CHROME, WEBKIT}) { - const {describe, xdescribe, fdescribe} = testRunner; - const {it, fit, xit} = testRunner; - const {beforeAll, beforeEach, afterAll, afterEach} = testRunner; - describe('ignoreHTTPSErrors', function() { - beforeAll(async state => { - state.browser = await playwright.launch({...defaultBrowserOptions, ignoreHTTPSErrors: true}); - }); - afterAll(async state => { - await state.browser.close(); - delete state.browser; - }); - beforeEach(async state => { - state.context = await state.browser.newContext(); - state.page = await state.context.newPage(); - }); - afterEach(async state => { - await state.context.close(); - delete state.context; - delete state.page; - }); - - it('should work with request interception', async({page, server, httpsServer}) => { - await page.interception.enable(); - page.on('request', request => page.interception.continue(request)); - const response = await page.goto(httpsServer.EMPTY_PAGE); - expect(response.status()).toBe(200); - }); - }); -}; diff --git a/test/features/interception.spec.js b/test/features/interception.spec.js index 5f59e94562..2e1f231372 100644 --- a/test/features/interception.spec.js +++ b/test/features/interception.spec.js @@ -19,7 +19,7 @@ const fs = require('fs'); const path = require('path'); const utils = require('../utils'); -module.exports.addTests = function({testRunner, expect, FFOX, CHROME, WEBKIT}) { +module.exports.addTests = function({testRunner, expect, defaultBrowserOptions, playwright, FFOX, CHROME, WEBKIT}) { const {describe, xdescribe, fdescribe} = testRunner; const {it, fit, xit} = testRunner; const {beforeAll, beforeEach, afterAll, afterEach} = testRunner; @@ -660,6 +660,26 @@ module.exports.addTests = function({testRunner, expect, FFOX, CHROME, WEBKIT}) { expect(nonCachedRequest.headers['if-modified-since']).toBe(undefined); }); }); + + describe('ignoreHTTPSErrors', function() { + fit('should work with mixed content', async({server, httpsServer}) => { + const browser = await playwright.launch({...defaultBrowserOptions, ignoreHTTPSErrors: true}); + const context = await browser.newContext(); + const page = await context.newPage(); + + httpsServer.setRoute('/mixedcontent.html', (req, res) => { + res.end(``); + }); + await page.goto(httpsServer.PREFIX + '/mixedcontent.html', {waitUntil: 'load'}); + expect(page.frames().length).toBe(2); + // Make sure blocked iframe has functional execution context + // @see https://github.com/GoogleChrome/puppeteer/issues/2709 + expect(await page.frames()[0].evaluate('1 + 2')).toBe(3); + expect(await page.frames()[1].evaluate('2 + 3')).toBe(5); + + await browser.close(); + }); + }); }; /** diff --git a/test/playwright.spec.js b/test/playwright.spec.js index 50a87dd19a..c82f07e311 100644 --- a/test/playwright.spec.js +++ b/test/playwright.spec.js @@ -180,10 +180,6 @@ module.exports.addTests = ({testRunner, product, playwrightPath}) => { require('./ignorehttpserrors.spec.js').addTests(testOptions); require('./launcher.spec.js').addTests(testOptions); - if (CHROME || FFOX) { - require('./features/ignorehttpserrors.spec.js').addTests(testOptions); - } - if (CHROME) { require('./chromium/connect.spec.js').addTests(testOptions); require('./chromium/launcher.spec.js').addTests(testOptions);