diff --git a/spec-main/api-global-shortcut-spec.ts b/spec-main/api-global-shortcut-spec.ts index 689ea56bbb36..36d5191e5642 100644 --- a/spec-main/api-global-shortcut-spec.ts +++ b/spec-main/api-global-shortcut-spec.ts @@ -1,5 +1,5 @@ import { expect } from 'chai'; -import { globalShortcut, BrowserWindow } from 'electron/main'; +import { globalShortcut } from 'electron/main'; import { ifdescribe } from './spec-helpers'; ifdescribe(process.platform !== 'win32')('globalShortcut module', () => { @@ -55,20 +55,4 @@ ifdescribe(process.platform !== 'win32')('globalShortcut module', () => { globalShortcut.unregisterAll(); }); - - it('successfully registers and calls the callback for media keys', function (done) { - let robotjs; - try { - robotjs = require('robotjs'); - } catch (err) { - this.skip(); - } - - globalShortcut.register('MediaPlayPause', () => done()); - - const w = new BrowserWindow({ show: false }); - w.loadURL('about:blank'); - - robotjs.keyTap('audio_play'); - }); }); diff --git a/spec-main/api-web-contents-spec.ts b/spec-main/api-web-contents-spec.ts index 0152f9d158ed..8f4df42e2348 100644 --- a/spec-main/api-web-contents-spec.ts +++ b/spec-main/api-web-contents-spec.ts @@ -4,10 +4,9 @@ import * as path from 'path'; import * as fs from 'fs'; import * as http from 'http'; import { BrowserWindow, ipcMain, webContents, session, WebContents, app, BrowserView } from 'electron/main'; -import { clipboard } from 'electron/common'; import { emittedOnce } from './events-helpers'; import { closeAllWindows } from './window-helpers'; -import { ifdescribe, ifit, delay, defer } from './spec-helpers'; +import { ifdescribe, delay, defer } from './spec-helpers'; const pdfjs = require('pdfjs-dist'); const fixturesPath = path.resolve(__dirname, '..', 'spec', 'fixtures'); @@ -1906,60 +1905,6 @@ describe('webContents module', () => { }); }); - describe('devtools window', () => { - let hasRobotJS = false; - try { - // We have other tests that check if native modules work, if we fail to require - // robotjs let's skip this test to avoid false negatives - require('robotjs'); - hasRobotJS = true; - } catch (err) { /* no-op */ } - - afterEach(closeAllWindows); - - // NB. on macOS, this requires that you grant your terminal the ability to - // control your computer. Open System Preferences > Security & Privacy > - // Privacy > Accessibility and grant your terminal the permission to control - // your computer. - ifit(hasRobotJS)('can receive and handle menu events', async () => { - const w = new BrowserWindow({ show: true, webPreferences: { nodeIntegration: true } }); - w.loadFile(path.join(fixturesPath, 'pages', 'key-events.html')); - - // Ensure the devtools are loaded - w.webContents.closeDevTools(); - const opened = emittedOnce(w.webContents, 'devtools-opened'); - w.webContents.openDevTools(); - await opened; - await emittedOnce(w.webContents.devToolsWebContents!, 'did-finish-load'); - w.webContents.devToolsWebContents!.focus(); - - // Focus an input field - await w.webContents.devToolsWebContents!.executeJavaScript(` - const input = document.createElement('input') - document.body.innerHTML = '' - document.body.appendChild(input) - input.focus() - `); - - // Write something to the clipboard - clipboard.writeText('test value'); - - const pasted = w.webContents.devToolsWebContents!.executeJavaScript(`new Promise(resolve => { - document.querySelector('input').addEventListener('paste', (e) => { - resolve(e.target.value) - }) - })`); - - // Fake a paste request using robotjs to emulate a REAL keyboard paste event - require('robotjs').keyTap('v', process.platform === 'darwin' ? ['command'] : ['control']); - - const val = await pasted; - - // Once we're done expect the paste to have been successful - expect(val).to.equal('test value', 'value should eventually become the pasted value'); - }); - }); - describe('Shared Workers', () => { afterEach(closeAllWindows); diff --git a/spec/package.json b/spec/package.json index 38ccc292934a..d14f50aac78e 100644 --- a/spec/package.json +++ b/spec/package.json @@ -3,9 +3,6 @@ "productName": "Electron Test", "main": "static/main.js", "version": "0.1.0", - "scripts": { - "postinstall": "node ../script/run-if-exists.js node_modules/robotjs node-gyp rebuild" - }, "devDependencies": { "basic-auth": "^2.0.1", "chai": "^4.2.0",