From 57f3a53a7e99d160a00bb1da7dec131af8873d5a Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Thu, 20 May 2021 09:51:09 -0700 Subject: [PATCH] test: roll to folio@0.4.0-alpha16 (#6656) --- package-lock.json | 60 +++++++++--------- package.json | 2 +- .../chromium/screenshot-mobile-clip.png | Bin 1542 -> 1660 bytes tests/android/androidTest.ts | 9 +-- tests/browsercontext-pages.spec.ts | 2 +- tests/browsertype-connect.spec.ts | 2 +- tests/config/android.config.ts | 11 ++++ tests/config/baseTest.ts | 9 +-- tests/config/browserTest.ts | 1 - tests/config/default.config.ts | 8 +++ tests/config/electron.config.ts | 11 ++++ tests/defaultbrowsercontext-1.spec.ts | 2 +- tests/page/page-drag.spec.ts | 2 +- tests/proxy.spec.ts | 2 +- tests/screenshot.spec.ts | 6 +- tests/signals.spec.ts | 2 +- 16 files changed, 72 insertions(+), 57 deletions(-) diff --git a/package-lock.json b/package-lock.json index 39c4b33ce9..47127feafd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,17 +20,17 @@ "dev": true }, "@babel/core": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.2.tgz", - "integrity": "sha512-OgC1mON+l4U4B4wiohJlQNUU3H73mpTyYY3j/c8U9dr9UagGGSm+WFpzjy/YLdoyjiG++c1kIDgxCo/mLwQJeQ==", + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz", + "integrity": "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.2", + "@babel/generator": "^7.14.3", "@babel/helper-compilation-targets": "^7.13.16", "@babel/helper-module-transforms": "^7.14.2", "@babel/helpers": "^7.14.0", - "@babel/parser": "^7.14.2", + "@babel/parser": "^7.14.3", "@babel/template": "^7.12.13", "@babel/traverse": "^7.14.2", "@babel/types": "^7.14.2", @@ -66,9 +66,9 @@ } }, "@babel/generator": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.2.tgz", - "integrity": "sha512-OnADYbKrffDVai5qcpkMxQ7caomHOoEwjkouqnN2QhydAjowFAZcsdecFIRUBdb+ZcruwYE4ythYmF1UBZU5xQ==", + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.3.tgz", + "integrity": "sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==", "dev": true, "requires": { "@babel/types": "^7.14.2", @@ -114,16 +114,16 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.2.tgz", - "integrity": "sha512-6YctwVsmlkchxfGUogvVrrhzyD3grFJyluj5JgDlQrwfMLJSt5tdAzFZfPf4H2Xoi5YLcQ6BxfJlaOBHuctyIw==", + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.3.tgz", + "integrity": "sha512-BnEfi5+6J2Lte9LeiL6TxLWdIlEv9Woacc1qXzXBgbikcOzMRM2Oya5XGg/f/ngotv1ej2A/b+3iJH8wbS1+lQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.12.13", "@babel/helper-function-name": "^7.14.2", "@babel/helper-member-expression-to-functions": "^7.13.12", "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.12", + "@babel/helper-replace-supers": "^7.14.3", "@babel/helper-split-export-declaration": "^7.12.13" } }, @@ -197,15 +197,15 @@ "dev": true }, "@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", - "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.3.tgz", + "integrity": "sha512-Rlh8qEWZSTfdz+tgNV/N4gz1a0TMNwCUcENhMjHTHKp3LseYH5Jha0NSlyTQWMnjbYcwFt+bqAMqSLHVXkQ6UA==", "dev": true, "requires": { "@babel/helper-member-expression-to-functions": "^7.13.12", "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" + "@babel/traverse": "^7.14.2", + "@babel/types": "^7.14.2" } }, "@babel/helper-simple-access": { @@ -270,9 +270,9 @@ } }, "@babel/parser": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.2.tgz", - "integrity": "sha512-IoVDIHpsgE/fu7eXBeRWt8zLbDrSvD7H1gpomOkPpBoEN8KCruCqSDdqo8dddwQQrui30KSvQBaMUOJiuFu6QQ==", + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.3.tgz", + "integrity": "sha512-7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ==", "dev": true }, "@babel/plugin-proposal-class-properties": { @@ -489,12 +489,12 @@ } }, "@babel/plugin-transform-typescript": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.13.0.tgz", - "integrity": "sha512-elQEwluzaU8R8dbVuW2Q2Y8Nznf7hnjM7+DSCd14Lo5fF63C9qNLbwZYbmZrtV9/ySpSUpkRpQXvJb6xyu4hCQ==", + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.3.tgz", + "integrity": "sha512-G5Bb5pY6tJRTC4ag1visSgiDoGgJ1u1fMUgmc2ijLkcIdzP83Q1qyZX4ggFQ/SkR+PNOatkaYC+nKcTlpsX4ag==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-create-class-features-plugin": "^7.14.3", "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-typescript": "^7.12.13" } @@ -2659,9 +2659,9 @@ } }, "electron-to-chromium": { - "version": "1.3.728", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.728.tgz", - "integrity": "sha512-SHv4ziXruBpb1Nz4aTuqEHBYi/9GNCJMYIJgDEXrp/2V01nFXMNFUTli5Z85f5ivSkioLilQatqBYFB44wNJrA==", + "version": "1.3.734", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.734.tgz", + "integrity": "sha512-iQF2mjPZ6zNNq45kbJ6MYZYCBNdv2JpGiJC/lVx4tGJWi9MNg73KkL9sWGN4X4I/CP2SBLWsT8nPADZZpAHIyw==", "dev": true }, "elliptic": { @@ -3483,9 +3483,9 @@ } }, "folio": { - "version": "0.4.0-alpha14", - "resolved": "https://registry.npmjs.org/folio/-/folio-0.4.0-alpha14.tgz", - "integrity": "sha512-rQdHvFmczTtMFy2mlBRWMX6keC1Dd0bfJzF3NfU/H9JcYrU9zv6TuXiN662hC7Z+aky14JpIRNawwg+FVi1Bog==", + "version": "0.4.0-alpha16", + "resolved": "https://registry.npmjs.org/folio/-/folio-0.4.0-alpha16.tgz", + "integrity": "sha512-rxtXJXLkRnGpWc1tfrz2lI60/T5vb7hEoxmgaZQaq/D7LRrFOqyDWVWy3NKloWGHX+UKFWQERVYO6xRnSbrXnA==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", diff --git a/package.json b/package.json index f0a220220c..538cf7bb84 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "eslint-plugin-notice": "^0.9.10", "eslint-plugin-react-hooks": "^4.2.0", "file-loader": "^6.1.0", - "folio": "=0.4.0-alpha14", + "folio": "=0.4.0-alpha16", "formidable": "^1.2.2", "html-webpack-plugin": "^4.4.1", "ncp": "^2.0.0", diff --git a/tests/__snapshots__/screenshot/should-work-with-a-mobile-viewport-and-clip/chromium/screenshot-mobile-clip.png b/tests/__snapshots__/screenshot/should-work-with-a-mobile-viewport-and-clip/chromium/screenshot-mobile-clip.png index e83fc40c6cf9f1a22a890125e3d52513e9b50657..e0b7ed42f19f742aea4f65d44dbdac706228434a 100644 GIT binary patch delta 1416 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 V0$}z = { +export const androidFixtures: folio.Fixtures = { androidDevice: [ async ({ playwright }, run) => { const device = (await playwright._android.devices())[0]; await device.shell('am force-stop org.chromium.webview_shell'); @@ -51,13 +51,6 @@ export const androidFixtures: folio.Fixtures { - testInfo.data.platform = 'Android'; - testInfo.data.headful = true; - testInfo.data.browserVersion = browserVersion; - await run(); - }, { auto: true } ], - androidContext: [ async ({ androidDevice }, run) => { await run(await androidDevice.launchBrowser()); }, { scope: 'worker' } ], diff --git a/tests/browsercontext-pages.spec.ts b/tests/browsercontext-pages.spec.ts index e944804b92..1e1186eaee 100644 --- a/tests/browsercontext-pages.spec.ts +++ b/tests/browsercontext-pages.spec.ts @@ -132,7 +132,7 @@ it('should return bounding box with page scale', async ({ browser, server, brows }); it('should not leak listeners during navigation of 20 pages', async ({contextFactory, server}) => { - it.slow('We open 20 pages here!'); + it.slow(true, 'We open 20 pages here!'); const context = await contextFactory(); let warning = null; diff --git a/tests/browsertype-connect.spec.ts b/tests/browsertype-connect.spec.ts index e0e528a291..46909e9427 100644 --- a/tests/browsertype-connect.spec.ts +++ b/tests/browsertype-connect.spec.ts @@ -19,7 +19,7 @@ import { playwrightTest as test, expect } from './config/browserTest'; import fs from 'fs'; import * as path from 'path'; -test.slow('All connect tests are slow'); +test.slow(true, 'All connect tests are slow'); test('should be able to reconnect to a browser', async ({browserType, startRemoteServer, server}) => { const remoteServer = await startRemoteServer(); diff --git a/tests/config/android.config.ts b/tests/config/android.config.ts index ff574ae39c..7519a5cf0a 100644 --- a/tests/config/android.config.ts +++ b/tests/config/android.config.ts @@ -39,6 +39,15 @@ const config: folio.Config = { projects: [], }; +const metadata = { + platform: 'Android', + headful: false, + browserName: 'chromium', + channel: undefined, + mode: 'default', + video: false, +}; + config.projects.push({ name: 'android', use: { @@ -47,6 +56,7 @@ config.projects.push({ browserName: 'chromium', }, testDir: path.join(testDir, 'android'), + metadata, }); config.projects.push({ @@ -58,6 +68,7 @@ config.projects.push({ }, testDir: path.join(testDir, 'page'), define: { test: pageTest, fixtures: androidFixtures }, + metadata, }); export default config; diff --git a/tests/config/baseTest.ts b/tests/config/baseTest.ts index 79c11a456d..997fa106f1 100644 --- a/tests/config/baseTest.ts +++ b/tests/config/baseTest.ts @@ -123,15 +123,8 @@ const baseFixtures: folio.Fixtures<{ __baseSetup: void }, BaseOptions & BaseFixt isWindows: [ process.platform === 'win32', { scope: 'worker' } ], isMac: [ process.platform === 'darwin', { scope: 'worker' } ], isLinux: [ process.platform === 'linux', { scope: 'worker' } ], - __baseSetup: [ async ({ browserName, headless, mode, video }, run, testInfo) => { + __baseSetup: [ async ({ browserName }, run, testInfo) => { testInfo.snapshotPathSegment = browserName; - testInfo.data = { browserName }; - if (!headless) - testInfo.data.headful = true; - if (mode !== 'default') - testInfo.data.mode = mode; - if (video) - testInfo.data.video = true; await run(); }, { auto: true } ], }; diff --git a/tests/config/browserTest.ts b/tests/config/browserTest.ts index d2418a65d3..080bd7fc94 100644 --- a/tests/config/browserTest.ts +++ b/tests/config/browserTest.ts @@ -129,7 +129,6 @@ export const playwrightFixtures: folio.Fixtures { - testInfo.data.browserVersion = browserVersion; const debugName = path.relative(testInfo.project.outputDir, testInfo.outputDir).replace(/[\/\\]/g, '-'); const contextOptions = { recordVideo: video ? { dir: testInfo.outputPath('') } : undefined, diff --git a/tests/config/default.config.ts b/tests/config/default.config.ts index 032f2bfc12..f9ebc1eba1 100644 --- a/tests/config/default.config.ts +++ b/tests/config/default.config.ts @@ -83,6 +83,14 @@ for (const browserName of browserNames) { coverageName: browserName, }, define: { test: pageTest, fixtures: pageFixtures }, + metadata: { + platform: process.platform, + headful: !!headed, + browserName, + channel, + mode, + video: !!video, + }, }); } diff --git a/tests/config/electron.config.ts b/tests/config/electron.config.ts index c42bb8dd59..b8df2d16fd 100644 --- a/tests/config/electron.config.ts +++ b/tests/config/electron.config.ts @@ -39,6 +39,15 @@ const config: folio.Config = { projects: [], }; +const metadata = { + platform: process.platform, + headful: true, + browserName: 'electron', + channel: undefined, + mode: 'default', + video: false, +}; + config.projects.push({ name: 'electron', use: { @@ -47,6 +56,7 @@ config.projects.push({ coverageName: 'electron', }, testDir: path.join(testDir, 'electron'), + metadata, }); config.projects.push({ @@ -58,6 +68,7 @@ config.projects.push({ }, testDir: path.join(testDir, 'page'), define: { test: pageTest, fixtures: electronFixtures }, + metadata, }); export default config; diff --git a/tests/defaultbrowsercontext-1.spec.ts b/tests/defaultbrowsercontext-1.spec.ts index 7fdda91a12..703b8dbd64 100644 --- a/tests/defaultbrowsercontext-1.spec.ts +++ b/tests/defaultbrowsercontext-1.spec.ts @@ -171,7 +171,7 @@ it('should support offline option', async ({server, launchPersistent}) => { }); it('should support acceptDownloads option', async ({server, launchPersistent}) => { - it.skip('Unskip once we support downloads in persistent context.'); + it.skip(true, 'Unskip once we support downloads in persistent context.'); const {page} = await launchPersistent({acceptDownloads: true}); server.setRoute('/download', (req, res) => { diff --git a/tests/page/page-drag.spec.ts b/tests/page/page-drag.spec.ts index 910f3cf93d..45a89ffe6a 100644 --- a/tests/page/page-drag.spec.ts +++ b/tests/page/page-drag.spec.ts @@ -72,7 +72,7 @@ it.describe('Drag and drop', () => { }); it.describe('iframe', () => { - it.fixme('implement dragging with iframes'); + it.fixme(true, 'implement dragging with iframes'); it('should drag into an iframe', async ({server, page, browserName}) => { await page.goto(server.PREFIX + '/drag-n-drop.html'); diff --git a/tests/proxy.spec.ts b/tests/proxy.spec.ts index eadd2d47bd..0baa67e546 100644 --- a/tests/proxy.spec.ts +++ b/tests/proxy.spec.ts @@ -175,7 +175,7 @@ it('does launch without a port', async ({ browserType, browserOptions }) => { }); it('should use proxy', async ({ browserType, browserOptions }) => { - it.fixme('Non-emulated user agent is used in proxy CONNECT'); + it.fixme(true, 'Non-emulated user agent is used in proxy CONNECT'); let requestText = ''; // This is our proxy server diff --git a/tests/screenshot.spec.ts b/tests/screenshot.spec.ts index fd63659b29..9908bdeaeb 100644 --- a/tests/screenshot.spec.ts +++ b/tests/screenshot.spec.ts @@ -51,9 +51,9 @@ browserTest.describe('page screenshot', () => { await context.close(); }); - browserTest('should work with a mobile viewport and clip', async ({browser, server, browserName}) => { + browserTest('should work with a mobile viewport and clip', async ({browser, server, browserName, channel}) => { browserTest.skip(browserName === 'firefox'); - browserTest.skip(process.env.CRPATH); // Does not work in stable Chrome. + browserTest.skip(!!channel, 'Different result in stable/beta'); const context = await browser.newContext({viewport: { width: 320, height: 480 }, isMobile: true}); const page = await context.newPage(); @@ -85,7 +85,7 @@ browserTest.describe('page screenshot', () => { browserTest('should work with large size', async ({ browserName, headless, platform, contextFactory }) => { browserTest.fixme(browserName === 'chromium' && !headless && platform === 'linux', 'Chromium has gpu problems on linux with large screnshots'); - browserTest.slow('Large screenshot is slow'); + browserTest.slow(true, 'Large screenshot is slow'); const context = await contextFactory(); const page = await context.newPage(); diff --git a/tests/signals.spec.ts b/tests/signals.spec.ts index 0cc90d3b72..8baf495869 100644 --- a/tests/signals.spec.ts +++ b/tests/signals.spec.ts @@ -18,7 +18,7 @@ import { playwrightTest as test, expect } from './config/browserTest'; import { execSync } from 'child_process'; -test.slow('All signal tests are slow'); +test.slow(); test('should close the browser when the node process closes', async ({startRemoteServer, isWindows, server}) => { const remoteServer = await startRemoteServer({ url: server.EMPTY_PAGE });