diff --git a/spec/fixtures/api/electron-module-app/index.html b/spec/fixtures/api/electron-module-app/index.html new file mode 100644 index 000000000000..1394125534a6 --- /dev/null +++ b/spec/fixtures/api/electron-module-app/index.html @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/spec/fixtures/api/electron-module-app/node_modules/electron/index.js b/spec/fixtures/api/electron-module-app/node_modules/electron/index.js new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/spec/fixtures/api/electron-module-app/node_modules/electron/package.json b/spec/fixtures/api/electron-module-app/node_modules/electron/package.json new file mode 100644 index 000000000000..07e3804ebb16 --- /dev/null +++ b/spec/fixtures/api/electron-module-app/node_modules/electron/package.json @@ -0,0 +1,4 @@ +{ + "name": "electron", + "main": "index.js" +} diff --git a/spec/node-spec.js b/spec/node-spec.js index 0ab98aa67ab9..344017e47ea6 100644 --- a/spec/node-spec.js +++ b/spec/node-spec.js @@ -3,7 +3,8 @@ const child_process = require('child_process') const fs = require('fs') const path = require('path') const os = require('os') -const remote = require('electron').remote +const {remote} = require('electron') +const {BrowserWindow, ipcMain} = remote describe('node feature', function () { var fixtures = path.join(__dirname, 'fixtures') @@ -228,4 +229,33 @@ describe('node feature', function () { require('vm').runInNewContext('') }) }) + + describe.only('require("electron")', function () { + let window = null + + beforeEach(function () { + if (window != null) { + window.destroy() + } + window = new BrowserWindow({ + show: false, + width: 400, + height: 400 + }) + }) + + afterEach(function () { + if (window != null) { + window.destroy() + } + window = null + }) + + it('always returns the internal electron module', function (done) { + ipcMain.once('answer', function () { + done() + }) + window.loadURL('file://' + path.join(__dirname, 'fixtures', 'api', 'electron-module-app', 'index.html')) + }) + }) })