mirror of
https://github.com/electron/electron.git
synced 2026-01-29 01:08:18 -05:00
This PR allows for multiple global shortcuts to be registered such that triggering any of them calls the same callback.
54 lines
1.7 KiB
JavaScript
54 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()
|
|
})
|
|
})
|