From 52ca0b391ccd7e31df0f2d7a125efd38e1b71b79 Mon Sep 17 00:00:00 2001 From: Pierre Vanduynslager Date: Thu, 13 Dec 2018 15:06:54 -0500 Subject: [PATCH] fix: fix branch type regexp to handle version with multiple digits --- lib/utils.js | 4 ++-- test/utils.test.js | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/utils.js b/lib/utils.js index 697b00a5ac..bd330d4580 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -23,11 +23,11 @@ function tagsToVersions(tags) { } function isMajorRange(range) { - return /^\d\.x(?:\.x)?$/i.test(range); + return /^\d+\.x(?:\.x)?$/i.test(range); } function isMaintenanceRange(range) { - return /^\d\.[\dx](?:\.x)?$/i.test(range); + return /^\d+\.(?:\d+|x)(?:\.x)?$/i.test(range); } function getUpperBound(range) { diff --git a/test/utils.test.js b/test/utils.test.js index 9a973508dd..3afa8c7148 100644 --- a/test/utils.test.js +++ b/test/utils.test.js @@ -33,24 +33,37 @@ test('tagsToVersions', t => { test('isMajorRange', t => { t.false(isMajorRange('1.1.x')); + t.false(isMajorRange('1.11.x')); + t.false(isMajorRange('11.1.x')); + t.false(isMajorRange('11.11.x')); t.false(isMajorRange('1.1.X')); t.false(isMajorRange('1.1.0')); t.true(isMajorRange('1.x.x')); + t.true(isMajorRange('11.x.x')); t.true(isMajorRange('1.X.X')); t.true(isMajorRange('1.x')); + t.true(isMajorRange('11.x')); t.true(isMajorRange('1.X')); }); test('isMaintenanceRange', t => { t.true(isMaintenanceRange('1.1.x')); + t.true(isMaintenanceRange('11.1.x')); + t.true(isMaintenanceRange('11.11.x')); + t.true(isMaintenanceRange('1.11.x')); t.true(isMaintenanceRange('1.x.x')); + t.true(isMaintenanceRange('11.x.x')); t.true(isMaintenanceRange('1.x')); + t.true(isMaintenanceRange('11.x')); t.true(isMaintenanceRange('1.1.X')); t.true(isMaintenanceRange('1.X.X')); t.true(isMaintenanceRange('1.X')); t.false(isMaintenanceRange('1.1.0')); + t.false(isMaintenanceRange('11.1.0')); + t.false(isMaintenanceRange('1.11.0')); + t.false(isMaintenanceRange('11.11.0')); t.false(isMaintenanceRange('~1.0.0')); t.false(isMaintenanceRange('^1.0.0')); });