Add spec for interaction event with escape item
authorKevin Sawicki <kevinsawicki@gmail.com>
Tue, 4 Apr 2017 20:14:56 +0000 (13:14 -0700)
committerKevin Sawicki <kevinsawicki@gmail.com>
Tue, 4 Apr 2017 20:14:56 +0000 (13:14 -0700)
lib/browser/api/touch-bar.js
spec/api-touch-bar-spec.js

index 327b639..1070398 100644 (file)
@@ -39,13 +39,14 @@ class TouchBar extends EventEmitter {
       items = []
     }
 
+    this.changeListener = (item) => {
+      this.emit('change', item.id, item.type)
+    }
+
     this.windowListeners = {}
     this.items = {}
     this.ordereredItems = []
     this.escapeItem = escapeItem
-    this.changeListener = (item) => {
-      this.emit('change', item.id, item.type)
-    }
 
     const registerItem = (item) => {
       this.items[item.id] = item
index 7080304..420ef3f 100644 (file)
@@ -90,5 +90,17 @@ describe('TouchBar module', function () {
       window.setTouchBar(touchBar)
       window.emit('-touch-bar-interaction', {}, button.id)
     })
+
+    it('calls the callback on the escape item when a window interaction event fires', function (done) {
+      const button = new TouchBarButton({
+        label: 'bar',
+        click: () => {
+          done()
+        }
+      })
+      const touchBar = new TouchBar({escapeItem: button})
+      window.setTouchBar(touchBar)
+      window.emit('-touch-bar-interaction', {}, button.id)
+    })
   })
 })