From d0a6f28417f3bd18a540c63b35c3727afa743008 Mon Sep 17 00:00:00 2001 From: Sebastian Poxhofer Date: Tue, 3 Sep 2024 06:00:09 +0200 Subject: [PATCH] fix(versioning/pep440): match function should match on equality (#31170) --- lib/modules/versioning/pep440/index.spec.ts | 1 + lib/modules/versioning/pep440/index.ts | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/modules/versioning/pep440/index.spec.ts b/lib/modules/versioning/pep440/index.spec.ts index c9c024ac259f44..f81906bd8e44dc 100644 --- a/lib/modules/versioning/pep440/index.spec.ts +++ b/lib/modules/versioning/pep440/index.spec.ts @@ -41,6 +41,7 @@ describe('modules/versioning/pep440/index', () => { it.each` a | b | expected ${'1.0'} | ${'>=1.0.0'} | ${true} + ${'3.0.0'} | ${'3.0.0'} | ${true} ${'1.6.2'} | ${'<2.2.1.0'} | ${true} ${'>=3.8'} | ${'>=3.9'} | ${false} `('matches($a, $b) === $expected', ({ a, b, expected }) => { diff --git a/lib/modules/versioning/pep440/index.ts b/lib/modules/versioning/pep440/index.ts index f37b731ab0278e..7fbe6d83839510 100644 --- a/lib/modules/versioning/pep440/index.ts +++ b/lib/modules/versioning/pep440/index.ts @@ -75,7 +75,13 @@ const equals = (version1: string, version2: string): boolean => isVersion(version1) && isVersion(version2) && eq(version1, version2); function matches(version: string, range: string): boolean { - return isVersion(version) && isValid(range) && satisfies(version, range); + if (!isVersion(version)) { + return false; + } + if (isVersion(range)) { + return equals(version, range); + } + return isValid(range) && satisfies(version, range); } export const api: VersioningApi = {