Check that escape item is non-null before checking id

This commit is contained in:
Kevin Sawicki 2017-04-04 13:12:29 -07:00
parent 414540bfcb
commit bbadeb62ac
2 changed files with 13 additions and 1 deletions

View file

@ -101,7 +101,7 @@ class TouchBar extends EventEmitter {
const interactionListener = (event, itemID, details) => {
let item = this.items[itemID]
if (item == null && this.escapeItem.id === itemID) {
if (item == null && this.escapeItem != null && this.escapeItem.id === itemID) {
item = this.escapeItem
}
if (item != null && item.onInteraction != null) {

View file

@ -78,5 +78,17 @@ describe('TouchBar module', function () {
window.setTouchBar(new TouchBar([new TouchBarLabel({label: 'two'})]))
touchBar.escapeItem = null
})
it('calls the callback on the items when a window interaction event fires', function (done) {
const button = new TouchBarButton({
label: 'bar',
click: () => {
done()
}
})
const touchBar = new TouchBar({items: [button]})
window.setTouchBar(touchBar)
window.emit('-touch-bar-interaction', {}, button.id)
})
})
})