diff --git a/lib/modules/versioning/pep440/index.spec.ts b/lib/modules/versioning/pep440/index.spec.ts index bb2ad28d78b03723b833f889f9361183f3710043..8ba12022fb4f46a1df22a90c92624df8135b843b 100644 --- a/lib/modules/versioning/pep440/index.spec.ts +++ b/lib/modules/versioning/pep440/index.spec.ts @@ -37,6 +37,14 @@ describe('modules/versioning/pep440/index', () => { expect(pep440.equals(a, b)).toBe(expected); }); + it.each` + a | b | expected + ${'1.0'} | ${'>=1.0.0'} | ${true} + ${'>=3.8'} | ${'>=3.9'} | ${false} + `('matches($a, $b) === $expected', ({ a, b, expected }) => { + expect(pep440.matches(a, b)).toBe(expected); + }); + it.each` version | isSingle ${'1.2.3'} | ${true} diff --git a/lib/modules/versioning/pep440/index.ts b/lib/modules/versioning/pep440/index.ts index 6de5a74ad4931bcef2829238715f44a16a318614..f37b731ab0278ecd95fbe46be71267a36b07faaf 100644 --- a/lib/modules/versioning/pep440/index.ts +++ b/lib/modules/versioning/pep440/index.ts @@ -16,7 +16,7 @@ export const supportedRangeStrategies: RangeStrategy[] = [ const { compare: sortVersions, - satisfies: matches, + satisfies, valid, validRange, explain, @@ -74,6 +74,10 @@ export { isVersion, matches }; 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); +} + export const api: VersioningApi = { equals, getMajor,