LP#1731496 Avoid PhantomJS BroadcastChannel failure
authorBill Erickson <berickxx@gmail.com>
Thu, 9 Nov 2017 16:39:12 +0000 (11:39 -0500)
committerDan Wells <dbw2@calvin.edu>
Fri, 10 Nov 2017 17:14:34 +0000 (12:14 -0500)
Avoid attempts to create BroadcastChannel objects in contexts where the
object does not exist.  Specifically, allow PhantomJS to run unit tesst
without dying on:

ReferenceError: Can't find variable: BroadcastChannel

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Open-ILS/web/js/ui/default/staff/services/auth.js

index 8912c78..ec83005 100644 (file)
@@ -53,7 +53,10 @@ function($q , $timeout , $rootScope , $window , $location , egNet , egHatch) {
         },
 
         // Listen for logout events in other tabs
-        authChannel : new BroadcastChannel('eg.auth')
+        // Current version of phantomjs (unit tests, etc.) does not 
+        // support BroadcastChannel, so just dummy it up.
+        authChannel : (typeof BroadcastChannel == 'undefined') ? 
+            {} : new BroadcastChannel('eg.auth')
     };
 
     /* Returns a promise, which is resolved if valid