Schema for Version Range Specifier (VERS) test case definitions.
No Additional PropertiesContains the URL of the JSON schema for Version Range Specifier tests.
Specific value:"https://packageurl.org/vers-schemas/vers-test.schema-0.2.json"
A list of Version Range Specifier tests.
Must contain a minimum of 1 items
All items must be unique
No Additional ItemsA VERS test with input and expected output.
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"from_native"
false
An object with a data source and native version range data to use in a conversion test from native data.
A string (like a VERS type) or URL that identifies the source of the data for this test input.
"https://github.com/npm/node-semver#ranges"
"https://gitlab.com/gitlab-org/advisories-community/-/tree/main/packagist"
"https://gitlab.com/gitlab-org/advisories-community/-/tree/main/go"
"https://git.alpinelinux.org/apk-tools/tree/test/unit/version.data"
"https://github.com/rpm-software-management/rpm/blob/master/tests/rpmvercmp.at"
A native version range data that can be any of a string, array or object.
A canonical VERS string to use as a test output.
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"parse"
false
A VERS string to use as a test input (canonical or not).
Test output to use as an object of decoded VERS components.
A VERS type (aka versioning scheme.)
"maven"
"npm"
"pypi"
"semver"
A list of version constraints as two-tuples of (comparator, version).
Must contain a minimum of 1 items
All items must be unique
No Additional ItemsA VERS constraint is a two-tuple array of (comparator, version string).
No Additional ItemsA VERS version comparator.
A version string.
"1.2.3"
"54.a-RELEASE"
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"build"
false
Test input as an object of decoded VERS components.
A VERS type (aka versioning scheme.)
"maven"
"npm"
"pypi"
"semver"
A list of version constraints as two-tuples of (comparator, version).
Must contain a minimum of 1 items
All items must be unique
No Additional ItemsA VERS constraint is a two-tuple array of (comparator, version string).
No Additional ItemsA VERS version comparator.
A version string.
"1.2.3"
"54.a-RELEASE"
A canonical VERS string to use as a test output.
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"validate"
A VERS string to use as a test input (canonical or not).
A canonical VERS string to use as a test output.
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"merge"
false
Test input as a list of VERS strings.
Must contain a minimum of 1 items
All items must be unique
No Additional ItemsAn expected canonical merged VERS string to use as a test output.
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"containment"
false
A version and a VERS string to use as a containment test input.
A version string to test for containment in the input VERS.
A canonical VERS string used to test its containment of the input version.
A true boolean if the version is contained in the input VERS - otherwise false.
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"comparison"
false
A VERS type and a list of version strings to use as sorting test input.
VERS type (aka versioning scheme).
Test input as a list of bare versions strings.
Must contain a minimum of 2 items
An expected sorted list of version strings to use as a test output.
Must contain a minimum of 2 items
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"equality"
false
A VERS type and a two-tuple of version strings to compare.
VERS type to use as an input for an equality test.
Test input as a tuple of two bare versions strings.
Must contain a minimum of 2 items
Must contain a maximum of 2 items
A true boolean if two bare versions are expected to be equal to use as a test output.
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"parse"
true
A VERS string to use as a test input (canonical or not).
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"build"
true
Test input as an object of decoded VERS components.
A VERS type (aka versioning scheme.)
"maven"
"npm"
"pypi"
"semver"
A list of version constraints as two-tuples of (comparator, version).
Must contain a minimum of 1 items
All items must be unique
No Additional ItemsA VERS constraint is a two-tuple array of (comparator, version string).
No Additional ItemsA VERS version comparator.
A version string.
"1.2.3"
"54.a-RELEASE"
A description for this test.
The conformance group of this test case.
Test group for test cases required for conformance with the VERS standard - ECMA-nnn
Test group for test cases recommended to identify common problems in VERS data and how to remediate or normalize them in order to pass 'required' tests.
The functional type of this test case.
A test case to build a canonical VERS string from decoded components.
A test case to sort an input version string array using the applicable VERS type rules.
A test case to determine if a bare version string is contained within the range of a VERS string.
A test case to check if two input version strings are equal using the applicable VERS type rules.
A test case to construct a canonical VERS string from a native ecosystem data source.
A test case to invert a VERS string into a canonical VERS string
A test case to merge an array of VERS strings into a canonical VERS string.
A test case to parse a VERS string into a decoded VERS type and a constraints list
A test case to validate that an input VERS is in canonical form.
true if this test input is expected to fail to be processed.
The reason why this test is is expected to fail if expected_failure is true, or another message about the test result .