diff --git a/src/parser.js b/src/parser.js index 2b961c7..631cbf8 100644 --- a/src/parser.js +++ b/src/parser.js @@ -285,6 +285,7 @@ class Parser { } getResult() { + /* TODO: Make this function pure, return a new object instead of the reference */ return this.parsedResult; } @@ -303,14 +304,14 @@ class Parser { * // or with platforms * if (browser.check({desktop: { chrome: '>118.01.1322' } })) */ - check(checkTree) { + compare(checkTree) { const keysToProcess = Object.keys(checkTree); return keysToProcess.some((browserAttribute) => { const objectOrVersion = checkTree[browserAttribute]; if (typeof objectOrVersion === 'object') { return (this.isOs(browserAttribute) || this.isPlatform(browserAttribute)) - && this.check(objectOrVersion); + && this.compare(objectOrVersion); } return this.isBrowser(browserAttribute) && this.satisfies(objectOrVersion); diff --git a/test.old.js b/test.old.js index eba2b2d..8992638 100644 --- a/test.old.js +++ b/test.old.js @@ -118,28 +118,28 @@ describe('Unsupported browser check', function() { }); it('should NOT be passed by #check for IE10.6 and for IE11 miminal version specified', function() { - var supported = browser.check({msie: "11"}, this.ie10_6); + var supported = browser.compare({msie: "11"}, this.ie10_6); assert.equal(supported, false); }); it('should NOT be passed by #check for IE10.6 and for IE11 miminal version specified in strict mode', function() { - var supported = browser.check({msie: "11"}, true, this.ie10_6); + var supported = browser.compare({msie: "11"}, true, this.ie10_6); 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.compare({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); + var supported = browser.compare({}, this.ie10_6); assert.equal(supported, true); }); it('should NOT be passed by #check for IE10.6 when version was not specified in strict mode', function() { - var supported = browser.check({}, true, this.ie10_6); + var supported = browser.compare({}, true, this.ie10_6); assert.equal(supported, false); }); diff --git a/test/unit/parser.js b/test/unit/parser.js index 33443a7..8c9c0e2 100644 --- a/test/unit/parser.js +++ b/test/unit/parser.js @@ -57,12 +57,12 @@ test('Skip parsing shouldn\'t parse', (t) => { t.deepEqual((new Parser(UA, true)).getResult(), {}); }); -test('Parser.check should make simple check', (t) => { - t.is(parser.check({ opera: '>42' }), true); +test('Parser.check should make simple comparison', (t) => { + t.is(parser.compare({ opera: '>42' }), true); }); -test('Parser.check should make simple check', (t) => { - t.is(parser.check({ +test('Parser.check should make complex comparison', (t) => { + t.is(parser.compare({ macos: { safari: '>11', },