From 8b92707e7bac329de5d159b23025e70d5f0010aa Mon Sep 17 00:00:00 2001 From: Denis Demchenko Date: Mon, 31 Oct 2016 11:07:15 +0200 Subject: [PATCH] Throw an error when minVersion map has not a string as a browser version fixes #165 --- src/bowser.js | 4 ++++ test/test.js | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/src/bowser.js b/src/bowser.js index d13577c..5afbc6a 100644 --- a/src/bowser.js +++ b/src/bowser.js @@ -540,6 +540,10 @@ for (var browser in minVersions) { if (minVersions.hasOwnProperty(browser)) { if (_bowser[browser]) { + if (typeof minVersions[browser] !== 'string') { + throw new Error('Browser version in the minVersion map should be a string: ' + browser + ': ' + String(minVersions)); + } + // browser version and min supported version. return compareVersions([version, minVersions[browser]]) < 0; } diff --git a/test/test.js b/test/test.js index 78d739b..eba2b2d 100644 --- a/test/test.js +++ b/test/test.js @@ -127,6 +127,12 @@ describe('Unsupported browser check', function() { assert.equal(supported, false); }); + it('should throw an error when minVersion map has a number, but not a string', function() { + assert.throws(() => { + browser.check({msie: 11}, this.ie10_6); + }, /Browser version in the minVersion map should be a string/); + }); + it('should be passed by #check for IE10.6 when version was not specified', function() { var supported = browser.check({}, this.ie10_6); assert.equal(supported, true);