From b0264f15bedd5c6a948a522c20dee3ce56e874a2 Mon Sep 17 00:00:00 2001 From: Pig Fang Date: Mon, 15 Nov 2021 23:47:50 +0800 Subject: [PATCH] Make `cover` query case-insensitive (#648) --- index.js | 6 +++--- test/cover.test.js | 13 +++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 0ed423e7..8f7c2e49 100644 --- a/index.js +++ b/index.js @@ -642,7 +642,7 @@ function coverQuery(context, coverage, statMode) { coverage = parseFloat(coverage) var usage = browserslist.usage.global if (statMode) { - if (statMode.match(/^my\s+stats$/)) { + if (statMode.match(/^my\s+stats$/i)) { if (!context.customUsage) { throw new BrowserslistError('Custom usage statistics was not provided') } @@ -916,11 +916,11 @@ var QUERIES = [ } }, { - regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%$/, + regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%$/i, select: coverQuery }, { - regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/, + regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/i, select: coverQuery }, { diff --git a/test/cover.test.js b/test/cover.test.js index e1f35e8d..68667a3f 100644 --- a/test/cover.test.js +++ b/test/cover.test.js @@ -32,10 +32,18 @@ it('adds at least one browser', () => { expect(browserslist('cover 1% in my stats')).toEqual(['ie 11']) }) +it('is case insensitive for custom stat', () => { + expect(browserslist('Cover 1% In My Stats')).toEqual(['ie 11']) +}) + it('global coverage', () => { expect(browserslist('cover 0.1%')).toEqual(['ie 5']) }) +it('is case insensitive for global coverage', () => { + expect(browserslist('Cover 0.1%')).toEqual(['ie 5']) +}) + it('country coverage', () => { expect(browserslist('cover 0.1% in US')).toEqual(['ie 9']) }) @@ -44,6 +52,11 @@ it('country coverage alt', () => { expect(browserslist('cover 0.1% in alt-us')).toEqual(['ie 8']) }) +it('is case insensitive for country coverage', () => { + expect(browserslist('Cover 0.1% in us')).toEqual(['ie 9']) + expect(browserslist('Cover 0.1% in Alt-US')).toEqual(['ie 8']) +}) + it('adds browsers by popularity', () => { expect(browserslist('cover 20% in my stats')).toEqual([ 'chrome 37',