Invoke callback instead of returning
authorKevin Sawicki <kevinsawicki@gmail.com>
Tue, 28 Jun 2016 20:02:03 +0000 (13:02 -0700)
committerKevin Sawicki <kevinsawicki@gmail.com>
Tue, 28 Jun 2016 20:04:59 +0000 (13:04 -0700)
lib/renderer/extensions/storage.js
spec/api-browser-window-spec.js

index b0941d9..af3978e 100644 (file)
@@ -12,11 +12,17 @@ const setStorage = (storageType, storage) => {
   window.localStorage.setItem(`__chrome.storage.${storageType}__`, json)
 }
 
+const scheduleCallback = (items, callback) => {
+  setTimeout(function () {
+    callback(items)
+  })
+}
+
 const getStorageManager = (storageType) => {
   return {
     get (keys, callback) {
       const storage = getStorage(storageType)
-      if (keys == null) return storage
+      if (keys == null) return scheduleCallback(storage, callback)
 
       let defaults = {}
       switch (typeof keys) {
@@ -30,7 +36,7 @@ const getStorageManager = (storageType) => {
           }
           break
       }
-      if (keys.length === 0) return {}
+      if (keys.length === 0) return scheduleCallback({}, callback)
 
       let items = {}
       keys.forEach(function (key) {
@@ -38,10 +44,7 @@ const getStorageManager = (storageType) => {
         if (value == null) value = defaults[key]
         items[key] = value
       })
-
-      setTimeout(function () {
-        callback(items)
-      })
+      scheduleCallback(items, callback)
     },
 
     set (items, callback) {
index b7b647e..ea82d59 100644 (file)
@@ -1025,7 +1025,7 @@ describe('browser-window module', function () {
         }, /Unexpected token }/)
       })
 
-      describe.only('when the devtools is docked', function () {
+      describe('when the devtools is docked', function () {
         it('creates the extension', function (done) {
           w.webContents.openDevTools({mode: 'bottom'})