diff --git a/src/js/browser.js b/src/js/browser.js index 3f9bbb0..e655c33 100644 --- a/src/js/browser.js +++ b/src/js/browser.js @@ -12,8 +12,8 @@ const Browser = { return !Browser.isIE() && !!window.StyleMedia }, // Chrome 1+ - isChrome: () => { - return !!window.chrome && !!window.chrome.webstore + isChrome: (context = window) => { + return !!context.chrome }, // At least Safari 3+: "[object HTMLElementConstructor]" isSafari: () => { diff --git a/test/unit/browser.spec.js b/test/unit/browser.spec.js index 710ce89..22372fa 100644 --- a/test/unit/browser.spec.js +++ b/test/unit/browser.spec.js @@ -21,6 +21,18 @@ describe('Browser', () => { expect(typeof Browser.isChrome()).toBe('boolean') }) + describe('isChrome()', () => { + it('returns true for Google Chrome', () => { + const stubbedWindow = { chrome: {} } + expect(Browser.isChrome(stubbedWindow)).toBeTruthy() + }) + + it('returns false for non Google Chrome', () => { + const stubbedWindow = {} + expect(Browser.isChrome(stubbedWindow)).toBeFalsy() + }) + }) + it('has a function named isSafari that returns a boolean value', () => { expect(typeof Browser.isSafari).toBe('function') expect(typeof Browser.isSafari()).toBe('boolean')