mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
fix(pipe): dispatch "disconnected" event when browser is terminated (#3472)
This commit is contained in:
parent
9800b2c3c2
commit
3dd5c28f90
@ -27,7 +27,11 @@ class PipeTransport {
|
||||
this._pipeWrite = pipeWrite;
|
||||
this._pendingMessage = '';
|
||||
this._eventListeners = [
|
||||
helper.addEventListener(pipeRead, 'data', buffer => this._dispatch(buffer))
|
||||
helper.addEventListener(pipeRead, 'data', buffer => this._dispatch(buffer)),
|
||||
helper.addEventListener(pipeRead, 'close', () => {
|
||||
if (this.onclose)
|
||||
this.onclose.call(null);
|
||||
})
|
||||
];
|
||||
this.onmessage = null;
|
||||
this.onclose = null;
|
||||
|
@ -217,6 +217,14 @@ module.exports.addTests = function({testRunner, expect, defaultBrowserOptions})
|
||||
await page.close();
|
||||
await browser.close();
|
||||
});
|
||||
it('should fire "disconnected" when closing with pipe', async() => {
|
||||
const options = Object.assign({pipe: true}, defaultBrowserOptions);
|
||||
const browser = await puppeteer.launch(options);
|
||||
const disconnectedEventPromise = new Promise(resolve => browser.once('disconnected', resolve));
|
||||
// Emulate user exiting browser.
|
||||
browser.process().kill();
|
||||
await disconnectedEventPromise;
|
||||
});
|
||||
it('should work with no default arguments', async() => {
|
||||
const options = Object.assign({}, defaultBrowserOptions);
|
||||
options.ignoreDefaultArgs = true;
|
||||
|
Loading…
Reference in New Issue
Block a user