diff --git a/src/model/__data__/versions.ts b/src/model/__data__/versions.ts index 738fb8d0..56ad4a9c 100644 --- a/src/model/__data__/versions.ts +++ b/src/model/__data__/versions.ts @@ -1,30 +1,3 @@ -const addVariantsPrependingV = (array: string[]) => array.map((tag) => [tag, `v${tag}`]).flat(); - -/** - * Array of versions that will be detected as version tags. Not all of these are - * "semantic versions", but can be used to generate one. Especially using the - * `versioning: Semantic` option. - */ -export const validVersionTagInputs = addVariantsPrependingV(['0', '1', '0.1', '1.0', '1.1.0', '1.2.3']); -export const invalidVersionTagInputs = addVariantsPrependingV([ - '+invalid', - '-invalid', - '-invalid+invalid', - '-invalid.01', - 'alpha', - 'alpha.beta', - 'alpha.beta.1', - 'alpha.1', - 'alpha+beta', - 'alpha_beta', - 'alpha.', - 'alpha..', - 'beta', - '-alpha.', - '-1.0.3-gamma+b7718', - '+justmeta', -]); - export const completelyValidSemanticVersions = [ '0.0.4', '1.2.3', @@ -59,7 +32,6 @@ export const completelyValidSemanticVersions = [ '1.0.0-0A.is.legal', ]; -// Not completely valid semantic versions export const notCompletelyValidSemanticVersions = [ '1', '1.2', @@ -102,3 +74,39 @@ export const notCompletelyValidSemanticVersions = [ '9.8.7-whatever+meta+meta', '99999999999999999999999.999999999999999999.99999999999999999----RC-SNAPSHOT.12.09.1--------------------------------..12', ]; + +const addVariantsPrependingV = (array: string[]) => array.map((tag) => [tag, `v${tag}`]).flat(); + +/** + * Array of versions that will be detected as version tags. Not all of these are + * "semantic versions", but can be used to generate one. Especially using the + * `versioning: Semantic` option. + */ +export const validVersionTagInputs = addVariantsPrependingV([ + '0', + '1', + '0.1', + '1.0', + '1.1.0', + '1.2.3', + ...completelyValidSemanticVersions, +]); + +export const invalidVersionTagInputs = addVariantsPrependingV([ + '+invalid', + '-invalid', + '-invalid+invalid', + '-invalid.01', + 'alpha', + 'alpha.beta', + 'alpha.beta.1', + 'alpha.1', + 'alpha+beta', + 'alpha_beta', + 'alpha.', + 'alpha..', + 'beta', + '-alpha.', + '-1.0.3-gamma+b7718', + '+justmeta', +]); diff --git a/src/model/versioning.test.ts b/src/model/versioning.test.ts index 9930add5..0451c74f 100644 --- a/src/model/versioning.test.ts +++ b/src/model/versioning.test.ts @@ -2,7 +2,7 @@ import * as core from '@actions/core'; import NotImplementedException from './error/not-implemented-exception'; import System from './system'; import Versioning from './versioning'; -import { completelyValidSemanticVersions, validVersionTagInputs, invalidVersionTagInputs } from './__data__/versions'; +import { validVersionTagInputs, invalidVersionTagInputs } from './__data__/versions'; afterEach(() => { jest.restoreAllMocks(); @@ -50,10 +50,6 @@ describe('Versioning', () => { expect(await matchInputUsingGrep(input)).toStrictEqual(input); }); - it.concurrent.each(completelyValidSemanticVersions)(`accepts valid semantic version '%s'`, async (input) => { - expect(await matchInputUsingGrep(input)).toStrictEqual(input); - }); - it.concurrent.each(invalidVersionTagInputs)(`rejects non-version tag input '%s'`, async (input) => { await expect(async () => matchInputUsingGrep(input)).rejects.toThrowError(/^Failed to run/); });