fix: report hash in page.url() (#2252)

Fixes #2247
This commit is contained in:
Andrey Lushnikov 2020-05-14 17:23:19 -07:00 committed by GitHub
parent e035bf3b33
commit a38ac3fb62
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 2 deletions

View file

@ -500,7 +500,7 @@ class FrameSession {
}
_onFrameNavigated(framePayload: Protocol.Page.Frame, initial: boolean) {
this._page._frameManager.frameCommittedNewDocumentNavigation(framePayload.id, framePayload.url, framePayload.name || '', framePayload.loaderId, initial);
this._page._frameManager.frameCommittedNewDocumentNavigation(framePayload.id, framePayload.url + (framePayload.urlFragment || ''), framePayload.name || '', framePayload.loaderId, initial);
if (!initial)
this._firstNonInitialNavigationCommittedFulfill();
}

View file

@ -780,6 +780,14 @@ describe('Page.url', function() {
await page.goto(server.EMPTY_PAGE);
expect(page.url()).toBe(server.EMPTY_PAGE);
});
it('should include hashes', async({page, server}) => {
await page.goto(server.EMPTY_PAGE + '#hash');
expect(page.url()).toBe(server.EMPTY_PAGE + '#hash');
await page.evaluate(() => {
window.location.hash = "dynamic";
});
expect(page.url()).toBe(server.EMPTY_PAGE + '#dynamic');
});
});
describe('Page.title', function() {

View file

@ -263,7 +263,8 @@ describe('Page.Events.Popup', function() {
page.waitForEvent('popup'),
page.evaluate(() => window.__popup = window.open(undefined, null, 'noopener')),
]);
expect(popup.url()).toBe('about:blank');
// Chromium reports `about:blank#blocked` here.
expect(popup.url().split('#')[0]).toBe('about:blank');
expect(await page.evaluate(() => !!window.opener)).toBe(false);
expect(await popup.evaluate(() => !!window.opener)).toBe(false);
await context.close();