test(chromium): failing test for resolving responses after a navigation (#9651)
This commit is contained in:
parent
ba2576c5b9
commit
deec8fd6c2
|
|
@ -15,6 +15,7 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import type { ServerResponse } from '../../utils/testserver';
|
||||||
import { test as it, expect } from './pageTest';
|
import { test as it, expect } from './pageTest';
|
||||||
|
|
||||||
it('Page.Events.Request', async ({ page, server }) => {
|
it('Page.Events.Request', async ({ page, server }) => {
|
||||||
|
|
@ -114,3 +115,25 @@ it('should support redirects', async ({ page, server }) => {
|
||||||
expect(redirectedFrom.redirectedFrom()).toBe(null);
|
expect(redirectedFrom.redirectedFrom()).toBe(null);
|
||||||
expect(redirectedFrom.redirectedTo()).toBe(response.request());
|
expect(redirectedFrom.redirectedTo()).toBe(response.request());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should resolve responses after a navigation', async ({ page, server, browserName }) => {
|
||||||
|
it.fixme(browserName === 'chromium');
|
||||||
|
const responseFromServerPromise = new Promise<ServerResponse>(resolve => {
|
||||||
|
server.setRoute('/foo', (message, response) => {
|
||||||
|
resolve(response);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
await page.goto(server.EMPTY_PAGE);
|
||||||
|
const requestPromise = page.waitForRequest(() => true);
|
||||||
|
// start a long running request and wait until it hits the server
|
||||||
|
await page.evaluate(url => void fetch(url), server.PREFIX + '/foo');
|
||||||
|
const responseFromServer = await responseFromServerPromise;
|
||||||
|
const request = await requestPromise;
|
||||||
|
const responsePromise = request.response();
|
||||||
|
// navigate, which should cancel the request
|
||||||
|
await page.goto(server.CROSS_PROCESS_PREFIX);
|
||||||
|
// make sure we arent stalling this request on the server
|
||||||
|
responseFromServer.end('done');
|
||||||
|
// the response should resolve to null, because the page navigated.
|
||||||
|
expect(await responsePromise).toBe(null);
|
||||||
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue