Skip to content

Commit

Permalink
fix(firefox): roll to 1029 and unskip passing tests (#984)
Browse files Browse the repository at this point in the history
  • Loading branch information
dgozman committed Feb 13, 2020
1 parent d790b4c commit 2e0d89e
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 6 deletions.
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -9,7 +9,7 @@
"main": "index.js",
"playwright": {
"chromium_revision": "740847",
"firefox_revision": "1028",
"firefox_revision": "1029",
"webkit_revision": "1148"
},
"scripts": {
Expand Down
3 changes: 2 additions & 1 deletion src/firefox/ffInput.ts
Expand Up @@ -70,7 +70,8 @@ export class RawKeyboardImpl implements input.RawKeyboard {
code,
key,
repeat: autoRepeat,
location
location,
text,
});
}

Expand Down
7 changes: 7 additions & 0 deletions src/firefox/ffPage.ts
Expand Up @@ -73,6 +73,7 @@ export class FFPage implements PageDelegate {
helper.addEventListener(this._session, 'Page.workerCreated', this._onWorkerCreated.bind(this)),
helper.addEventListener(this._session, 'Page.workerDestroyed', this._onWorkerDestroyed.bind(this)),
helper.addEventListener(this._session, 'Page.dispatchMessageFromWorker', this._onDispatchMessageFromWorker.bind(this)),
helper.addEventListener(this._session, 'Page.crashed', this._onCrashed.bind(this)),
];
}

Expand Down Expand Up @@ -229,6 +230,10 @@ export class FFPage implements PageDelegate {
worker.session.dispatchMessage(JSON.parse(event.message));
}

async _onCrashed(event: Protocol.Page.crashedPayload) {
this._page._didCrash();
}

async exposeBinding(name: string, bindingFunction: string): Promise<void> {
await this._session.send('Page.addBinding', {name: name});
await this._session.send('Page.addScriptToEvaluateOnNewDocument', {script: bindingFunction});
Expand Down Expand Up @@ -424,6 +429,8 @@ export class FFPage implements PageDelegate {
objectId: toRemoteObject(handle).objectId!,
executionContextId: (to._delegate as FFExecutionContext)._executionContextId
});
if (!result.remoteObject)
throw new Error('Unable to adopt element handle from a different document');
return to._createHandle(result.remoteObject) as dom.ElementHandle<T>;
}

Expand Down
2 changes: 1 addition & 1 deletion test/elementhandle.spec.js
Expand Up @@ -176,7 +176,7 @@ module.exports.describe = function({testRunner, expect, FFOX, CHROMIUM, WEBKIT})
});
expect(await divHandle.ownerFrame()).toBe(page.mainFrame());
});
it.skip(FFOX)('should work for adopted elements', async({page,server}) => {
it('should work for adopted elements', async({page,server}) => {
await page.goto(server.EMPTY_PAGE);
const [popup] = await Promise.all([
page.waitForEvent('popup').then(async popup => { await popup.waitForLoadState(); return popup; }),
Expand Down
2 changes: 1 addition & 1 deletion test/evaluation.spec.js
Expand Up @@ -378,7 +378,7 @@ module.exports.describe = function({testRunner, expect, FFOX, CHROMIUM, WEBKIT})
const result = await page.evaluate(body => body.innerHTML, bodyHandle);
expect(result.trim()).toBe('<div>Hi, I\'m frame</div>');
});
it.skip(FFOX)('should not allow cross-frame element handles when frames do not script each other', async({page, server}) => {
it('should not allow cross-frame element handles when frames do not script each other', async({page, server}) => {
await page.goto(server.EMPTY_PAGE);
const frame = await utils.attachFrame(page, 'frame1', server.CROSS_PROCESS_PREFIX + '/empty.html');
const bodyHandle = await frame.$('body');
Expand Down
2 changes: 1 addition & 1 deletion test/keyboard.spec.js
Expand Up @@ -71,7 +71,7 @@ module.exports.describe = function({testRunner, expect, FFOX, CHROMIUM, WEBKIT,
await textarea.press('b');
expect(await page.evaluate(() => document.querySelector('textarea').value)).toBe('a');
});
it.skip(FFOX)('ElementHandle.press should support |text| option', async({page, server}) => {
it('ElementHandle.press should support |text| option', async({page, server}) => {
await page.goto(server.PREFIX + '/input/textarea.html');
const textarea = await page.$('textarea');
await textarea.press('a', {text: 'ё'});
Expand Down
5 changes: 4 additions & 1 deletion test/page.spec.js
Expand Up @@ -112,14 +112,17 @@ module.exports.describe = function({testRunner, expect, headless, playwright, FF
});
});

describe.skip(FFOX)('Page.Events.error', function() {
describe('Page.Events.error', function() {
it('should throw when page crashes', async({page}) => {
await page.setContent(`<div>This page should crash</div>`);
let error = null;
page.on('error', err => error = err);
if (CHROMIUM)
page.goto('chrome://crash').catch(e => {});
else if (WEBKIT)
page._delegate._session.send('Page.crash', {}).catch(e => {});
else if (FFOX)
page._delegate._session.send('Page.crash', {}).catch(e => {});
await waitEvent(page, 'error');
expect(error.message).toBe('Page crashed!');
});
Expand Down

0 comments on commit 2e0d89e

Please sign in to comment.