Skip to content

Commit a38ac3f

Browse files
authored
fix: report hash in page.url() (#2252)
Fixes #2247
1 parent e035bf3 commit a38ac3f

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

src/chromium/crPage.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,7 @@ class FrameSession {
500500
}
501501

502502
_onFrameNavigated(framePayload: Protocol.Page.Frame, initial: boolean) {
503-
this._page._frameManager.frameCommittedNewDocumentNavigation(framePayload.id, framePayload.url, framePayload.name || '', framePayload.loaderId, initial);
503+
this._page._frameManager.frameCommittedNewDocumentNavigation(framePayload.id, framePayload.url + (framePayload.urlFragment || ''), framePayload.name || '', framePayload.loaderId, initial);
504504
if (!initial)
505505
this._firstNonInitialNavigationCommittedFulfill();
506506
}

test/page.spec.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -780,6 +780,14 @@ describe('Page.url', function() {
780780
await page.goto(server.EMPTY_PAGE);
781781
expect(page.url()).toBe(server.EMPTY_PAGE);
782782
});
783+
it('should include hashes', async({page, server}) => {
784+
await page.goto(server.EMPTY_PAGE + '#hash');
785+
expect(page.url()).toBe(server.EMPTY_PAGE + '#hash');
786+
await page.evaluate(() => {
787+
window.location.hash = "dynamic";
788+
});
789+
expect(page.url()).toBe(server.EMPTY_PAGE + '#dynamic');
790+
});
783791
});
784792

785793
describe('Page.title', function() {

test/popup.spec.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,8 @@ describe('Page.Events.Popup', function() {
263263
page.waitForEvent('popup'),
264264
page.evaluate(() => window.__popup = window.open(undefined, null, 'noopener')),
265265
]);
266-
expect(popup.url()).toBe('about:blank');
266+
// Chromium reports `about:blank#blocked` here.
267+
expect(popup.url().split('#')[0]).toBe('about:blank');
267268
expect(await page.evaluate(() => !!window.opener)).toBe(false);
268269
expect(await popup.evaluate(() => !!window.opener)).toBe(false);
269270
await context.close();

0 commit comments

Comments
 (0)