From d6b1466c81c18954ef384e0a0f8323712a6fe404 Mon Sep 17 00:00:00 2001 From: George Kalpakas Date: Tue, 1 May 2018 01:19:31 +0300 Subject: [PATCH] test(service-worker): support mock requests with null/empty client ID (#23625) PR Close #23625 --- packages/service-worker/worker/test/happy_spec.ts | 3 ++- packages/service-worker/worker/testing/scope.ts | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/service-worker/worker/test/happy_spec.ts b/packages/service-worker/worker/test/happy_spec.ts index 19cf19b2d8..75275e91a0 100644 --- a/packages/service-worker/worker/test/happy_spec.ts +++ b/packages/service-worker/worker/test/happy_spec.ts @@ -788,7 +788,8 @@ const manifestUpdateHash = sha1(JSON.stringify(manifestUpdate)); })(); async function makeRequest( - scope: SwTestHarness, url: string, clientId = 'default', init?: Object): Promise { + scope: SwTestHarness, url: string, clientId: string | null = 'default', + init?: Object): Promise { const [resPromise, done] = scope.handleFetch(new MockRequest(url, init), clientId); await done; const res = await resPromise; diff --git a/packages/service-worker/worker/testing/scope.ts b/packages/service-worker/worker/testing/scope.ts index 3eb800bbc4..cb647c76dd 100644 --- a/packages/service-worker/worker/testing/scope.ts +++ b/packages/service-worker/worker/testing/scope.ts @@ -187,11 +187,12 @@ export class SwTestHarness implements ServiceWorkerGlobalScope, Adapter, Context waitUntil(promise: Promise): void {} - handleFetch(req: Request, clientId?: string): [Promise, Promise] { + handleFetch(req: Request, clientId: string|null = null): + [Promise, Promise] { if (!this.eventHandlers.has('fetch')) { throw new Error('No fetch handler registered'); } - const event = new MockFetchEvent(req, clientId || null); + const event = new MockFetchEvent(req, clientId); this.eventHandlers.get('fetch') !.call(this, event); if (clientId) { @@ -210,7 +211,7 @@ export class SwTestHarness implements ServiceWorkerGlobalScope, Adapter, Context event = new MockMessageEvent(data, null); } else { this.clients.add(clientId); - event = new MockMessageEvent(data, this.clients.getMock(clientId) as any); + event = new MockMessageEvent(data, this.clients.getMock(clientId) || null); } this.eventHandlers.get('message') !.call(this, event); return event.ready;