summaryrefslogtreecommitdiffstats
path: root/remote/test/puppeteer/test/src/worker.spec.ts
diff options
context:
space:
mode:
Diffstat (limited to 'remote/test/puppeteer/test/src/worker.spec.ts')
-rw-r--r--remote/test/puppeteer/test/src/worker.spec.ts23
1 files changed, 18 insertions, 5 deletions
diff --git a/remote/test/puppeteer/test/src/worker.spec.ts b/remote/test/puppeteer/test/src/worker.spec.ts
index 254ff4a514..b5b7159e6a 100644
--- a/remote/test/puppeteer/test/src/worker.spec.ts
+++ b/remote/test/puppeteer/test/src/worker.spec.ts
@@ -52,7 +52,10 @@ describe('Workers', function () {
const error = await workerThisObj.getProperty('self').catch(error => {
return error;
});
- expect(error.message).toContain('Most likely the worker has been closed.');
+ expect(error.message).atLeastOneToContain([
+ 'Most likely the worker has been closed.',
+ 'Realm already destroyed.',
+ ]);
});
it('should report console logs', async () => {
const {page} = await getTestState();
@@ -70,7 +73,7 @@ describe('Workers', function () {
columnNumber: 8,
});
});
- it('should have JSHandles for console logs', async () => {
+ it('should work with console logs', async () => {
const {page} = await getTestState();
const logPromise = waitEvent<ConsoleMessage>(page, 'console');
@@ -80,9 +83,6 @@ describe('Workers', function () {
const log = await logPromise;
expect(log.text()).toBe('1 2 3 JSHandle@object');
expect(log.args()).toHaveLength(4);
- expect(await (await log.args()[3]!.getProperty('origin')).jsonValue()).toBe(
- 'null'
- );
});
it('should have an execution context', async () => {
const {page} = await getTestState();
@@ -106,4 +106,17 @@ describe('Workers', function () {
const errorLog = await errorPromise;
expect(errorLog.message).toContain('this is my error');
});
+
+ it('can be closed', async () => {
+ const {page, server} = await getTestState();
+
+ await Promise.all([
+ waitEvent(page, 'workercreated'),
+ page.goto(server.PREFIX + '/worker/worker.html'),
+ ]);
+ const worker = page.workers()[0]!;
+ expect(worker?.url()).toContain('worker.js');
+
+ await Promise.all([waitEvent(page, 'workerdestroyed'), worker?.close()]);
+ });
});