Add spec for undocked devtools
authorKevin Sawicki <kevinsawicki@gmail.com>
Tue, 17 May 2016 21:56:00 +0000 (14:56 -0700)
committerKevin Sawicki <kevinsawicki@gmail.com>
Tue, 17 May 2016 21:56:00 +0000 (14:56 -0700)
spec/api-browser-window-spec.js

index 168aceb..46fc6a3 100644 (file)
@@ -825,25 +825,55 @@ describe('browser-window module', function () {
 
   describe('dev tool extensions', function () {
     describe('BrowserWindow.addDevToolsExtension', function () {
-      it('creates the extension', function (done) {
-        var extensionPath = path.join(__dirname, 'fixtures', 'devtools-extensions', 'foo')
-        BrowserWindow.addDevToolsExtension(extensionPath)
-
-        w.webContents.on('devtools-opened', () => {
-          var inputEventIntervalId = setInterval(function () {
-            if (w && w.devToolsWebContents) {
-              w.devToolsWebContents.sendInputEvent({type: 'keyDown', keyCode:'[', modifiers: ['meta']})
-            } else {
-              clearInterval(inputEventIntervalId)
-            }
-          }, 250)
+      beforeEach(function () {
+        BrowserWindow.removeDevToolsExtension('foo')
+      })
+
+      describe('when the devtools is docked', function () {
+        it('creates the extension', function (done) {
+          var extensionPath = path.join(__dirname, 'fixtures', 'devtools-extensions', 'foo')
+          BrowserWindow.addDevToolsExtension(extensionPath)
+
+          w.webContents.on('devtools-opened', () => {
+            var inputEventIntervalId = setInterval(function () {
+              if (w && w.devToolsWebContents) {
+                w.devToolsWebContents.sendInputEvent({type: 'keyDown', keyCode:'[', modifiers: ['meta']})
+              } else {
+                clearInterval(inputEventIntervalId)
+              }
+            }, 250)
+          })
+          w.loadURL('about:blank')
+          w.webContents.openDevTools({mode: 'bottom'})
+
+          ipcMain.once('answer', function (event, message) {
+            assert.equal(message, 'extension loaded')
+            done()
+          })
         })
-        w.loadURL('about:blank')
-        w.webContents.openDevTools({mode: 'bottom'})
+      })
 
-        ipcMain.once('answer', function (event, message) {
-          assert.equal(message, 'extension loaded')
-          done()
+      describe('when the devtools is undocked', function () {
+        it('creates the extension', function (done) {
+          var extensionPath = path.join(__dirname, 'fixtures', 'devtools-extensions', 'foo')
+          BrowserWindow.addDevToolsExtension(extensionPath)
+
+          w.webContents.on('devtools-opened', () => {
+            var inputEventIntervalId = setInterval(function () {
+              if (w && w.devToolsWebContents) {
+                w.devToolsWebContents.sendInputEvent({type: 'keyDown', keyCode:'[', modifiers: ['meta']})
+              } else {
+                clearInterval(inputEventIntervalId)
+              }
+            }, 250)
+          })
+          w.loadURL('about:blank')
+          w.webContents.openDevTools({mode: 'undocked'})
+
+          ipcMain.once('answer', function (event, message) {
+            assert.equal(message, 'extension loaded')
+            done()
+          })
         })
       })
     })