Add failing spec for notification permission crash

This commit is contained in:
Kevin Sawicki 2016-10-28 10:34:11 -07:00
Родитель 92f8c105d9
Коммит dda3fcef91
2 изменённых файлов: 28 добавлений и 0 удалений

10
spec/fixtures/pages/permissions/notification.html поставляемый Normal file
Просмотреть файл

@ -0,0 +1,10 @@
<script>
var n1 = new Notification('Electron Notification.requestPermission test 1')
var n2 = new Notification('Electron Notification.requestPermission test 2')
Notification.requestPermission().then((result) => {
n1.close()
n2.close()
require('electron').ipcRenderer.sendToHost('message', result)
})
</script>

Просмотреть файл

@ -946,6 +946,24 @@ describe('<webview> tag', function () {
setUpRequestHandler(webview, 'openExternal', done)
document.body.appendChild(webview)
})
it('emits when using Notification.requestPermission', function (done) {
webview.addEventListener('ipc-message', function (e) {
assert.equal(e.channel, 'message')
assert.deepEqual(e.args, ['granted'])
done()
})
webview.src = 'file://' + fixtures + '/pages/permissions/notification.html'
webview.partition = 'permissionTest'
webview.setAttribute('nodeintegration', 'on')
session.fromPartition(webview.partition).setPermissionRequestHandler(function (webContents, permission, callback) {
if (webContents.getId() === webview.getId()) {
assert.equal(permission, 'notifications')
callback(true)
}
})
document.body.appendChild(webview)
})
})
describe('<webview>.getWebContents', function () {