import { expect } from 'chai' import { globalShortcut } from 'electron' describe('globalShortcut module', () => { before(function () { if (isCI && process.platform === 'win32') { this.skip() } }) beforeEach(() => { globalShortcut.unregisterAll() }) it('can register and unregister single accelerators', () => { const accelerator = 'CmdOrCtrl+A+B+C' expect(globalShortcut.isRegistered(accelerator)).to.be.false('initially registered') globalShortcut.register(accelerator, () => {}) expect(globalShortcut.isRegistered(accelerator)).to.be.true('registration worked') globalShortcut.unregister(accelerator) expect(globalShortcut.isRegistered(accelerator)).to.be.false('unregistration worked') globalShortcut.register(accelerator, () => {}) expect(globalShortcut.isRegistered(accelerator)).to.be.true('reregistration worked') globalShortcut.unregisterAll() expect(globalShortcut.isRegistered(accelerator)).to.be.false('re-unregistration worked') }) it('can register and unregister multiple accelerators', () => { const accelerators = ['CmdOrCtrl+X', 'CmdOrCtrl+Y'] expect(globalShortcut.isRegistered(accelerators[0])).to.be.false('first initially unregistered') expect(globalShortcut.isRegistered(accelerators[1])).to.be.false('second initially unregistered') globalShortcut.registerAll(accelerators, () => {}) expect(globalShortcut.isRegistered(accelerators[0])).to.be.true('first registration worked') expect(globalShortcut.isRegistered(accelerators[1])).to.be.true('second registration worked') globalShortcut.unregisterAll() expect(globalShortcut.isRegistered(accelerators[0])).to.be.false('first unregistered') expect(globalShortcut.isRegistered(accelerators[1])).to.be.false('second unregistered') }) })