test: actually test sandbox events in the test that says 'test sandbox events' (#19284)

This commit is contained in:
Jeremy Apthorp 2019-07-16 13:43:23 -07:00 committed by GitHub
parent b5f69e0b9f
commit c5e249b85c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 8 deletions

View file

@ -1846,13 +1846,13 @@ describe('BrowserWindow module', () => {
describe('event handling', () => { describe('event handling', () => {
let w: BrowserWindow = null as unknown as BrowserWindow let w: BrowserWindow = null as unknown as BrowserWindow
beforeEach(() => { beforeEach(() => {
w = new BrowserWindow({show: false, webPreferences: {nodeIntegration: true}}) w = new BrowserWindow({show: false, webPreferences: {sandbox: true}})
}) })
it('works for window events', (done) => { it('works for window events', (done) => {
waitForEvents(w, [ waitForEvents(w, [
'page-title-updated' 'page-title-updated'
], done) ], done)
w.loadFile(path.join(fixtures, 'api', 'sandbox.html'), { search: 'window-events' }) w.loadURL(`data:text/html,<script>document.title = 'changed'</script>`)
}) })
it('works for stop events', (done) => { it('works for stop events', (done) => {
@ -1861,7 +1861,7 @@ describe('BrowserWindow module', () => {
'did-fail-load', 'did-fail-load',
'did-stop-loading' 'did-stop-loading'
], done) ], done)
w.loadFile(path.join(fixtures, 'api', 'sandbox.html'), { search: 'webcontents-stop' }) w.loadURL(`data:text/html,<script>stop()</script>`)
}) })
it('works for web contents events', (done) => { it('works for web contents events', (done) => {
@ -1869,7 +1869,8 @@ describe('BrowserWindow module', () => {
'did-finish-load', 'did-finish-load',
'did-frame-finish-load', 'did-frame-finish-load',
'did-navigate-in-page', 'did-navigate-in-page',
'will-navigate', // TODO(nornagon): sandboxed pages should also emit will-navigate
// 'will-navigate',
'did-start-loading', 'did-start-loading',
'did-stop-loading', 'did-stop-loading',
'did-frame-finish-load', 'did-frame-finish-load',

View file

@ -20,12 +20,12 @@
opener.require('electron').ipcRenderer.send('answer', document.body.innerHTML) opener.require('electron').ipcRenderer.send('answer', document.body.innerHTML)
} }
} else { } else {
const {ipcRenderer, remote} = require('electron')
const tests = { const tests = {
'reload-remote-child': () => { 'reload-remote-child': () => {
open(`${location.protocol}//${location.pathname}?reload-remote`) open(`${location.protocol}//${location.pathname}?reload-remote`)
}, },
'reload-remote': async () => { 'reload-remote': async () => {
const {ipcRenderer, remote} = require('electron')
const p = ipcRenderer.sendSync('get-remote-module-path') const p = ipcRenderer.sendSync('get-remote-module-path')
const Hello = remote.require(p) const Hello = remote.require(p)
if (!ipcRenderer.sendSync('reloaded')) { if (!ipcRenderer.sendSync('reloaded')) {
@ -35,9 +35,6 @@
await invokeGc() await invokeGc()
ipcRenderer.send('answer', new Hello().say()) ipcRenderer.send('answer', new Hello().say())
}, },
'window-events': () => {
document.title = 'changed'
},
'webcontents-stop': () => { 'webcontents-stop': () => {
stop() stop()
}, },
@ -50,6 +47,7 @@
}) })
}, },
'exit-event': () => { 'exit-event': () => {
const {ipcRenderer} = require('electron')
process.on('exit', () => { process.on('exit', () => {
ipcRenderer.send('answer', location.href) ipcRenderer.send('answer', location.href)
}) })
@ -65,6 +63,7 @@
}) })
}, },
'window-open-external': () => { 'window-open-external': () => {
const {ipcRenderer} = require('electron')
addEventListener('load', () => { addEventListener('load', () => {
ipcRenderer.once('open-the-popup', (event, url) => { ipcRenderer.once('open-the-popup', (event, url) => {
popup = open(url, '', 'top=65,left=55,width=505,height=605') popup = open(url, '', 'top=65,left=55,width=505,height=605')
@ -82,6 +81,7 @@
}) })
}, },
'verify-ipc-sender': () => { 'verify-ipc-sender': () => {
const {ipcRenderer} = require('electron')
popup = open() popup = open()
ipcRenderer.once('verified', () => { ipcRenderer.once('verified', () => {
ipcRenderer.send('parent-answer') ipcRenderer.send('parent-answer')