e9ba26f50e
This PR allows for multiple global shortcuts to be registered such that triggering any of them calls the same callback.
53 lines
1.7 KiB
JavaScript
53 lines
1.7 KiB
JavaScript
const { globalShortcut } = require('electron').remote
|
|
|
|
const chai = require('chai')
|
|
const dirtyChai = require('dirty-chai')
|
|
const isCI = require('electron').remote.getGlobal('isCi')
|
|
|
|
const { expect } = chai
|
|
chai.use(dirtyChai)
|
|
|
|
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()
|
|
globalShortcut.register(accelerator, () => {})
|
|
expect(globalShortcut.isRegistered(accelerator)).to.be.true()
|
|
globalShortcut.unregister(accelerator)
|
|
expect(globalShortcut.isRegistered(accelerator)).to.be.false()
|
|
|
|
expect(globalShortcut.isRegistered(accelerator)).to.be.false()
|
|
globalShortcut.register(accelerator, () => {})
|
|
expect(globalShortcut.isRegistered(accelerator)).to.be.true()
|
|
globalShortcut.unregisterAll()
|
|
expect(globalShortcut.isRegistered(accelerator)).to.be.false()
|
|
})
|
|
|
|
it('can register and unregister multiple accelerators', () => {
|
|
const accelerators = ['CmdOrCtrl+X', 'CmdOrCtrl+Y']
|
|
|
|
expect(globalShortcut.isRegistered(accelerators[0])).to.be.false()
|
|
expect(globalShortcut.isRegistered(accelerators[1])).to.be.false()
|
|
|
|
globalShortcut.registerAll(accelerators, () => {})
|
|
|
|
expect(globalShortcut.isRegistered(accelerators[0])).to.be.true()
|
|
expect(globalShortcut.isRegistered(accelerators[1])).to.be.true()
|
|
|
|
globalShortcut.unregisterAll()
|
|
|
|
expect(globalShortcut.isRegistered(accelerators[0])).to.be.false()
|
|
expect(globalShortcut.isRegistered(accelerators[1])).to.be.false()
|
|
})
|
|
})
|