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 () {
|
describe('beforeunload handler', function () {
|
||||||
it('returning undefined would not prevent close', function (done) {
|
it('returning undefined would not prevent close', function (done) {
|
||||||
w.once('closed', function () {
|
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