Add test for nativeWindowOpen + contextIsolation
This commit is contained in:
parent
edeac2f59e
commit
0034b306f5
3 changed files with 37 additions and 0 deletions
|
@ -1122,6 +1122,28 @@ describe('BrowserWindow module', function () {
|
|||
})
|
||||
})
|
||||
|
||||
describe('nativeWindowOpen + contextIsolation options', () => {
|
||||
beforeEach(() => {
|
||||
w.destroy()
|
||||
w = new BrowserWindow({
|
||||
show: false,
|
||||
webPreferences: {
|
||||
nativeWindowOpen: true,
|
||||
contextIsolation: true,
|
||||
preload: path.join(fixtures, 'api', 'native-window-open-isolated-preload.js')
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
it('opens window with cross-scripting enabled from isolated context', (done) => {
|
||||
ipcMain.once('answer', (event, content) => {
|
||||
assert.equal(content, 'Hello')
|
||||
done()
|
||||
})
|
||||
w.loadURL('file://' + path.join(fixtures, 'api', 'native-window-open-isolated.html'))
|
||||
})
|
||||
})
|
||||
|
||||
describe('beforeunload handler', function () {
|
||||
it('returning undefined would not prevent close', function (done) {
|
||||
w.once('closed', function () {
|
||||
|
|
5
spec/fixtures/api/native-window-open-isolated-preload.js
vendored
Normal file
5
spec/fixtures/api/native-window-open-isolated-preload.js
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
const {ipcRenderer} = require('electron')
|
||||
|
||||
window.addEventListener('message', (event) => {
|
||||
ipcRenderer.send('answer', event.data)
|
||||
})
|
10
spec/fixtures/api/native-window-open-isolated.html
vendored
Normal file
10
spec/fixtures/api/native-window-open-isolated.html
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
<html>
|
||||
<body>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
const popup = window.open();
|
||||
popup.document.write('<h1>Hello</h1>');
|
||||
const content = popup.document.querySelector('h1').innerText;
|
||||
window.postMessage(content, '*');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue