From 92fa7ddead7f3e78235eaaca702cdf72af006077 Mon Sep 17 00:00:00 2001 From: Andrey Lushnikov Date: Thu, 13 May 2021 13:42:25 -0700 Subject: [PATCH] feat(firefox): roll to latest Firefoxes (#6561) Fixes #4704 --- browsers.json | 4 ++-- src/server/firefox/protocol.ts | 10 +--------- tests/page/page-set-input-files.spec.ts | 26 +++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/browsers.json b/browsers.json index 9f7e3cff50..2a087b6910 100644 --- a/browsers.json +++ b/browsers.json @@ -8,12 +8,12 @@ }, { "name": "firefox", - "revision": "1259", + "revision": "1261", "installByDefault": true }, { "name": "firefox-stable", - "revision": "1248", + "revision": "1251", "installByDefault": false }, { diff --git a/src/server/firefox/protocol.ts b/src/server/firefox/protocol.ts index d0979f2084..b2fe867142 100644 --- a/src/server/firefox/protocol.ts +++ b/src/server/firefox/protocol.ts @@ -504,13 +504,7 @@ export module Protocol { script: string; worldName?: string; }; - export type addScriptToEvaluateOnNewDocumentReturnValue = { - scriptId: string; - }; - export type removeScriptToEvaluateOnNewDocumentParameters = { - scriptId: string; - }; - export type removeScriptToEvaluateOnNewDocumentReturnValue = void; + export type addScriptToEvaluateOnNewDocumentReturnValue = void; export type navigateParameters = { frameId: string; url: string; @@ -1066,7 +1060,6 @@ export module Protocol { "Page.describeNode": Page.describeNodeParameters; "Page.scrollIntoViewIfNeeded": Page.scrollIntoViewIfNeededParameters; "Page.addScriptToEvaluateOnNewDocument": Page.addScriptToEvaluateOnNewDocumentParameters; - "Page.removeScriptToEvaluateOnNewDocument": Page.removeScriptToEvaluateOnNewDocumentParameters; "Page.navigate": Page.navigateParameters; "Page.goBack": Page.goBackParameters; "Page.goForward": Page.goForwardParameters; @@ -1140,7 +1133,6 @@ export module Protocol { "Page.describeNode": Page.describeNodeReturnValue; "Page.scrollIntoViewIfNeeded": Page.scrollIntoViewIfNeededReturnValue; "Page.addScriptToEvaluateOnNewDocument": Page.addScriptToEvaluateOnNewDocumentReturnValue; - "Page.removeScriptToEvaluateOnNewDocument": Page.removeScriptToEvaluateOnNewDocumentReturnValue; "Page.navigate": Page.navigateReturnValue; "Page.goBack": Page.goBackReturnValue; "Page.goForward": Page.goForwardReturnValue; diff --git a/tests/page/page-set-input-files.spec.ts b/tests/page/page-set-input-files.spec.ts index c710b8aeda..6a4ff2907a 100644 --- a/tests/page/page-set-input-files.spec.ts +++ b/tests/page/page-set-input-files.spec.ts @@ -261,6 +261,32 @@ it('should detect mime type', async ({page, server, asset, isAndroid}) => { fs.readFileSync(asset('pptr.png')).toString()); }); +// @see https://github.com/microsoft/playwright/issues/4704 +it('should not trim big uploaded files', async ({page, server, asset, isAndroid}) => { + it.fixme(isAndroid); + + let files; + server.setRoute('/upload', async (req, res) => { + const form = new formidable.IncomingForm(); + form.parse(req, function(err, fields, f) { + files = f; + res.end(); + }); + }); + await page.goto(server.EMPTY_PAGE); + + const DATA_SIZE = Math.pow(2, 20); + await Promise.all([ + page.evaluate(async size => { + const body = new FormData(); + body.set('file', new Blob([new Uint8Array(size)])); + await fetch('/upload', { method: 'POST', body }); + }, DATA_SIZE), + server.waitForRequest('/upload'), + ]); + expect(files.file.size).toBe(DATA_SIZE); +}); + it('should be able to read selected file', async ({page, asset}) => { await page.setContent(``); const [, content] = await Promise.all([