Skip to content

Commit f9e15a2

Browse files
committed
fix: extensionLoader unit tests in safari
1 parent ad81f38 commit f9e15a2

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

test/SpecRunner.html

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,13 @@
5555
!!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
5656
let isOperaChromiumBrowser = isChrome && isOpera;
5757
let isChromeBrowser = isChrome && !isEdgeChromiumBrowser && !isOperaChromiumBrowser;
58+
function isSafari() {
59+
// Safari 3.0+ "[object HTMLElementConstructor]"
60+
return /constructor/i.test(window.HTMLElement)
61+
|| (function (p) {
62+
return p.toString() === "[object SafariRemoteNotification]";
63+
})(!window['safari'] || (typeof safari !== 'undefined' && window['safari'].pushNotification));
64+
}
5865
return{
5966
isTablet: _mobileAndTabletCheck(),
6067
isMobile: _mobileCheck(),
@@ -73,7 +80,8 @@
7380
isChromeBased: isChrome,
7481
isChrome: isChromeBrowser,
7582
isEdgeChromium: isEdgeChromiumBrowser,
76-
isOperaChromium: isOperaChromiumBrowser
83+
isOperaChromium: isOperaChromiumBrowser,
84+
isSafari: isSafari()
7785
}
7886
};
7987
}
@@ -108,7 +116,7 @@
108116
firstBoot: false, // will be set below
109117
startTime: Date.now()
110118
};
111-
Phoenix.isSupportedBrowser = Phoenix.browser.isDeskTop;
119+
Phoenix.isSupportedBrowser = Phoenix.browser.isDeskTop && ("serviceWorker" in navigator);
112120
window.testEnvironment = window.Phoenix.isTestWindow;
113121
}());
114122
</script>

test/spec/ExtensionLoader-test.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,11 @@ define(function (require, exports, module) {
115115
});
116116

117117
it("should log an error if an extension init fails with a runtime error", async function () {
118-
await testLoadExtension("InitRuntimeError", "rejected", "[Extension] Error -- error thrown during initExtension for InitRuntimeError: ReferenceError: isNotDefined is not defined");
118+
let errorMsg = "[Extension] Error -- error thrown during initExtension for InitRuntimeError: ReferenceError: isNotDefined is not defined";
119+
if(window.Phoenix.browser.desktop.isSafari || window.Phoenix.browser.mobile.isIos){
120+
errorMsg = "[Extension] Error -- error thrown during initExtension for InitRuntimeError: ReferenceError: Can't find variable: isNotDefined";
121+
}
122+
await testLoadExtension("InitRuntimeError", "rejected", errorMsg);
119123
});
120124

121125
it("should log an error if an extension fails during RequireJS loading", async function () {

0 commit comments

Comments
 (0)