mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
test: page-level request/response events with SW fetch handlers and interception (#15544)
Relates #15474.
This commit is contained in:
parent
d93abcbe42
commit
60b34e9091
@ -358,6 +358,39 @@ test('setOffline', async ({ context, page, server }) => {
|
|||||||
expect(error).toMatch(/REJECTED.*Failed to fetch/);
|
expect(error).toMatch(/REJECTED.*Failed to fetch/);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('should emit page-level request event for respondWith', async ({ page, server }) => {
|
||||||
|
await page.goto(server.PREFIX + '/serviceworkers/fetchdummy/sw.html');
|
||||||
|
await page.evaluate(() => window['activationPromise']);
|
||||||
|
|
||||||
|
// Sanity check.
|
||||||
|
const [pageReq, swResponse] = await Promise.all([
|
||||||
|
page.waitForEvent('request'),
|
||||||
|
page.evaluate(() => window['fetchDummy']('foo')),
|
||||||
|
]);
|
||||||
|
expect(swResponse).toBe('responseFromServiceWorker:foo');
|
||||||
|
expect(pageReq.url()).toMatch(/fetchdummy\/foo$/);
|
||||||
|
expect(pageReq.serviceWorker()).toBe(null);
|
||||||
|
expect((await pageReq.response()).fromServiceWorker()).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('should emit page-level request event for respondWith when interception enabled', async ({ page, server, context }) => {
|
||||||
|
test.fixme();
|
||||||
|
test.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/15474' });
|
||||||
|
|
||||||
|
await context.route('**', route => route.continue());
|
||||||
|
await page.goto(server.PREFIX + '/serviceworkers/fetchdummy/sw.html');
|
||||||
|
await page.evaluate(() => window['activationPromise']);
|
||||||
|
|
||||||
|
// Sanity check.
|
||||||
|
const [pageReq, swResponse] = await Promise.all([
|
||||||
|
page.waitForEvent('request'),
|
||||||
|
page.evaluate(() => window['fetchDummy']('foo')),
|
||||||
|
]);
|
||||||
|
expect(swResponse).toBe('responseFromServiceWorker:foo');
|
||||||
|
expect(pageReq.url()).toMatch(/fetchdummy\/foo$/);
|
||||||
|
expect(pageReq.serviceWorker()).toBe(null);
|
||||||
|
expect((await pageReq.response()).fromServiceWorker()).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
test('setExtraHTTPHeaders', async ({ context, page, server }) => {
|
test('setExtraHTTPHeaders', async ({ context, page, server }) => {
|
||||||
const [worker] = await Promise.all([
|
const [worker] = await Promise.all([
|
||||||
|
Loading…
x
Reference in New Issue
Block a user