Test that replacement history entries don't break forward navigation.

This is a test for #7175
This commit is contained in:
Dave Townsend 2016-09-16 17:06:16 -07:00
parent d4b204799d
commit 47df447e4f
2 changed files with 57 additions and 0 deletions

View file

@ -623,6 +623,53 @@ describe('<webview> tag', function () {
})
})
describe('<webview>.goForward()', function () {
it('should work after a replaced history entry', function (done) {
var loadCount = 1
var listener = function (e) {
if (loadCount === 1) {
assert.equal(e.channel, 'history')
assert.equal(e.args[0], 1)
assert(!webview.canGoBack())
assert(!webview.canGoForward())
} else if (loadCount === 2) {
assert.equal(e.channel, 'history')
assert.equal(e.args[0], 2)
assert(!webview.canGoBack())
assert(webview.canGoForward())
webview.removeEventListener('ipc-message', listener)
}
}
var loadListener = function (e) {
if (loadCount === 1) {
webview.src = 'file://' + fixtures + '/pages/base-page.html'
} else if (loadCount === 2) {
assert(webview.canGoBack())
assert(!webview.canGoForward())
webview.goBack()
} else if (loadCount === 3) {
webview.goForward()
} else if (loadCount === 4) {
assert(webview.canGoBack())
assert(!webview.canGoForward())
webview.removeEventListener('did-finish-load', loadListener)
done()
}
loadCount++
}
webview.addEventListener('ipc-message', listener)
webview.addEventListener('did-finish-load', loadListener)
webview.setAttribute('nodeintegration', 'on')
webview.src = 'file://' + fixtures + '/pages/history-replace.html'
document.body.appendChild(webview)
})
})
describe('<webview>.clearHistory()', function () {
it('should clear the navigation history', function (done) {
var listener = function (e) {