fix: do not mark navigations interupted with same-document navigations as aborted (#18109)

* fix: do not mark navigations interupted with same-document navigations as aborted

* spec: add tests for the loadURL promise
This commit is contained in:
Samuel Attard 2019-05-03 16:19:50 -07:00 committed by GitHub
parent 99d4537075
commit 636273b6cb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 1 deletions

View file

@ -289,6 +289,27 @@ describe('BrowserWindow module', () => {
w.loadURL(`data:image/png;base64,${data}`)
})
it('should return a promise', () => {
const p = w.loadURL('about:blank')
expect(p).to.have.property('then')
})
it('should return a promise that resolves', async () => {
expect(w.loadURL('about:blank')).to.eventually.be.fulfilled()
})
it('should return a promise that rejects on a load failure', async () => {
const data = Buffer.alloc(2 * 1024 * 1024).toString('base64')
const p = w.loadURL(`data:image/png;base64,${data}`)
await expect(p).to.eventually.be.rejected()
})
it('should return a promise that resolves even if pushState occurs during navigation', async () => {
const data = Buffer.alloc(2 * 1024 * 1024).toString('base64')
const p = w.loadURL('data:text/html,<script>window.history.pushState({}, "/foo")</script>')
await expect(p).to.eventually.be.fulfilled()
})
describe('POST navigations', () => {
afterEach(() => { w.webContents.session.webRequest.onBeforeSendHeaders(null) })