Skip to content

Commit fc468cc

Browse files
authored
test: skip remote module related tests when enable_remote_module = false (electron#23557)
1 parent 85fae67 commit fc468cc

File tree

4 files changed

+20
-13
lines changed

4 files changed

+20
-13
lines changed

spec-main/api-browser-window-spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1936,7 +1936,7 @@ describe('BrowserWindow module', () => {
19361936
});
19371937
});
19381938

1939-
describe('"enableRemoteModule" option', () => {
1939+
ifdescribe(features.isRemoteModuleEnabled())('"enableRemoteModule" option', () => {
19401940
const generateSpecs = (description: string, sandbox: boolean) => {
19411941
describe(description, () => {
19421942
const preload = path.join(__dirname, 'fixtures', 'module', 'preload-remote.js');
@@ -2294,7 +2294,7 @@ describe('BrowserWindow module', () => {
22942294
});
22952295

22962296
// see #9387
2297-
it('properly manages remote object references after page reload', (done) => {
2297+
ifit(features.isRemoteModuleEnabled())('properly manages remote object references after page reload', (done) => {
22982298
const w = new BrowserWindow({
22992299
show: false,
23002300
webPreferences: {
@@ -2327,7 +2327,7 @@ describe('BrowserWindow module', () => {
23272327
});
23282328
});
23292329

2330-
it('properly manages remote object references after page reload in child window', (done) => {
2330+
ifit(features.isRemoteModuleEnabled())('properly manages remote object references after page reload in child window', (done) => {
23312331
const w = new BrowserWindow({
23322332
show: false,
23332333
webPreferences: {

spec-main/api-web-contents-spec.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -831,11 +831,10 @@ describe('webContents module', () => {
831831
const protocol = session.defaultSession.protocol;
832832
protocol.registerStringProtocol(scheme, (request, callback) => {
833833
const response = `<script>
834-
const {ipcRenderer, remote} = require('electron')
834+
const {ipcRenderer} = require('electron')
835835
ipcRenderer.send('set-zoom', window.location.hostname)
836836
ipcRenderer.on(window.location.hostname + '-zoom-set', () => {
837-
const { zoomLevel } = remote.getCurrentWebContents()
838-
ipcRenderer.send(window.location.hostname + '-zoom-level', zoomLevel)
837+
ipcRenderer.send(window.location.hostname + '-zoom-level')
839838
})
840839
</script>`;
841840
callback({ data: response, mimeType: 'text/html' });
@@ -921,14 +920,15 @@ describe('webContents module', () => {
921920
});
922921

923922
it('can persist zoom level across navigation', (done) => {
924-
const w = new BrowserWindow({ show: false, webPreferences: { nodeIntegration: true, enableRemoteModule: true } });
923+
const w = new BrowserWindow({ show: false, webPreferences: { nodeIntegration: true } });
925924
let finalNavigation = false;
926925
ipcMain.on('set-zoom', (e, host) => {
927926
const zoomLevel = hostZoomMap[host];
928927
if (!finalNavigation) w.webContents.zoomLevel = zoomLevel;
929928
e.sender.send(`${host}-zoom-set`);
930929
});
931-
ipcMain.on('host1-zoom-level', (e, zoomLevel) => {
930+
ipcMain.on('host1-zoom-level', (e) => {
931+
const zoomLevel = e.sender.getZoomLevel();
932932
const expectedZoomLevel = hostZoomMap.host1;
933933
expect(zoomLevel).to.equal(expectedZoomLevel);
934934
if (finalNavigation) {
@@ -937,7 +937,8 @@ describe('webContents module', () => {
937937
w.loadURL(`${scheme}://host2`);
938938
}
939939
});
940-
ipcMain.once('host2-zoom-level', (e, zoomLevel) => {
940+
ipcMain.once('host2-zoom-level', (e) => {
941+
const zoomLevel = e.sender.getZoomLevel();
941942
const expectedZoomLevel = hostZoomMap.host2;
942943
expect(zoomLevel).to.equal(expectedZoomLevel);
943944
finalNavigation = true;
@@ -947,7 +948,7 @@ describe('webContents module', () => {
947948
});
948949

949950
it('can propagate zoom level across same session', (done) => {
950-
const w = new BrowserWindow({ show: false, webPreferences: { nodeIntegration: true, enableRemoteModule: true } });
951+
const w = new BrowserWindow({ show: false, webPreferences: { nodeIntegration: true } });
951952
const w2 = new BrowserWindow({ show: false });
952953
w2.webContents.on('did-finish-load', () => {
953954
const zoomLevel1 = w.webContents.zoomLevel;
@@ -1047,7 +1048,8 @@ describe('webContents module', () => {
10471048
w2.close();
10481049
done();
10491050
});
1050-
ipcMain.once('temporary-zoom-set', (e, zoomLevel) => {
1051+
ipcMain.once('temporary-zoom-set', (e) => {
1052+
const zoomLevel = e.sender.getZoomLevel();
10511053
w2.loadFile(path.join(fixturesPath, 'pages', 'c.html'));
10521054
finalZoomLevel = zoomLevel;
10531055
});

spec-main/fixtures/module/delete-buffer.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ delete window.Buffer;
66
delete global.Buffer;
77

88
// Test that remote.js doesn't use Buffer global
9-
remote.require(path.join(__dirname, 'print_name.js')).echo(Buffer.from('bar'));
9+
if (remote) {
10+
remote.require(path.join(__dirname, 'print_name.js')).echo(Buffer.from('bar'));
11+
}
1012

1113
window.test = Buffer.from('buffer');

spec-main/webview-spec.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@ import * as path from 'path';
22
import { BrowserWindow, session, ipcMain, app, WebContents } from 'electron/main';
33
import { closeAllWindows } from './window-helpers';
44
import { emittedOnce } from './events-helpers';
5+
import { ifdescribe } from './spec-helpers';
56
import { expect } from 'chai';
67

8+
const features = process.electronBinding('features');
9+
710
async function loadWebView (w: WebContents, attributes: Record<string, string>, openDevTools: boolean = false): Promise<void> {
811
await w.executeJavaScript(`
912
new Promise((resolve, reject) => {
@@ -570,7 +573,7 @@ describe('<webview> tag', function () {
570573
});
571574
});
572575

573-
describe('enableremotemodule attribute', () => {
576+
ifdescribe(features.isRemoteModuleEnabled())('enableremotemodule attribute', () => {
574577
let w: BrowserWindow;
575578
beforeEach(async () => {
576579
w = new BrowserWindow({ show: false, webPreferences: { nodeIntegration: true, webviewTag: true } });

0 commit comments

Comments
 (0)