test(service-worker): support mock requests with null/empty client ID (#23625)
PR Close #23625
This commit is contained in:
parent
d1abf4e897
commit
d6b1466c81
@ -788,7 +788,8 @@ const manifestUpdateHash = sha1(JSON.stringify(manifestUpdate));
|
||||
})();
|
||||
|
||||
async function makeRequest(
|
||||
scope: SwTestHarness, url: string, clientId = 'default', init?: Object): Promise<string|null> {
|
||||
scope: SwTestHarness, url: string, clientId: string | null = 'default',
|
||||
init?: Object): Promise<string|null> {
|
||||
const [resPromise, done] = scope.handleFetch(new MockRequest(url, init), clientId);
|
||||
await done;
|
||||
const res = await resPromise;
|
||||
|
@ -187,11 +187,12 @@ export class SwTestHarness implements ServiceWorkerGlobalScope, Adapter, Context
|
||||
|
||||
waitUntil(promise: Promise<void>): void {}
|
||||
|
||||
handleFetch(req: Request, clientId?: string): [Promise<Response|undefined>, Promise<void>] {
|
||||
handleFetch(req: Request, clientId: string|null = null):
|
||||
[Promise<Response|undefined>, Promise<void>] {
|
||||
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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user