From ef0c0d2b7cf567343f502dfb248ef97539103b05 Mon Sep 17 00:00:00 2001 From: Andrew Nesbitt Date: Tue, 18 Aug 2026 16:49:45 +0100 Subject: [PATCH 1/2] Generate reference containment fixtures --- composer_pub.go | 20 +- composer_pub_test.go | 37 + range.go | 30 +- testdata/local/provenance.json | 21 +- .../tests/cargo_range_generated_test.json | 5325 ++ .../tests/composer_range_generated_test.json | 11205 +++ .../tests/composer_range_reference_test.json | 6 +- .../local/tests/gem_range_generated_test.json | 6596 ++ .../tests/maven_range_generated_test.json | 285 + .../local/tests/npm_range_generated_test.json | 16965 +++++ .../local/tests/pub_range_generated_test.json | 3085 + .../tests/pypi_range_generated_test.json | 59525 ++++++++++++++++ tools/harvest/extract.go | 7 +- tools/harvest/extract_test.go | 13 + tools/harvest/main.go | 182 +- tools/harvest/reference.go | 403 + tools/harvest/reference_test.go | 79 + 17 files changed, 103719 insertions(+), 65 deletions(-) create mode 100644 testdata/local/tests/cargo_range_generated_test.json create mode 100644 testdata/local/tests/composer_range_generated_test.json create mode 100644 testdata/local/tests/gem_range_generated_test.json create mode 100644 testdata/local/tests/maven_range_generated_test.json create mode 100644 testdata/local/tests/npm_range_generated_test.json create mode 100644 testdata/local/tests/pub_range_generated_test.json create mode 100644 testdata/local/tests/pypi_range_generated_test.json create mode 100644 tools/harvest/reference.go create mode 100644 tools/harvest/reference_test.go diff --git a/composer_pub.go b/composer_pub.go index 131eac4..1f8662b 100644 --- a/composer_pub.go +++ b/composer_pub.go @@ -228,11 +228,18 @@ func parseComposerTildeRange(version string) (*Range, error) { // parseComposerWildcardRange expands a Composer wildcard into inclusive and // exclusive bounds. func parseComposerWildcardRange(constraint string) (*Range, error) { + wildcard := strings.TrimSpace(constraint) + numericTagsOnly := wildcard != "*" && !strings.EqualFold(wildcard, "x") parts, ok := composerWildcardReleaseParts(constraint) if !ok { return nil, fmt.Errorf("invalid composer wildcard: %s", constraint) } if len(parts) == 0 { + if numericTagsOnly { + return rangeWithScheme(NewRange([]Interval{ + NewInterval("0.0.0.0-dev", "", true, false), + }), schemeComposer), nil + } return rangeWithScheme(Unbounded(), schemeComposer), nil } lower := completeComposerRelease(parts) + "-dev" @@ -474,8 +481,8 @@ func parseComposerVersion(version string) (composerVersion, bool) { func compareComposer(a, b string) int { left, leftOK := parseComposerVersion(a) right, rightOK := parseComposerVersion(b) - leftBranch := strings.HasPrefix(strings.ToLower(a), "dev-") - rightBranch := strings.HasPrefix(strings.ToLower(b), "dev-") + leftBranch := isComposerBranchVersion(a) + rightBranch := isComposerBranchVersion(b) if leftBranch != rightBranch { if leftBranch { return -1 @@ -524,9 +531,12 @@ func validComposerVersion(version string) bool { if _, ok := parseComposerVersion(version); ok { return true } - lower := strings.ToLower(version) - return (strings.HasPrefix(lower, "dev-") && len(version) > len("dev-")) || - composerNumericBranchRegex.MatchString(version) + return isComposerBranchVersion(version) || composerNumericBranchRegex.MatchString(version) +} + +func isComposerBranchVersion(version string) bool { + version = strings.TrimSpace(version) + return len(version) > len("dev-") && strings.HasPrefix(strings.ToLower(version), "dev-") } // normalizeComposerVersion normalizes SemVer-shaped Composer tags while diff --git a/composer_pub_test.go b/composer_pub_test.go index eda3d7c..0aec14a 100644 --- a/composer_pub_test.go +++ b/composer_pub_test.go @@ -137,3 +137,40 @@ func TestComposerDevWildcardRanges(t *testing.T) { } } } + +func TestComposerRangeBranchContainment(t *testing.T) { + tests := []struct { + constraint string + version string + want bool + }{ + {constraint: "*", version: "dev-master", want: true}, + {constraint: "x", version: "dev-master", want: true}, + {constraint: "v*", version: "dev-master", want: false}, + {constraint: "v*", version: "1.0.0", want: true}, + {constraint: "*.*", version: "dev-master", want: false}, + {constraint: "<1.2.3", version: "dev-master", want: false}, + {constraint: "=dev-master", version: "dev-master", want: true}, + {constraint: "=dev-master", version: "1.0.0", want: false}, + {constraint: ">=dev-master", version: "dev-master", want: false}, + {constraint: ">=dev-master", version: "1.0.0", want: false}, + {constraint: "!=dev-master", version: "dev-master", want: false}, + {constraint: "!=dev-master", version: "dev-MASTER", want: true}, + {constraint: "!=dev-master", version: "dev-main", want: true}, + {constraint: "!=dev-master", version: "1.0.0", want: true}, + } + for _, test := range tests { + native, err := ParseNative(test.constraint, schemeComposer) + if err != nil { + t.Fatalf("ParseNative(%q, composer): %v", test.constraint, err) + } + uri := ToVersString(native, schemeComposer) + roundTrip, err := Parse(uri) + if err != nil { + t.Fatalf("Parse(%q): %v", uri, err) + } + if got := roundTrip.Contains(test.version); got != test.want { + t.Errorf("Parse(%q).Contains(%q) = %v, want %v", uri, test.version, got, test.want) + } + } +} diff --git a/range.go b/range.go index 9327323..9d15f51 100644 --- a/range.go +++ b/range.go @@ -38,7 +38,13 @@ func (r *Range) Contains(version string) bool { // Check exclusions first for _, exc := range r.Exclusions { - if scheme == schemePyPI && pep440SpecifierEqual(version, exc) || scheme != schemePyPI && cmp(version, exc) == 0 { + excluded := cmp(version, exc) == 0 + if scheme == schemePyPI { + excluded = pep440SpecifierEqual(version, exc) + } else if scheme == schemeComposer && (isComposerBranchVersion(version) || isComposerBranchVersion(exc)) { + excluded = version == exc + } + if excluded { return false } } @@ -46,8 +52,11 @@ func (r *Range) Contains(version string) bool { // Check if version is in any interval for _, interval := range r.Intervals { contains := interval.containsCmp(version, cmp) - if scheme == schemePyPI { + switch scheme { + case schemePyPI: contains = pypiIntervalContains(interval, version) + case schemeComposer: + contains = composerIntervalContains(interval, version) } if contains && (scheme == schemeNPM || scheme == schemeCargo) && !semverIntervalAllowsPrerelease(interval, version) { contains = false @@ -60,6 +69,23 @@ func (r *Range) Contains(version string) bool { return false } +func composerIntervalContains(interval Interval, version string) bool { + candidateIsBranch := isComposerBranchVersion(version) + minimumIsBranch := isComposerBranchVersion(interval.Min) + maximumIsBranch := isComposerBranchVersion(interval.Max) + if !candidateIsBranch && !minimumIsBranch && !maximumIsBranch { + return interval.containsCmp(version, compareComposer) + } + if interval.IsUnbounded() { + return true + } + if candidateIsBranch && minimumIsBranch && maximumIsBranch && + interval.MinInclusive && interval.MaxInclusive && interval.Min == interval.Max { + return version == interval.Min + } + return false +} + func semverIntervalAllowsPrerelease(interval Interval, version string) bool { candidate, err := ParseVersion(version) if err != nil || candidate.Prerelease == "" { diff --git a/testdata/local/provenance.json b/testdata/local/provenance.json index 428480e..392d4e3 100644 --- a/testdata/local/provenance.json +++ b/testdata/local/provenance.json @@ -26,7 +26,8 @@ ], "generated_files": [ "tests/npm_version_cmp_test.json", - "tests/npm_range_reference_test.json" + "tests/npm_range_reference_test.json", + "tests/npm_range_generated_test.json" ] }, { @@ -39,7 +40,8 @@ ], "generated_files": [ "tests/pypi_version_cmp_test.json", - "tests/pypi_range_reference_test.json" + "tests/pypi_range_reference_test.json", + "tests/pypi_range_generated_test.json" ] }, { @@ -52,7 +54,8 @@ ], "generated_files": [ "tests/gem_version_cmp_test.json", - "tests/gem_range_reference_test.json" + "tests/gem_range_reference_test.json", + "tests/gem_range_generated_test.json" ] }, { @@ -65,7 +68,8 @@ ], "generated_files": [ "tests/composer_version_cmp_test.json", - "tests/composer_range_reference_test.json" + "tests/composer_range_reference_test.json", + "tests/composer_range_generated_test.json" ] }, { @@ -80,7 +84,8 @@ ], "generated_files": [ "tests/pub_version_cmp_test.json", - "tests/pub_range_reference_test.json" + "tests/pub_range_reference_test.json", + "tests/pub_range_generated_test.json" ] }, { @@ -93,7 +98,8 @@ ], "generated_files": [ "tests/cargo_version_cmp_test.json", - "tests/cargo_range_reference_test.json" + "tests/cargo_range_reference_test.json", + "tests/cargo_range_generated_test.json" ] }, { @@ -104,7 +110,8 @@ "compat/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java" ], "generated_files": [ - "tests/maven_range_reference_test.json" + "tests/maven_range_reference_test.json", + "tests/maven_range_generated_test.json" ] }, { diff --git a/testdata/local/tests/cargo_range_generated_test.json b/testdata/local/tests/cargo_range_generated_test.json new file mode 100644 index 0000000..864a196 --- /dev/null +++ b/testdata/local/tests/cargo_range_generated_test.json @@ -0,0 +1,5325 @@ +{ + "$schema": "https://packageurl.org/schemas/vers-test.schema-0.2.json", + "tests": [ + { + "description": "semver range \"1.0.0\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"1.0.0\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"1.0.0\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"1.0.0\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"1.0.0\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"1.0.0\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"1.0.0\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"1.0.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "semver range \"1.0.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"1.0.0\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"1.0.0\" contains \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.0" + }, + "expected_output": true + }, + { + "description": "semver range \"1.0.0\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"1.0.0\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "semver range \"1.0.0\" contains \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3+23" + }, + "expected_output": true + }, + { + "description": "semver range \"1.0.0\" contains \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3+42" + }, + "expected_output": true + }, + { + "description": "semver range \"1.0.0\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"1.0.0\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"1.0.0\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"1.0.0\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "semver range \"=1.0.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"=1.0.0\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/1.0.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.9.0\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.9.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.0.2\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.0.2", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0-beta2.a\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0-beta2.a", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" contains \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "0.1.0" + }, + "expected_output": true + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"=0.1.0+meta\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/0.1.0+meta", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 1.0.0\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 1.0.0\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 1.0.0\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 1.0.0\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 1.0.0\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 1.0.0\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 1.0.0\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 1.0.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e= 1.0.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 1.0.0\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 1.0.0\" contains \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.2.0" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e= 1.0.0\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 1.0.0\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e= 1.0.0\" contains \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.2.3+23" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e= 1.0.0\" contains \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.2.3+42" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e= 1.0.0\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 1.0.0\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 1.0.0\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 1.0.0\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.0.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e= 2.1.0-alpha2\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=2.1.0-alpha2", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003c 1.0.0\" contains \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "0.1.0" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c 1.0.0\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c1.0.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" contains \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.2.0" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" contains \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.2.3+23" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" contains \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.2.3+42" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" contains \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "0.1.0" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003c= 2.1.0-alpha2\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003c=2.1.0-alpha2", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" contains \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" contains \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" contains \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.0.0-beta" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" contains \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.0.0-beta.2" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" contains \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.0.0-beta.11" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" contains \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.0.0-rc.1" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0.0\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e1.0.0-alpha|\u003c1.0.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e1.0.0-alpha, \u003c1.0\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/!=0.0.0|0.0.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" contains \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.2.0" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" contains \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.2.3+23" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" contains \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.2.3+42" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" contains \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "0.1.0" + }, + "expected_output": true + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e 0.0.9, \u003c= 2.5.3\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e0.0.9|\u003c=2.5.3", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"0.1.0, 0.1.4, 0.1.6\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.6|\u003c0.2.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"\u003e=0.5.1-alpha3, \u003c0.6\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0-0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" contains \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.0" + }, + "expected_output": true + }, + { + "description": "semver range \"~1.2\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "semver range \"~1.2\" contains \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3+23" + }, + "expected_output": true + }, + { + "description": "semver range \"~1.2\" contains \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3+42" + }, + "expected_output": true + }, + { + "description": "semver range \"~1.2\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "semver range \"~1.2.2\" contains \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.2.3+23" + }, + "expected_output": true + }, + { + "description": "semver range \"~1.2.2\" contains \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.2.3+42" + }, + "expected_output": true + }, + { + "description": "semver range \"~1.2.2\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.2\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.2|\u003c1.3.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "semver range \"~1.2.3-beta.2\" contains \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.2.3+23" + }, + "expected_output": true + }, + { + "description": "semver range \"~1.2.3-beta.2\" contains \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.2.3+42" + }, + "expected_output": true + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"~1.2.3-beta.2\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.2.3-beta.2|\u003c1.3.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" contains \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.2.0" + }, + "expected_output": true + }, + { + "description": "semver range \"^1.1\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "semver range \"^1.1\" contains \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.2.3+23" + }, + "expected_output": true + }, + { + "description": "semver range \"^1.1\" contains \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.2.3+42" + }, + "expected_output": true + }, + { + "description": "semver range \"^1.1\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.0|\u003c2.0.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" contains \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.2.0" + }, + "expected_output": true + }, + { + "description": "semver range \"^1.1.2\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "semver range \"^1.1.2\" contains \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.2.3+23" + }, + "expected_output": true + }, + { + "description": "semver range \"^1.1.2\" contains \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.2.3+42" + }, + "expected_output": true + }, + { + "description": "semver range \"^1.1.2\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.1.2\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.1.2|\u003c2.0.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.1.2\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.5.1-alpha3\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.5.1-alpha3|\u003c0.6.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0.2\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.2|\u003c0.0.3", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "semver range \"^0.0\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "semver range \"^0.0\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^0.0\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c0.1.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "semver range \"^0\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "semver range \"^0\" contains \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "0.1.0" + }, + "expected_output": true + }, + { + "description": "semver range \"^0\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^0\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=0.0.0|\u003c1.0.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"^1.4.2-beta.5\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/\u003e=1.4.2-beta.5|\u003c2.0.0", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"*\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"*\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"*\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"*\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"*\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"*\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"*\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"*\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "semver range \"*\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "semver range \"*\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"*\" contains \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.2.0" + }, + "expected_output": true + }, + { + "description": "semver range \"*\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"*\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "semver range \"*\" contains \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.2.3+23" + }, + "expected_output": true + }, + { + "description": "semver range \"*\" contains \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.2.3+42" + }, + "expected_output": true + }, + { + "description": "semver range \"*\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "semver range \"*\" contains \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "0.1.0" + }, + "expected_output": true + }, + { + "description": "semver range \"*\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"*\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/*", + "version": "1.2.3-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.0.0-alpha.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.0.0-alpha.beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.0.0-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.0.0-beta" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.2.3-alpha2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.2.3-alpha2" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.2.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.2.3-alpha1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.2.3-alpha1" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.2.3+23\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.2.3+23" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.2.3+42\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.2.3+42" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"0.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "0.1.0" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.2.3-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.2.3-alpha" + }, + "expected_output": false + }, + { + "description": "semver range \"=2.1.1-really.0\" excludes \"1.2.3-beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:cargo/2.1.1-really.0", + "version": "1.2.3-beta" + }, + "expected_output": false + } + ] +} diff --git a/testdata/local/tests/composer_range_generated_test.json b/testdata/local/tests/composer_range_generated_test.json new file mode 100644 index 0000000..45564e8 --- /dev/null +++ b/testdata/local/tests/composer_range_generated_test.json @@ -0,0 +1,11205 @@ +{ + "$schema": "https://packageurl.org/schemas/vers-test.schema-0.2.json", + "tests": [ + { + "description": "composer/semver range \"v*\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v*\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v*\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v*\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v*\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v*\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v*\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v*\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v*\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v*\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v*\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v*\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v*\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v*\" contains \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v*\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v*\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "dev-foo" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "1.2-dev" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "dev-master" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c\u003e1.0.0\" contains \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/!=1.0.0", + "version": "dev-bar" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e1.0.0\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e1.0.0\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e1.0.0\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e1.0.0\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e1.0.0\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e1.0.0\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e1.0.0\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e1.0.0\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e1.0.0\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e1.0.0\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e1.0.0\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e1.0.0\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e1.0.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e1.0.0\" contains \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "1.2-dev" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e1.0.0\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e1.0.0\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.0.0", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" contains \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "1.2-dev" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" contains \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "1.2-dev" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c=1.2.3\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c=1.2.3", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=1.2.3\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.2.3\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"=1.0\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"=1.0\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.0.0", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3b5\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-beta5", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3a1\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-alpha1", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3p1234\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/1.2.3-patch1234", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" contains \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "1.2-dev" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c 1.2.3\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e 1.2.3\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e1.2.3", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=dev-master\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=dev-master", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-master\" contains \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "dev-master" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"dev-master\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-master", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-feature-a\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-feature-a", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-some-fix\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-some-fix", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"dev-CAPS\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/dev-CAPS", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" contains \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "1.2-dev" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003c1.2.3.4-stable\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003c1.2.3.4", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"\u003e=1.2.3.4-stable\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v2.*\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c3.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"20.*\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=20.0.0-dev|\u003c21.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.*\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.0-dev|\u003c2.1.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.2.x\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.2.0-dev|\u003c2.3.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.10.X\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.10.0-dev|\u003c2.11.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.1.3.*\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.1.3-dev|\u003c2.1.4-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.*\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c1.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~v1\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~v1\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~v1\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~v1\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~v1\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~v1\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~v1\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~v1\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~v1\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~v1\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~v1\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~v1\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~v1\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~v1\" contains \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~v1\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~v1\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.0.0\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c1.1.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2\" contains \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c2.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c1.3.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.3.4\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c1.2.4.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2-beta\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-beta\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-beta\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-beta\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-beta\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-beta\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-beta\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-beta\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-beta\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-beta\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-beta\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-beta\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2-beta\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2-beta\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2-beta\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2-beta\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2-b2\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-b2\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-b2\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-b2\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-b2\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-b2\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-b2\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-b2\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-b2\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-b2\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-b2\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"~1.2-b2\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2-b2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2-b2\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2-b2\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2-b2\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta2|\u003c2.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-dev\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2-dev|\u003c1.3.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~1.2.2-stable\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.2|\u003c1.3.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-dev|\u003c201904.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-beta\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0-beta|\u003c201904.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.0-stable\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.0.0|\u003c201904.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~201903.205830.1-stable\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201903.205831.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.x-dev\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.x-dev\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c2.1.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~2.0.3.x-dev\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c2.0.4-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"~0.x-dev\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c1.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.0-dev|\u003c0.1.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3-beta.2\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-beta2|\u003c2.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3.4\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3.4\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3.4\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3.4\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3.4\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3.4\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3.4\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3.4\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3.4\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3.4\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3.4\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3.4\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3.4\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3.4\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3.4\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3.4\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3.4-dev|\u003c2.0.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"^1.2.3\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^1.2.3\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c2.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2.3\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.3-dev|\u003c0.3.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.2\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.2.0-dev|\u003c0.3.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-dev|\u003c0.0.4-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-alpha\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3-alpha|\u003c0.0.4-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^0.0.3-stable\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.0.3|\u003c0.0.4-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^201903.205830.1-stable\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=201903.205830.1|\u003c201904.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.*-dev\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c3.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"^2.0.3.x-dev\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c3.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v1 - v2\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v1 - v2\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v1 - v2\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v1 - v2\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v1 - v2\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v1 - v2\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v1 - v2\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v1 - v2\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v1 - v2\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v1 - v2\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v1 - v2\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v1 - v2\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v1 - v2\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v1 - v2\" contains \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "1.2-dev" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"v1 - v2\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"v1 - v2\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c3.0.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3 - 2.3.4.5\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-dev|\u003c=2.3.4.5", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-beta - 2.3\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c2.4.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-beta - 2.3-dev\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-beta|\u003c=2.3.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2-RC - 2.3.1\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-RC|\u003c=2.3.1", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2.3-alpha - 2.3-RC\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.3-alpha|\u003c=2.3.0-RC", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1 - 2.0\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.0\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.0\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.0\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.0\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.0\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.0\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.0\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.0\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.0\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.0\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.0\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1 - 2.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.0\" contains \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "1.2-dev" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.0\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1 - 2.0\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.1.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1 - 2.1\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.1\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.1\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.1\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.1\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.1\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.1\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.1\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.1\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.1\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.1\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.1\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1 - 2.1\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.1\" contains \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "1.2-dev" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1 - 2.1\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1 - 2.1\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.0.0-dev|\u003c2.2.0-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" contains \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "1.2-dev" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.2 - 2.1.0\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.2.0-dev|\u003c=2.1.0", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"1.3 - 2.1.3\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=1.3.0-dev|\u003c=2.1.3", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.3.x-dev - 3.0.3.x-dev\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.3.9999999-dev|\u003c=3.0.3.9999999-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.0.x-dev - 3.0.x-dev\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.0.9999999.9999999-dev|\u003c=3.0.9999999.9999999-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "1.25.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "1.24.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "1.26.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "1.25.0-b.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "1.25.0beta.3" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "1.25.0-rc" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "1.2-dev" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"2.x-dev - 3.x-dev\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=2.9999999.9999999.9999999-dev|\u003c=3.9999999.9999999.9999999-dev", + "version": "dev-bar" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" contains \"1.25.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "1.25.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" contains \"1.24.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "1.24.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" contains \"1.26.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "1.26.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" contains \"1.25.0-beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "1.25.0-beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" contains \"1.25.0-b.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "1.25.0-b.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" contains \"1.25.0-b2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "1.25.0-b2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" contains \"1.25.0beta.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "1.25.0beta.3" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" contains \"1.25.0-b-2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "1.25.0-b-2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" contains \"1.25.0-rc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "1.25.0-rc" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" contains \"1.25.0-b.2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "1.25.0-b.2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" contains \"1.25.0beta2.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "1.25.0beta2.1" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" excludes \"dev-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "dev-foo" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" contains \"1.2-dev\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "1.2-dev" + }, + "expected_output": true + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" excludes \"dev-master\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "dev-master" + }, + "expected_output": false + }, + { + "description": "composer/semver range \"0.x-dev - 1.x-dev\" excludes \"dev-bar\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:composer/\u003e=0.9999999.9999999.9999999-dev|\u003c=1.9999999.9999999.9999999-dev", + "version": "dev-bar" + }, + "expected_output": false + } + ] +} diff --git a/testdata/local/tests/composer_range_reference_test.json b/testdata/local/tests/composer_range_reference_test.json index 6a736c1..90b8101 100644 --- a/testdata/local/tests/composer_range_reference_test.json +++ b/testdata/local/tests/composer_range_reference_test.json @@ -6,7 +6,7 @@ "test_group": "recommended", "test_type": "containment", "input": { - "vers": "vers:composer/*", + "vers": "vers:composer/\u003e=0.0.0.0-dev", "version": "0.0.0.0-dev" }, "expected_output": true @@ -132,14 +132,14 @@ "expected_output": false }, { - "description": "composer/semver range \"\u003e=dev-master\" contains \"dev-master\".", + "description": "composer/semver range \"\u003e=dev-master\" excludes \"dev-master\".", "test_group": "recommended", "test_type": "containment", "input": { "vers": "vers:composer/\u003e=dev-master", "version": "dev-master" }, - "expected_output": true + "expected_output": false }, { "description": "composer/semver range \"dev-master\" contains \"dev-master\".", diff --git a/testdata/local/tests/gem_range_generated_test.json b/testdata/local/tests/gem_range_generated_test.json new file mode 100644 index 0000000..708d8f9 --- /dev/null +++ b/testdata/local/tests/gem_range_generated_test.json @@ -0,0 +1,6596 @@ +{ + "$schema": "https://packageurl.org/schemas/vers-test.schema-0.2.json", + "tests": [ + { + "description": "RubyGems range \"= 0.2.33\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.2.33\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.2.33", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.2.33\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.2.33", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"= 1.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"= 1.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"= 1.0.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.0.0\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.0.0", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.8.0\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.8.0", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.111\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.111\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.111\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.111\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.111\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.111\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.111\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.111\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.111\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.111\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.111\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.111\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.111\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.111\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.111\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.111\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.111\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.111", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.0.0.1\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.0.0.1", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 9.3.2\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e9.3.2", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "0.0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "0.0.beta" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 9.3.4\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=9.3.4", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e= 9.3.2\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=9.3.2", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"= 0\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0\" contains \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"= 0\" contains \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"= 0\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 0.1\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 0.1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 0.1\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 0.1\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 0.1\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 0.1\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 0.1\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 0.1\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 0.1\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 0.1\" contains \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 0.1\" contains \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 0.1\" contains \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 0.1\" contains \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "0.0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 0.1\" contains \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "0.0.beta" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 0.1\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 0.1\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 0.1\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c0.1", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "0.0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "0.0.beta" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.a \" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.a", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" contains \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" contains \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" contains \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" contains \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "0.0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" contains \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "0.0.beta" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 3.2.rc1\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.2.rc1", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 3.2.0.rc1\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e3.2.0.rc1", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" contains \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" contains \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" contains \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" contains \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "0.0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" contains \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "0.0.beta" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 3.0\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 3.0\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" contains \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" contains \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" contains \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" contains \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "0.0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" contains \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "0.0.beta" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 3.0.0\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.0", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" contains \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" contains \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" contains \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" contains \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "0.0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" contains \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "0.0.beta" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 3.0.1\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c3.0.1", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0\" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 5.a\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.a\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.a\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.a\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.a\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.a\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.a\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.a\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.a\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.a\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.a\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.a\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.a\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.a\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.a\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 5.a\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 5.a\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.a|\u003c6.a", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 5.x\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=5.x|\u003c6.a", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.4\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.4\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.4\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.4\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.4\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.4\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4|\u003c2.a", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.4.4\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.4.4|\u003c1.5.a", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0.0\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0.0|\u003c1.1.a", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.1\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.1\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.1\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.1\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.1\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.1\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.1\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.1\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.1\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.1\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.1\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.1\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.1\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.1\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.1\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.1|\u003c2.a", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.0\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.0\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.0\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.0\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1.0\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1.0\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1.0|\u003c2.a", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 2.0\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=2.0|\u003c3.a", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"~\u003e 1\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"~\u003e 1\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e=1|\u003c2.a", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.1\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.1\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.1\" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.1\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.1\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.1\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.1\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.1\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.1\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.1\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.1\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.1\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.1\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 0.1\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.1\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 0.1\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e0.1", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "0.0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "0.0.beta" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.2.3\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.2.3", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "0.0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "0.0.beta" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"!= 1.02.3\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/!=1.02.3", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" contains \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" contains \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" contains \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" contains \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "0.0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" contains \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "0.0.beta" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c 1.2.3\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c1.2.3", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.1\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.1\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.1\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.1\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.1\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.1\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 0.1\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/0.1", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003e 1.1.1\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003e1.1.1", + "version": "5.x" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.1\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.1", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "1.0.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "1.8.2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "1.8.2.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "1.8.2.b" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "1.8.2.a10" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "1.8.2.a9" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "0" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "0.0.beta.1" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "0.0.beta" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "5.a" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "5.0.0.rc2" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"= 1.40\" excludes \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/1.40", + "version": "5.x" + }, + "expected_output": false + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"1.0.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "1.0.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"1.8.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "1.8.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"1.8.2.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "1.8.2.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"1.8.2.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "1.8.2.b" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"1.8.2.a10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "1.8.2.a10" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"1.8.2.a9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "1.8.2.a9" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "0" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"0.0.beta.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "0.0.beta.1" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"0.0.beta\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "0.0.beta" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"5.a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "5.a" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"5.0.0.rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "5.0.0.rc2" + }, + "expected_output": true + }, + { + "description": "RubyGems range \"\u003c= 9.3.2\" contains \"5.x\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:gem/\u003c=9.3.2", + "version": "5.x" + }, + "expected_output": true + } + ] +} diff --git a/testdata/local/tests/maven_range_generated_test.json b/testdata/local/tests/maven_range_generated_test.json new file mode 100644 index 0000000..301db57 --- /dev/null +++ b/testdata/local/tests/maven_range_generated_test.json @@ -0,0 +1,285 @@ +{ + "$schema": "https://packageurl.org/schemas/vers-test.schema-0.2.json", + "tests": [ + { + "description": "maven-artifact range \"[1.0,)\" excludes \"1.0-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0", + "version": "1.0-SNAPSHOT" + }, + "expected_output": false + }, + { + "description": "maven-artifact range \"[1.0,)\" contains \"1.1-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0", + "version": "1.1-SNAPSHOT" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"[1.0,)\" contains \"5.0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0", + "version": "5.0.9.0" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"[1.0,)\" contains \"1.2-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0", + "version": "1.2-SNAPSHOT" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"[1.0,1.1-SNAPSHOT]\" excludes \"1.0-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0|\u003c=1.1-SNAPSHOT", + "version": "1.0-SNAPSHOT" + }, + "expected_output": false + }, + { + "description": "maven-artifact range \"[1.0,1.1-SNAPSHOT]\" contains \"1.1-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0|\u003c=1.1-SNAPSHOT", + "version": "1.1-SNAPSHOT" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"[1.0,1.1-SNAPSHOT]\" excludes \"5.0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0|\u003c=1.1-SNAPSHOT", + "version": "5.0.9.0" + }, + "expected_output": false + }, + { + "description": "maven-artifact range \"[1.0,1.1-SNAPSHOT]\" excludes \"1.2-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0|\u003c=1.1-SNAPSHOT", + "version": "1.2-SNAPSHOT" + }, + "expected_output": false + }, + { + "description": "maven-artifact range \"[5.0.9.0,5.0.10.0)\" excludes \"1.0-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=5.0.9.0|\u003c5.0.10.0", + "version": "1.0-SNAPSHOT" + }, + "expected_output": false + }, + { + "description": "maven-artifact range \"[5.0.9.0,5.0.10.0)\" excludes \"1.1-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=5.0.9.0|\u003c5.0.10.0", + "version": "1.1-SNAPSHOT" + }, + "expected_output": false + }, + { + "description": "maven-artifact range \"[5.0.9.0,5.0.10.0)\" contains \"5.0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=5.0.9.0|\u003c5.0.10.0", + "version": "5.0.9.0" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"[5.0.9.0,5.0.10.0)\" excludes \"1.2-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=5.0.9.0|\u003c5.0.10.0", + "version": "1.2-SNAPSHOT" + }, + "expected_output": false + }, + { + "description": "maven-artifact range \"[1.0,1.2]\" excludes \"1.0-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0|\u003c=1.2", + "version": "1.0-SNAPSHOT" + }, + "expected_output": false + }, + { + "description": "maven-artifact range \"[1.0,1.2]\" contains \"1.1-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0|\u003c=1.2", + "version": "1.1-SNAPSHOT" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"[1.0,1.2]\" excludes \"5.0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0|\u003c=1.2", + "version": "5.0.9.0" + }, + "expected_output": false + }, + { + "description": "maven-artifact range \"[1.0,1.2]\" contains \"1.2-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0|\u003c=1.2", + "version": "1.2-SNAPSHOT" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"[1.0,1.2-SNAPSHOT]\" excludes \"1.0-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0|\u003c=1.2-SNAPSHOT", + "version": "1.0-SNAPSHOT" + }, + "expected_output": false + }, + { + "description": "maven-artifact range \"[1.0,1.2-SNAPSHOT]\" contains \"1.1-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0|\u003c=1.2-SNAPSHOT", + "version": "1.1-SNAPSHOT" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"[1.0,1.2-SNAPSHOT]\" excludes \"5.0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0|\u003c=1.2-SNAPSHOT", + "version": "5.0.9.0" + }, + "expected_output": false + }, + { + "description": "maven-artifact range \"[1.0,1.2-SNAPSHOT]\" contains \"1.2-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0|\u003c=1.2-SNAPSHOT", + "version": "1.2-SNAPSHOT" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"[1.0-SNAPSHOT,1.2]\" contains \"1.0-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0-SNAPSHOT|\u003c=1.2", + "version": "1.0-SNAPSHOT" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"[1.0-SNAPSHOT,1.2]\" contains \"1.1-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0-SNAPSHOT|\u003c=1.2", + "version": "1.1-SNAPSHOT" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"[1.0-SNAPSHOT,1.2]\" excludes \"5.0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0-SNAPSHOT|\u003c=1.2", + "version": "5.0.9.0" + }, + "expected_output": false + }, + { + "description": "maven-artifact range \"[1.0-SNAPSHOT,1.2]\" contains \"1.2-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0-SNAPSHOT|\u003c=1.2", + "version": "1.2-SNAPSHOT" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"1.0-SNAPSHOT\" contains \"1.0-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0-SNAPSHOT", + "version": "1.0-SNAPSHOT" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"1.0-SNAPSHOT\" contains \"1.1-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0-SNAPSHOT", + "version": "1.1-SNAPSHOT" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"1.0-SNAPSHOT\" contains \"5.0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0-SNAPSHOT", + "version": "5.0.9.0" + }, + "expected_output": true + }, + { + "description": "maven-artifact range \"1.0-SNAPSHOT\" contains \"1.2-SNAPSHOT\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:maven/\u003e=1.0-SNAPSHOT", + "version": "1.2-SNAPSHOT" + }, + "expected_output": true + } + ] +} diff --git a/testdata/local/tests/npm_range_generated_test.json b/testdata/local/tests/npm_range_generated_test.json new file mode 100644 index 0000000..45c1633 --- /dev/null +++ b/testdata/local/tests/npm_range_generated_test.json @@ -0,0 +1,16965 @@ +{ + "$schema": "https://packageurl.org/schemas/vers-test.schema-0.2.json", + "tests": [ + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.0.0 - 2.0.0\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c=2.0.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3+build\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3+build\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3+build\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+build|\u003c2.0.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" contains \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-r2" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" contains \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-r100" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.3-pre+asdf - 2.4.3-pre+asdf\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-pre+asdf|\u003c=2.4.3-pre+asdf", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.3+asdf - 2.4.3+asdf\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3+asdf|\u003c=2.4.3+asdf", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.0.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.0.0\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.0.0\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.0.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=*\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=*\" contains \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "0.9.9" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=*\" contains \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "0.10.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=*\" contains \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "0.9.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=*\" contains \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "0.99.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=*\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=*\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" contains \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "3.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=*\" contains \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "2.7.2+asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=*\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=*\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=*\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/*", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.0.0\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" contains \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "3.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.0.0\" contains \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.0.0\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.0.0\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e1.0.0\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" contains \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "3.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e1.0.0\" contains \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.0.0\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e1.0.0\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e1.0.0\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e1.0.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=2.0.0\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=2.0.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=2.0.0\" contains \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "0.9.9" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=2.0.0\" contains \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "0.10.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=2.0.0\" contains \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "0.9.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=2.0.0\" contains \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "0.99.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=2.0.0\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=2.0.0\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=2.0.0\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=2.0.0\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=2.0.0\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=2.0.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c2.0.0\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c2.0.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c2.0.0\" contains \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "0.9.9" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c2.0.0\" contains \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "0.10.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c2.0.0\" contains \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "0.9.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c2.0.0\" contains \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "0.99.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c2.0.0\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c2.0.0\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c2.0.0\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c2.0.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.1.97\" contains \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "0.9.9" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.1.97\" contains \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "0.10.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.1.97\" contains \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "0.9.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.1.97\" contains \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "0.99.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.1.97\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.1.97\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" contains \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "3.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.1.97\" contains \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "2.7.2+asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.1.97\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.1.97\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.1.97\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.97", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"0.1.20 || 1.2.4\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/0.1.20|1.2.4", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" contains \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "0.9.9" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" contains \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "0.10.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" contains \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "0.9.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" contains \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "0.99.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" contains \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "3.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" contains \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "2.7.2+asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.2.3 || \u003c0.0.1\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.0.1|\u003e=0.2.3", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"2.x.x\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" contains \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.x.x\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0|\u003c3.0.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.x\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.x\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.x || 2.x\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" contains \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.2.x || 2.x\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.x || 2.x\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.2.x || 2.x\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c1.3.0|\u003e=2.0.0|\u003c3.0.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"2.3\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"2.3\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.3.0|\u003c2.4.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~0.0.1\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.1.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~2.4\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.4.0|\u003c2.5.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~\u003e3.2.1\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=3.2.1|\u003c3.3.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~1\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~1\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~1\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c2.0.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~1.0\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~1.0\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.0\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~ 1.0.3\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.3|\u003c1.1.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1.2\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1.2\" contains \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "0.9.9" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1.2\" contains \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "0.10.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1.2\" contains \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "0.9.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1.2\" contains \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "0.99.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-pre\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-pre|\u003c0.6.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"=0.7.x\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0|\u003c0.8.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=0.7.x\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.8.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.7.x\" contains \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "0.9.9" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.7.x\" contains \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "0.10.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.7.x\" contains \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "0.9.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.7.x\" contains \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "0.99.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.7.x\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.7.x\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" contains \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "3.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.7.x\" contains \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "2.7.2+asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=0.7.x\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.7.x\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=0.7.x\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.7.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~1.2.1 \u003e=1.2.3\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c1.3.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"~1.2.1 =1.2.3\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/1.2.3", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" contains \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "3.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" contains \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "2.7.2+asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.2.3 \u003e=1.2.1\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.2\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" contains \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "3.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.2\" contains \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "2.7.2+asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.2\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.2\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.2\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3|\u003c2.0.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.2\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.2|\u003c0.2.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.0|\u003c0.2.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1|\u003c0.0.2", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0|\u003c2.0.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3-alpha\" contains \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" contains \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-r2" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3-alpha\" contains \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-r100" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3-alpha\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.3-alpha\" contains \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3-alpha\" contains \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3-alpha\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3-alpha\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.3-alpha\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.3-alpha|\u003c2.0.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^1.2.0-alpha\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.0-alpha\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^1.2.0-alpha\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.2.0-alpha|\u003c2.0.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.0.1-alpha\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.0.1-alpha|\u003c0.0.2", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"^0.1.1-alpha\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=0.1.1-alpha|\u003c0.2.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "node-semver range \"x - 1.0.0\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"x - 1.0.0\" contains \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "0.9.9" + }, + "expected_output": true + }, + { + "description": "node-semver range \"x - 1.0.0\" contains \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "0.10.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"x - 1.0.0\" contains \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "0.9.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"x - 1.0.0\" contains \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "0.99.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"x - 1.0.0\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.0.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=7.x\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=7.x\" contains \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "0.9.9" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=7.x\" contains \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "0.10.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=7.x\" contains \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "0.9.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=7.x\" contains \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "0.99.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=7.x\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=7.x\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" contains \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "3.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=7.x\" contains \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=7.x\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=7.x\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=7.x\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c8.0.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" contains \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "3.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e1.2\" contains \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "2.7.2+asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e1.2\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.3.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=1.2.3\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=1.2.3\" contains \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "0.9.9" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=1.2.3\" contains \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "0.10.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=1.2.3\" contains \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "0.9.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=1.2.3\" contains \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "0.99.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c=1.2.3\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=1.2.3\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c=1.2.3\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c=1.2.3", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" contains \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "0.9.9" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1\" contains \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "0.10.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1\" contains \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "0.9.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1\" contains \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "0.99.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.0.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"~v0.5.4-beta\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=v0.5.4-beta|\u003c0.6.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c0.7.x\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c0.7.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" contains \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "0.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" contains \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "0.0.1" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1.2.3\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1.2.3\" contains \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "0.9.9" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1.2.3\" contains \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "0.10.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1.2.3\" contains \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "0.9.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1.2.3\" contains \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "0.99.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003c1.2.3\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003c1.2.3", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" contains \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "3.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=2\" contains \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=2\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=2.0.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1 - 2\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1 - 2\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" contains \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "2.7.2+asdf" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1 - 2\" contains \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1 - 2\" contains \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1 - 2\" contains \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c3.0.0", + "version": " v1.2.3+build" + }, + "expected_output": true + }, + { + "description": "node-semver range \"1.1.x\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"1.1.x\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.1.0|\u003c1.2.0", + "version": " v1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"0.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "0.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"0.0.0-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "0.0.0-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"0.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "0.0.1" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"0.9.9\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "0.9.9" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"0.10.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "0.10.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"0.9.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "0.9.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"0.99.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "0.99.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-4\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-4" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-4-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-4-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-5-foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-5-foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-5-Foo\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-5-Foo" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"3.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "3.0.0" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"2.7.2+asdf\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "2.7.2+asdf" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-a.10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-a.10" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-a.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-a.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-a.b\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-a.b" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-a" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-a.b.c.10.d.5\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-a.b.c.10.d.5" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-a.b.c.5.d.100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-a.b.c.5.d.100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-r2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-r2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-r100\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-r100" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-R2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-R2" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-beta+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-beta+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3-beta+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3-beta+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3+build" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \"1.2.3+otherbuild\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": "1.2.3+otherbuild" + }, + "expected_output": false + }, + { + "description": "node-semver range \"\u003e=1.0.0 \u003c1.1.0-pre\" excludes \" v1.2.3+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:npm/\u003e=1.0.0|\u003c1.1.0-pre", + "version": " v1.2.3+build" + }, + "expected_output": false + } + ] +} diff --git a/testdata/local/tests/pub_range_generated_test.json b/testdata/local/tests/pub_range_generated_test.json new file mode 100644 index 0000000..d447dce --- /dev/null +++ b/testdata/local/tests/pub_range_generated_test.json @@ -0,0 +1,3085 @@ +{ + "$schema": "https://packageurl.org/schemas/vers-test.schema-0.2.json", + "tests": [ + { + "description": "pub_semver range \"any\" contains \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.0.0-alpha" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.0.0-alpha.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.0.0-beta.2" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.0.0-beta.11" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.0.0-rc.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.0.0-rc.1+build.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.0.0-rc.1+build.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.0.0+0.3.7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.0.0+0.3.7" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.3.7+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.3.7+build" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.3.7+build.2.b8f12d7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.3.7+build.2.b8f12d7" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.3.7+build.11.e0f985a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.3.7+build.11.e0f985a" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"2.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "2.1.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"2.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "2.2.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"2.11.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "2.11.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"2.11.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "2.11.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"01.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "01.2.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.02.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.02.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.2.03\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.2.03" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.2.3-01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.2.3-01" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.2.3-1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.2.3-1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.2.3+01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.2.3+01" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.2.3+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.2.3+1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.0.0-0xA\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.0.0-0xA" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.0.0-10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.0.0-10" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.0.0+0xFF\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.0.0+0xFF" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"any\" contains \"1.0.0+255\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/*", + "version": "1.0.0+255" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.0.0-rc.1+build.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.0.0-rc.1+build.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.0.0+0.3.7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.0.0+0.3.7" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" contains \"1.3.7+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.3.7+build" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3\" contains \"1.3.7+build.2.b8f12d7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.3.7+build.2.b8f12d7" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3\" contains \"1.3.7+build.11.e0f985a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.3.7+build.11.e0f985a" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3\" contains \"2.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "2.1.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3\" contains \"2.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "2.2.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3\" contains \"2.11.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "2.11.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3\" contains \"2.11.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "2.11.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"01.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "01.2.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.02.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.02.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.2.03\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.2.03" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.2.3-01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.2.3-01" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.2.3-1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.2.3-1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" contains \"1.2.3+01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.2.3+01" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3\" contains \"1.2.3+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.2.3+1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.0.0-0xA\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.0.0-0xA" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.0.0-10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.0.0-10" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.0.0+0xFF\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.0.0+0xFF" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3\" excludes \"1.0.0+255\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3", + "version": "1.0.0+255" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" excludes \"1.0.0-rc.1+build.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.0.0-rc.1+build.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" excludes \"1.0.0+0.3.7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.0.0+0.3.7" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" contains \"1.3.7+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.3.7+build" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" contains \"1.3.7+build.2.b8f12d7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.3.7+build.2.b8f12d7" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" contains \"1.3.7+build.11.e0f985a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.3.7+build.11.e0f985a" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" contains \"2.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "2.1.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" contains \"2.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "2.2.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" contains \"2.11.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "2.11.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" contains \"2.11.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "2.11.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" contains \"01.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "01.2.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" contains \"1.02.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.02.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" contains \"1.2.03\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.2.03" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" excludes \"1.2.3-01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.2.3-01" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" excludes \"1.2.3-1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.2.3-1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" contains \"1.2.3+01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.2.3+01" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" contains \"1.2.3+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.2.3+1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" excludes \"1.0.0-0xA\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.0.0-0xA" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" excludes \"1.0.0-10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.0.0-10" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" excludes \"1.0.0+0xFF\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.0.0+0xFF" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.2.3\" excludes \"1.0.0+255\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3", + "version": "1.0.0+255" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" contains \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.0.0-alpha" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c1.2.3\" contains \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.0.0-alpha.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c1.2.3\" contains \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.0.0-beta.2" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c1.2.3\" contains \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.0.0-beta.11" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c1.2.3\" contains \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.0.0-rc.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c1.2.3\" contains \"1.0.0-rc.1+build.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.0.0-rc.1+build.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c1.2.3\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c1.2.3\" contains \"1.0.0+0.3.7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.0.0+0.3.7" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"1.3.7+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.3.7+build" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"1.3.7+build.2.b8f12d7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.3.7+build.2.b8f12d7" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"1.3.7+build.11.e0f985a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.3.7+build.11.e0f985a" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"2.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "2.1.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"2.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "2.2.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"2.11.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "2.11.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"2.11.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "2.11.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"01.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "01.2.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"1.02.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.02.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"1.2.03\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.2.03" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"1.2.3-01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.2.3-01" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"1.2.3-1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.2.3-1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"1.2.3+01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.2.3+01" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" excludes \"1.2.3+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.2.3+1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c1.2.3\" contains \"1.0.0-0xA\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.0.0-0xA" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c1.2.3\" contains \"1.0.0-10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.0.0-10" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c1.2.3\" contains \"1.0.0+0xFF\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.0.0+0xFF" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c1.2.3\" contains \"1.0.0+255\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c1.2.3-0", + "version": "1.0.0+255" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.0.0-alpha" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.0.0-alpha.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.0.0-beta.2" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.0.0-beta.11" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.0.0-rc.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.0.0-rc.1+build.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.0.0-rc.1+build.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.0.0+0.3.7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.0.0+0.3.7" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" excludes \"1.3.7+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.3.7+build" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" excludes \"1.3.7+build.2.b8f12d7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.3.7+build.2.b8f12d7" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" excludes \"1.3.7+build.11.e0f985a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.3.7+build.11.e0f985a" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" excludes \"2.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "2.1.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" excludes \"2.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "2.2.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" excludes \"2.11.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "2.11.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" excludes \"2.11.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "2.11.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"01.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "01.2.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.02.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.02.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.2.03\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.2.03" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.2.3-01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.2.3-01" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.2.3-1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.2.3-1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" excludes \"1.2.3+01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.2.3+01" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" excludes \"1.2.3+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.2.3+1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.0.0-0xA\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.0.0-0xA" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.0.0-10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.0.0-10" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.0.0+0xFF\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.0.0+0xFF" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c=1.2.3\" contains \"1.0.0+255\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c=1.2.3", + "version": "1.0.0+255" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.0.0-rc.1+build.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.0.0-rc.1+build.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.0.0+0.3.7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.0.0+0.3.7" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.3.7+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.3.7+build" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.3.7+build.2.b8f12d7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.3.7+build.2.b8f12d7" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.3.7+build.11.e0f985a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.3.7+build.11.e0f985a" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"2.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "2.1.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"2.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "2.2.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"2.11.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "2.11.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"2.11.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "2.11.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" contains \"01.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "01.2.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" contains \"1.02.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.02.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" contains \"1.2.03\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.2.03" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.2.3-01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.2.3-01" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.2.3-1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.2.3-1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" contains \"1.2.3+01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.2.3+01" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" contains \"1.2.3+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.2.3+1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.0.0-0xA\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.0.0-0xA" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.0.0-10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.0.0-10" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.0.0+0xFF\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.0.0+0xFF" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.0.0 \u003e=1.2.3 \u003c1.3.0\" excludes \"1.0.0+255\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.2.3|\u003c1.3.0-0", + "version": "1.0.0+255" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" contains \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.0.0-rc.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" contains \"1.0.0-rc.1+build.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.0.0-rc.1+build.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.0.0+0.3.7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.0.0+0.3.7" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.3.7+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.3.7+build" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.3.7+build.2.b8f12d7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.3.7+build.2.b8f12d7" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.3.7+build.11.e0f985a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.3.7+build.11.e0f985a" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"2.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "2.1.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"2.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "2.2.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"2.11.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "2.11.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"2.11.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "2.11.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"01.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "01.2.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.02.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.02.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.2.03\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.2.03" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.2.3-01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.2.3-01" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.2.3-1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.2.3-1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.2.3+01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.2.3+01" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.2.3+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.2.3+1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.0.0-0xA\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.0.0-0xA" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.0.0-10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.0.0-10" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.0.0+0xFF\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.0.0+0xFF" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e=1.0.0-dev.2 \u003c1.0.0\" excludes \"1.0.0+255\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e=1.0.0-dev.2|\u003c1.0.0", + "version": "1.0.0+255" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.0.0-alpha" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.0.0-alpha.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.0.0-beta.2" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.0.0-beta.11" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.0.0-rc.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.0.0-rc.1+build.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.0.0-rc.1+build.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.0.0+0.3.7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.0.0+0.3.7" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.3.7+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.3.7+build" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.3.7+build.2.b8f12d7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.3.7+build.2.b8f12d7" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.3.7+build.11.e0f985a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.3.7+build.11.e0f985a" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"2.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "2.1.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"2.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "2.2.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" excludes \"2.11.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "2.11.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c2.3.4\" excludes \"2.11.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "2.11.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"01.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "01.2.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.02.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.02.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.2.03\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.2.03" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.2.3-01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.2.3-01" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.2.3-1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.2.3-1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.2.3+01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.2.3+01" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.2.3+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.2.3+1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.0.0-0xA\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.0.0-0xA" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.0.0-10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.0.0-10" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.0.0+0xFF\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.0.0+0xFF" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4\" contains \"1.0.0+255\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-0", + "version": "1.0.0+255" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.0.0-rc.1+build.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.0.0-rc.1+build.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.0.0+0.3.7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.0.0+0.3.7" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.3.7+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.3.7+build" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.3.7+build.2.b8f12d7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.3.7+build.2.b8f12d7" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.3.7+build.11.e0f985a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.3.7+build.11.e0f985a" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "2.0.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"2.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "2.1.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"2.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "2.2.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"2.11.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "2.11.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"2.11.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "2.11.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"01.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "01.2.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.02.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.02.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.2.03\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.2.03" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.2.3-01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.2.3-01" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.2.3-1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.2.3-1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.2.3+01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.2.3+01" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.2.3+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.2.3+1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.0.0-0xA\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.0.0-0xA" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.0.0-10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.0.0-10" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.0.0+0xFF\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.0.0+0xFF" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e2.3.4-dev.0 \u003c2.3.4\" excludes \"1.0.0+255\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e2.3.4-dev.0|\u003c2.3.4", + "version": "1.0.0+255" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.0.0-alpha" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.0.0-alpha.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.0.0-beta.2" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.0.0-beta.11" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.0.0-rc.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.0.0-rc.1+build.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.0.0-rc.1+build.1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.0.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.0.0+0.3.7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.0.0+0.3.7" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.3.7+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.3.7+build" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.3.7+build.2.b8f12d7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.3.7+build.2.b8f12d7" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.3.7+build.11.e0f985a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.3.7+build.11.e0f985a" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"2.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "2.1.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"2.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "2.2.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" excludes \"2.11.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "2.11.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" excludes \"2.11.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "2.11.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"01.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "01.2.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.2.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.02.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.02.3" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.2.03\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.2.03" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.2.3-01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.2.3-01" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.2.3-1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.2.3-1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.2.3+01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.2.3+01" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.2.3+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.2.3+1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.0.0-0xA\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.0.0-0xA" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.0.0-10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.0.0-10" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.0.0+0xFF\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.0.0+0xFF" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003c2.3.4-dev.2\" contains \"1.0.0+255\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003c2.3.4-dev.2", + "version": "1.0.0+255" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.0.0-alpha\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.0.0-alpha" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.0.0-alpha.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.0.0-alpha.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.0.0-beta.2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.0.0-beta.2" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.0.0-beta.11\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.0.0-beta.11" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.0.0-rc.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.0.0-rc.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.0.0-rc.1+build.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.0.0-rc.1+build.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.0.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.0.0+0.3.7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.0.0+0.3.7" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" contains \"1.3.7+build\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.3.7+build" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" contains \"1.3.7+build.2.b8f12d7\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.3.7+build.2.b8f12d7" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" contains \"1.3.7+build.11.e0f985a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.3.7+build.11.e0f985a" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" contains \"2.0.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "2.0.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" contains \"2.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "2.1.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" contains \"2.2.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "2.2.0" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"2.11.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "2.11.0" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"2.11.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "2.11.1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"01.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "01.2.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.2.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.2.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.02.3\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.02.3" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.2.03\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.2.03" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.2.3-01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.2.3-01" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.2.3-1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.2.3-1" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" contains \"1.2.3+01\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.2.3+01" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" contains \"1.2.3+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.2.3+1" + }, + "expected_output": true + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.0.0-0xA\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.0.0-0xA" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.0.0-10\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.0.0-10" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.0.0+0xFF\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.0.0+0xFF" + }, + "expected_output": false + }, + { + "description": "pub_semver range \"\u003e1.2.3 \u003c=2.3.4\" excludes \"1.0.0+255\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pub/\u003e1.2.3|\u003c=2.3.4", + "version": "1.0.0+255" + }, + "expected_output": false + } + ] +} diff --git a/testdata/local/tests/pypi_range_generated_test.json b/testdata/local/tests/pypi_range_generated_test.json new file mode 100644 index 0000000..43435ae --- /dev/null +++ b/testdata/local/tests/pypi_range_generated_test.json @@ -0,0 +1,59525 @@ +{ + "$schema": "https://packageurl.org/schemas/vers-test.schema-0.2.json", + "tests": [ + { + "description": "packaging range \"==2\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2+deadbeef\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2+deadbeef", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0+deadbeef\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0+deadbeef", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0+deadbeef.00\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2.0.0+deadbeef.00", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.*\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.dev0|\u003c3.dev0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.*\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.dev0|\u003c2.1.dev0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.0.0.*\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0.dev0|\u003c2.0.1.dev0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==0!2.*\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=0%212.dev0|\u003c0%213.dev0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2.1.*\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.1.dev0|\u003c2.2.dev0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"!=2\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0+deadbeef\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0+deadbeef", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=3.*\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.dev0|\u003e=4.dev0", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.*\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.dev0|\u003e=2.1.dev0", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0.*\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.0.0.dev0|\u003e=2.0.1.dev0", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=2.0.0\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2.0.0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e=3.0.0a7\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.0.0a7", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=2.0.0\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2.0.0", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c=3.0.0a8\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=3.0.0a8", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e3.0.0a7\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e3.0.0a7", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c2.1\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.1", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003c3.0.0a8\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c3.0.0a8", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0|\u003c2", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0a1\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0a1|\u003c2", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2022.01.01\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2022.01.01|\u003c2022.2", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=2!1.0\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0|\u003c2%212", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.*\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.dev0|\u003c2%212.dev0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/2%211.0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=1.0\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=1.0", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.0.*\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.0.dev0|\u003c2%211.0.0.1.dev0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.*\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.dev0|\u003c2%211.1.dev0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2!1.0\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2%211.0", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c=2!0.1\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c=2%210.1", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003c2!0.1\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2%210.1", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e2.0dev\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e2.0dev", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.dev1\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.dev1\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.dev1", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e4.1.0a2.dev1234\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e4.1.0a2.dev1234", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0b1\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0b1\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0b1\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0b1\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0b1\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0b1\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0b1\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0b1\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0b1\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0b1\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0b1\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0b1\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0b1", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0rc1\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0rc1", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0a1.dev1\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0a1.dev1", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"\u003e1.0.post1.dev1\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e1.0.post1.dev1", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==3.*\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=3.dev0|\u003c4.dev0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2+deadbeef\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2+deadbeef", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.0.0+deadbeef.00\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/!=2.0.0+deadbeef.00", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"!=2.*\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003c2.dev0|\u003e=3.dev0", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0.0\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0.0\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0.0\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0.0\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0.0\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0.0\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0.0\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0.0\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0.0\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0.0\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"~=1.0.0\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0|\u003c1.1", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/1.0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.0.0.*\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.0.0.dev0|\u003c1.0.1.dev0", + "version": "1.0rc1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==2!1.0.0.*\" excludes \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=2%211.0.0.dev0|\u003c2%211.0.1.dev0", + "version": "1.0rc1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" contains \"1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0.dev456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0a0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0a0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0a0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0a1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0a1.dev1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0a1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0b0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0b1.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0b2" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0b2.post345.dev456" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0b2.post345" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0b2-346" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0rc0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0rc1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0c1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0rc2" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0.post0.dev0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0.post0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0.post456.dev34" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0.post456" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0.post456+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0.1a1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0.1+local" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0.1.post1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.1.dev1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.2+a" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.2+abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.2+abcdef" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.2+def" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.2+0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.2+1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.2+1.abc" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.2+1.1" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.2+1.1.0" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.2+2" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.2+123" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.2+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.2.r32+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" contains \"1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.2.rev33+123456" + }, + "expected_output": true + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0.dev456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0.dev456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0a0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0a0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0a0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0a0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0a0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0a0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0a1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0a1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0a1.dev1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0a1.dev1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0a1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0a1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0b0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0b0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0b1.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0b1.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0b2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0b2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0b2.post345.dev456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0b2.post345.dev456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0b2.post345\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0b2.post345" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0b2-346\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0b2-346" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0rc0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0rc0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0rc1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0rc1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0c1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0c1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0rc2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0rc2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0.post0.dev0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0.post0.dev0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0.post0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0.post0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0.post456.dev34\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0.post456.dev34" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0.post456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0.post456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0.post456+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0.post456+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0.1a1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0.1a1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0.1+local\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0.1+local" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.0.1.post1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.0.1.post1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.1.dev1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.1.dev1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.2+a\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.2+a" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.2+abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.2+abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.2+abcdef\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.2+abcdef" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.2+def\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.2+def" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.2+0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.2+0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.2+1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.2+1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.2+1.abc\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.2+1.abc" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.2+1.1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.2+1.1" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.2+1.1.0\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.2+1.1.0" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.2+2\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.2+2" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.2+123\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.2+123" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.2+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.2+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.2.r32+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.2.r32+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" excludes \"1!1.2.rev33+123456\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1!1.2.rev33+123456" + }, + "expected_output": false + }, + { + "description": "packaging range \"==1.*\" contains \"1.0rc1\".", + "test_group": "recommended", + "test_type": "containment", + "input": { + "vers": "vers:pypi/\u003e=1.dev0|\u003c2.dev0", + "version": "1.0rc1" + }, + "expected_output": true + } + ] +} diff --git a/tools/harvest/extract.go b/tools/harvest/extract.go index 00e1705..32456de 100644 --- a/tools/harvest/extract.go +++ b/tools/harvest/extract.go @@ -288,7 +288,7 @@ func extractComposerRanges(files map[string]string) ([]nativeRangeAssertion, err } for _, match := range constraint.FindAllStringSubmatch(line, -1) { assertions = append(assertions, nativeRangeAssertion{ - nativeRange: input[1], version: match[2], contains: composerConstraintContainsBound(match[1]), + nativeRange: input[1], version: match[2], contains: composerConstraintContainsBound(match[1], match[2]), }) } } @@ -296,7 +296,10 @@ func extractComposerRanges(files map[string]string) ([]nativeRangeAssertion, err return requireRangeAssertions(assertions) } -func composerConstraintContainsBound(operator string) bool { +func composerConstraintContainsBound(operator, version string) bool { + if strings.HasPrefix(strings.ToLower(version), "dev-") && operator != "=" && operator != "==" { + return false + } switch operator { case "=", "==", ">=", "<=": return true diff --git a/tools/harvest/extract_test.go b/tools/harvest/extract_test.go index 142c9fc..10c500e 100644 --- a/tools/harvest/extract_test.go +++ b/tools/harvest/extract_test.go @@ -144,11 +144,13 @@ function simpleConstraints() { array('>=1.2', new Constraint('>=', '1.2.0.0-dev')), array('<2', new Constraint('<', '2.0.0.0-dev')), + array('>=dev-master', new Constraint('>=', 'dev-master')), } `}, want: []nativeRangeAssertion{ {nativeRange: ">=1.2", version: "1.2.0.0-dev", contains: true}, {nativeRange: "<2", version: "2.0.0.0-dev", contains: false}, + {nativeRange: ">=dev-master", version: "dev-master", contains: false}, }, }, { @@ -249,6 +251,17 @@ func TestBuildRangeTestFileRepresentsEmptyRange(t *testing.T) { } } +func TestBuildRangeTestFileRejectsConflictingConversions(t *testing.T) { + source := sourceSpec{name: "reference", scheme: "npm"} + _, err := buildRangeTestFile(source, []nativeRangeAssertion{ + {nativeRange: "*", version: "1.0.0", contains: true}, + {nativeRange: "x", version: "1.0.0", contains: false}, + }) + if err == nil { + t.Fatal("buildRangeTestFile accepted conflicting results for the same VERS input") + } +} + func TestExtractGoReportsMissingTable(t *testing.T) { _, err := extractGo(map[string]string{"semver/semver_test.go": "package semver\n"}) if err == nil { diff --git a/tools/harvest/main.go b/tools/harvest/main.go index ed84067..53bdf72 100644 --- a/tools/harvest/main.go +++ b/tools/harvest/main.go @@ -25,17 +25,20 @@ const ( ) type sourceSpec struct { - name string - scheme string - repository string - commit string - license string - localPath string - sourceFiles []string - outputFile string - extract func(map[string]string) ([]comparison, error) - rangeOutputFile string - extractRanges func(map[string]string) ([]nativeRangeAssertion, error) + name string + scheme string + repository string + commit string + license string + localPath string + sourceFiles []string + outputFile string + extract func(map[string]string) ([]comparison, error) + rangeOutputFile string + extractRanges func(map[string]string) ([]nativeRangeAssertion, error) + generatedRangeOutputFile string + referenceRuntimes []string + evaluateRanges rangeEvaluator } type comparison struct { @@ -51,6 +54,13 @@ type nativeRangeAssertion struct { contains bool } +type containmentQuery struct { + Range string `json:"range"` + Version string `json:"version"` +} + +type rangeEvaluator func(string, []containmentQuery) ([]bool, error) + type testFile struct { Schema string `json:"$schema"` Tests []testCase `json:"tests"` @@ -95,6 +105,8 @@ var sources = []sourceSpec{ }, outputFile: "npm_version_cmp_test.json", extract: extractNodeSemver, rangeOutputFile: "npm_range_reference_test.json", extractRanges: extractNodeSemverRanges, + generatedRangeOutputFile: "npm_range_generated_test.json", + referenceRuntimes: []string{"node"}, evaluateRanges: evaluateNodeSemver, }, { name: "packaging", scheme: "pypi", @@ -103,6 +115,8 @@ var sources = []sourceSpec{ localPath: "pypa/packaging", sourceFiles: []string{"tests/test_version.py", "tests/test_specifiers.py"}, outputFile: "pypi_version_cmp_test.json", extract: extractPyPI, rangeOutputFile: "pypi_range_reference_test.json", extractRanges: extractPyPIRanges, + generatedRangeOutputFile: "pypi_range_generated_test.json", + referenceRuntimes: []string{"python3"}, evaluateRanges: evaluatePyPI, }, { name: "RubyGems", scheme: "gem", @@ -113,6 +127,8 @@ var sources = []sourceSpec{ }, outputFile: "gem_version_cmp_test.json", extract: extractRubyGems, rangeOutputFile: "gem_range_reference_test.json", extractRanges: extractRubyGemsRanges, + generatedRangeOutputFile: "gem_range_generated_test.json", + referenceRuntimes: []string{"ruby"}, evaluateRanges: evaluateRubyGems, }, { name: "composer/semver", scheme: "composer", @@ -121,6 +137,8 @@ var sources = []sourceSpec{ localPath: "composer/semver", sourceFiles: []string{"tests/ComparatorTest.php", "tests/VersionParserTest.php"}, outputFile: "composer_version_cmp_test.json", extract: extractComposer, rangeOutputFile: "composer_range_reference_test.json", extractRanges: extractComposerRanges, + generatedRangeOutputFile: "composer_range_generated_test.json", + referenceRuntimes: []string{"php"}, evaluateRanges: evaluateComposer, }, { name: "pub_semver", scheme: "pub", @@ -134,6 +152,8 @@ var sources = []sourceSpec{ }, outputFile: "pub_version_cmp_test.json", extract: extractPub, rangeOutputFile: "pub_range_reference_test.json", extractRanges: extractPubRanges, + generatedRangeOutputFile: "pub_range_generated_test.json", + referenceRuntimes: []string{"dart"}, evaluateRanges: evaluatePub, }, { name: "semver", scheme: "cargo", @@ -142,6 +162,8 @@ var sources = []sourceSpec{ localPath: "dtolnay/semver", sourceFiles: []string{"tests/test_version.rs", "tests/test_version_req.rs"}, outputFile: "cargo_version_cmp_test.json", extract: extractCargo, rangeOutputFile: "cargo_range_reference_test.json", extractRanges: extractCargoRanges, + generatedRangeOutputFile: "cargo_range_generated_test.json", + referenceRuntimes: []string{"rustc"}, evaluateRanges: evaluateCargo, }, { name: "maven-artifact", scheme: "maven", @@ -152,6 +174,8 @@ var sources = []sourceSpec{ "compat/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java", }, rangeOutputFile: "maven_range_reference_test.json", extractRanges: extractMavenRanges, + generatedRangeOutputFile: "maven_range_generated_test.json", + referenceRuntimes: []string{"javac", "java"}, evaluateRanges: evaluateMaven, }, { name: "dpkg", scheme: "deb", @@ -209,34 +233,14 @@ func run(sourceRoot, outputRoot string) error { }} for _, source := range sources { - files, err := readSource(source, sourceRoot) + files, checkout, cleanup, err := readSource(source, sourceRoot) if err != nil { return fmt.Errorf("read %s: %w", source.name, err) } - var generatedFiles []string - if source.extract != nil { - comparisons, err := source.extract(files) - if err != nil { - return fmt.Errorf("extract %s comparisons: %w", source.name, err) - } - if err := writeJSON(filepath.Join(testsDir, source.outputFile), buildTestFile(source, comparisons)); err != nil { - return err - } - generatedFiles = append(generatedFiles, filepath.ToSlash(filepath.Join("tests", source.outputFile))) - } - if source.extractRanges != nil { - assertions, err := source.extractRanges(files) - if err != nil { - return fmt.Errorf("extract %s ranges: %w", source.name, err) - } - file, err := buildRangeTestFile(source, assertions) - if err != nil { - return fmt.Errorf("build %s ranges: %w", source.name, err) - } - if err := writeJSON(filepath.Join(testsDir, source.rangeOutputFile), file); err != nil { - return err - } - generatedFiles = append(generatedFiles, filepath.ToSlash(filepath.Join("tests", source.rangeOutputFile))) + generatedFiles, err := harvestSource(source, files, checkout, testsDir) + cleanup() + if err != nil { + return err } provenance.Sources = append(provenance.Sources, provenanceSource{ Repository: source.repository, Commit: source.commit, License: source.license, @@ -247,29 +251,109 @@ func run(sourceRoot, outputRoot string) error { return writeJSON(filepath.Join(outputRoot, "provenance.json"), provenance) } -func readSource(source sourceSpec, sourceRoot string) (map[string]string, error) { +func harvestSource(source sourceSpec, files map[string]string, checkout, testsDir string) ([]string, error) { + var generatedFiles []string + var comparisons []comparison + if source.extract != nil { + var err error + comparisons, err = source.extract(files) + if err != nil { + return nil, fmt.Errorf("extract %s comparisons: %w", source.name, err) + } + if err := writeJSON(filepath.Join(testsDir, source.outputFile), buildTestFile(source, comparisons)); err != nil { + return nil, err + } + generatedFiles = append(generatedFiles, filepath.ToSlash(filepath.Join("tests", source.outputFile))) + } + + var assertions []nativeRangeAssertion + if source.extractRanges != nil { + var err error + assertions, err = source.extractRanges(files) + if err != nil { + return nil, fmt.Errorf("extract %s ranges: %w", source.name, err) + } + file, err := buildRangeTestFile(source, assertions) + if err != nil { + return nil, fmt.Errorf("build %s ranges: %w", source.name, err) + } + if err := writeJSON(filepath.Join(testsDir, source.rangeOutputFile), file); err != nil { + return nil, err + } + generatedFiles = append(generatedFiles, filepath.ToSlash(filepath.Join("tests", source.rangeOutputFile))) + } + + if source.evaluateRanges != nil { + generatedFilename := filepath.ToSlash(filepath.Join("tests", source.generatedRangeOutputFile)) + generatedFiles = append(generatedFiles, generatedFilename) + if missing := missingRuntime(source.referenceRuntimes); missing != "" { + fmt.Fprintf(os.Stderr, "warning: skip %s generated containment tests: %s not found on PATH\n", source.name, missing) + return generatedFiles, nil + } + queries := crossContainmentQueries(assertions, comparisons) + results, err := source.evaluateRanges(checkout, queries) + if err != nil { + return nil, fmt.Errorf("evaluate %s ranges: %w", source.name, err) + } + generatedAssertions, err := applyContainmentResults(queries, results) + if err != nil { + return nil, fmt.Errorf("evaluate %s ranges: %w", source.name, err) + } + file, err := buildRangeTestFile(source, generatedAssertions) + if err != nil { + return nil, fmt.Errorf("build generated %s ranges: %w", source.name, err) + } + if err := writeJSON(filepath.Join(testsDir, source.generatedRangeOutputFile), file); err != nil { + return nil, err + } + } + + return generatedFiles, nil +} + +func readSource(source sourceSpec, sourceRoot string) (map[string]string, string, func(), error) { if sourceRoot != "" { - return readGitFiles(filepath.Join(sourceRoot, filepath.FromSlash(source.localPath)), source.commit, source.sourceFiles) + repository := filepath.Join(sourceRoot, filepath.FromSlash(source.localPath)) + files, err := readGitFiles(repository, source.commit, source.sourceFiles) + if err != nil { + return nil, "", func() {}, err + } + checkout, cleanup, err := referenceCheckout(repository, source.commit, source.evaluateRanges != nil) + return files, checkout, cleanup, err } directory, err := os.MkdirTemp("", "vers-harvest-") if err != nil { - return nil, err + return nil, "", func() {}, err } - defer func() { + cleanup := func() { _ = os.RemoveAll(directory) - }() + } if err := runGit(directory, "init", "--quiet"); err != nil { - return nil, err + cleanup() + return nil, "", func() {}, err } if err := runGit(directory, "remote", "add", "origin", source.repository); err != nil { - return nil, err + cleanup() + return nil, "", func() {}, err } if err := runGit(directory, "fetch", "--quiet", "--depth=1", "origin", source.commit); err != nil { - return nil, err + cleanup() + return nil, "", func() {}, err } - return readGitFiles(directory, "FETCH_HEAD", source.sourceFiles) + if source.evaluateRanges != nil { + if err := runGit(directory, "checkout", "--quiet", "--detach", "FETCH_HEAD"); err != nil { + cleanup() + return nil, "", func() {}, err + } + } + files, err := readGitFiles(directory, "FETCH_HEAD", source.sourceFiles) + if err != nil { + cleanup() + return nil, "", func() {}, err + } + return files, directory, cleanup, nil } func readGitFiles(repository, revision string, filenames []string) (map[string]string, error) { @@ -365,6 +449,7 @@ func buildTestFile(source sourceSpec, comparisons []comparison) testFile { func buildRangeTestFile(source sourceSpec, assertions []nativeRangeAssertion) (testFile, error) { tests := make([]testCase, 0, len(assertions)) seen := make(map[string]bool, len(assertions)) + expectedByInput := make(map[string]bool, len(assertions)) for _, assertion := range assertions { r, err := vers.ParseNative(assertion.nativeRange, source.scheme) if err != nil { @@ -380,7 +465,12 @@ func buildRangeTestFile(source sourceSpec, assertions []nativeRangeAssertion) (t containmentRange.Scheme = source.scheme } versURI := vers.ToVersString(&containmentRange, source.scheme) - key := versURI + "\x00" + assertion.version + "\x00" + strconv.FormatBool(assertion.contains) + inputKey := versURI + "\x00" + assertion.version + if expected, ok := expectedByInput[inputKey]; ok && expected != assertion.contains { + return testFile{}, fmt.Errorf("native ranges disagree after conversion for %q and version %q", versURI, assertion.version) + } + expectedByInput[inputKey] = assertion.contains + key := inputKey + "\x00" + strconv.FormatBool(assertion.contains) if seen[key] { continue } diff --git a/tools/harvest/reference.go b/tools/harvest/reference.go new file mode 100644 index 0000000..09ff527 --- /dev/null +++ b/tools/harvest/reference.go @@ -0,0 +1,403 @@ +package main + +import ( + "bytes" + "encoding/json" + "fmt" + "os" + "os/exec" + "path/filepath" + "strconv" + "strings" +) + +const ( + nodeSemverEvaluator = ` +const fs = require('fs') +const semver = require(process.argv[2]) +const queries = JSON.parse(fs.readFileSync(0, 'utf8')) +process.stdout.write(JSON.stringify(queries.map(query => semver.satisfies(query.version, query.range)))) +` + pyPIEvaluator = ` +import json +import pathlib +import sys + +sys.path.insert(0, str(pathlib.Path(sys.argv[1]) / "src")) +from packaging.specifiers import SpecifierSet + +queries = json.load(sys.stdin) +json.dump([SpecifierSet(query["range"]).contains(query["version"]) for query in queries], sys.stdout) +` + rubyGemsEvaluator = ` +require "json" +require "rubygems/requirement" +require "rubygems/version" + +queries = JSON.parse(STDIN.read) +results = queries.map do |query| + Gem::Requirement.new(query.fetch("range")).satisfied_by?(Gem::Version.new(query.fetch("version"))) +end +STDOUT.write(JSON.generate(results)) +` + composerEvaluator = ` +parseConstraints($query['range']); + $version = new Composer\Semver\Constraint\Constraint('==', $parser->normalize($query['version'])); + $results[] = $range->matches($version); +} +echo json_encode($results, JSON_THROW_ON_ERROR); +` + pubEvaluator = ` +import 'dart:convert'; +import 'dart:io'; + +import 'package:pub_semver/pub_semver.dart'; + +Future main() async { + final input = await stdin.transform(utf8.decoder).join(); + final queries = jsonDecode(input) as List; + final results = queries.map((item) { + final query = item as Map; + return VersionConstraint.parse(query['range'] as String) + .allows(Version.parse(query['version'] as String)); + }).toList(); + stdout.write(jsonEncode(results)); +} +` +) + +func missingRuntime(runtimes []string) string { + for _, runtime := range runtimes { + if _, err := exec.LookPath(runtime); err != nil { + return runtime + } + } + return "" +} + +func referenceCheckout(repository, revision string, needed bool) (string, func(), error) { + cleanup := func() {} + if !needed { + return repository, cleanup, nil + } + + head, err := gitOutput(repository, "rev-parse", "HEAD") + if err != nil { + return "", cleanup, err + } + status, err := gitOutput(repository, "status", "--porcelain", "--untracked-files=all") + if err != nil { + return "", cleanup, err + } + if strings.TrimSpace(head) == revision && strings.TrimSpace(status) == "" { + return repository, cleanup, nil + } + + directory, err := os.MkdirTemp("", "vers-harvest-reference-") + if err != nil { + return "", cleanup, err + } + cleanup = func() { + _ = os.RemoveAll(directory) + } + if err := runGit(directory, "init", "--quiet"); err != nil { + cleanup() + return "", func() {}, err + } + if err := runGit(directory, "remote", "add", "origin", repository); err != nil { + cleanup() + return "", func() {}, err + } + if err := runGit(directory, "fetch", "--quiet", "--depth=1", "origin", revision); err != nil { + cleanup() + return "", func() {}, err + } + if err := runGit(directory, "checkout", "--quiet", "--detach", "FETCH_HEAD"); err != nil { + cleanup() + return "", func() {}, err + } + return directory, cleanup, nil +} + +func gitOutput(repository string, arguments ...string) (string, error) { + arguments = append([]string{"-C", repository}, arguments...) + command := exec.Command("git", arguments...) + output, err := command.CombinedOutput() + if err != nil { + return "", fmt.Errorf("%s: %w: %s", command.String(), err, output) + } + return strings.TrimSpace(string(output)), nil +} + +func crossContainmentQueries(assertions []nativeRangeAssertion, comparisons []comparison) []containmentQuery { + ranges := make([]string, 0, len(assertions)) + seenRanges := make(map[string]bool, len(assertions)) + for _, assertion := range assertions { + if !seenRanges[assertion.nativeRange] { + seenRanges[assertion.nativeRange] = true + ranges = append(ranges, assertion.nativeRange) + } + } + + versions := make([]string, 0, len(comparisons)*testsPerComparison) + seenVersions := make(map[string]bool, len(comparisons)*testsPerComparison) + appendVersion := func(version string) { + if !seenVersions[version] { + seenVersions[version] = true + versions = append(versions, version) + } + } + for _, item := range comparisons { + appendVersion(item.left) + appendVersion(item.right) + } + if len(versions) == 0 { + for _, assertion := range assertions { + appendVersion(assertion.version) + } + } + + queries := make([]containmentQuery, 0, len(ranges)*len(versions)) + for _, nativeRange := range ranges { + for _, version := range versions { + queries = append(queries, containmentQuery{Range: nativeRange, Version: version}) + } + } + return queries +} + +func applyContainmentResults(queries []containmentQuery, results []bool) ([]nativeRangeAssertion, error) { + if len(results) != len(queries) { + return nil, fmt.Errorf("reference returned %d results for %d queries", len(results), len(queries)) + } + assertions := make([]nativeRangeAssertion, 0, len(queries)) + for index, query := range queries { + assertions = append(assertions, nativeRangeAssertion{ + nativeRange: query.Range, + version: query.Version, + contains: results[index], + }) + } + return assertions, nil +} + +func evaluateNodeSemver(checkout string, queries []containmentQuery) ([]bool, error) { + return evaluateJSONScript("node", ".js", nodeSemverEvaluator, []string{checkout}, queries) +} + +func evaluatePyPI(checkout string, queries []containmentQuery) ([]bool, error) { + return evaluateJSONScript("python3", ".py", pyPIEvaluator, []string{checkout}, queries) +} + +func evaluateRubyGems(checkout string, queries []containmentQuery) ([]bool, error) { + script, cleanup, err := writeEvaluatorScript(".rb", rubyGemsEvaluator) + if err != nil { + return nil, err + } + defer cleanup() + return runJSONCommand("", "ruby", []string{"--disable-gems", "-I", filepath.Join(checkout, "lib"), script}, queries) +} + +func evaluateComposer(checkout string, queries []containmentQuery) ([]bool, error) { + return evaluateJSONScript("php", ".php", composerEvaluator, []string{checkout}, queries) +} + +func evaluatePub(checkout string, queries []containmentQuery) ([]bool, error) { + directory, err := os.MkdirTemp("", "vers-harvest-pub-") + if err != nil { + return nil, err + } + defer func() { + _ = os.RemoveAll(directory) + }() + + packagePath := filepath.ToSlash(filepath.Join(checkout, "pkgs", "pub_semver")) + pubspec := "name: vers_harvest_reference\nenvironment:\n sdk: '>=3.4.0 <4.0.0'\ndependencies:\n pub_semver:\n path: '" + strings.ReplaceAll(packagePath, "'", "''") + "'\n" + if err := os.WriteFile(filepath.Join(directory, "pubspec.yaml"), []byte(pubspec), fileMode); err != nil { + return nil, err + } + binDirectory := filepath.Join(directory, "bin") + if err := os.MkdirAll(binDirectory, directoryMode); err != nil { + return nil, err + } + if err := os.WriteFile(filepath.Join(binDirectory, "evaluate.dart"), []byte(pubEvaluator), fileMode); err != nil { + return nil, err + } + if err := runReferenceCommand(directory, "dart", "pub", "get"); err != nil { + return nil, err + } + return runJSONCommand(directory, "dart", []string{"run", "bin/evaluate.dart"}, queries) +} + +func evaluateCargo(checkout string, queries []containmentQuery) ([]bool, error) { + directory, err := os.MkdirTemp("", "vers-harvest-cargo-") + if err != nil { + return nil, err + } + defer func() { + _ = os.RemoveAll(directory) + }() + + library := filepath.Join(directory, "libsemver.rlib") + if err := runReferenceCommand("", "rustc", "--crate-name", "semver", "--crate-type", "lib", "--edition=2021", "--cfg", `feature="std"`, filepath.Join(checkout, "src", "lib.rs"), "-o", library); err != nil { + return nil, err + } + + var source strings.Builder + source.WriteString("use semver::{Version, VersionReq};\nfn main() {\nlet queries = &[\n") + for _, query := range queries { + fmt.Fprintf(&source, "(%s, %s),\n", strconv.QuoteToASCII(query.Range), strconv.QuoteToASCII(query.Version)) + } + source.WriteString("];\nprint!(\"[\");\nfor (index, (range, version)) in queries.iter().enumerate() {\nif index > 0 { print!(\",\"); }\nlet result = VersionReq::parse(range).unwrap().matches(&Version::parse(version).unwrap());\nprint!(\"{}\", result);\n}\nprintln!(\"]\");\n}\n") + sourceFile := filepath.Join(directory, "evaluate.rs") + if err := os.WriteFile(sourceFile, []byte(source.String()), fileMode); err != nil { + return nil, err + } + executable := filepath.Join(directory, "evaluate") + if err := runReferenceCommand("", "rustc", "--edition=2021", sourceFile, "--extern", "semver="+library, "-o", executable); err != nil { + return nil, err + } + return runJSONCommand("", executable, nil, nil) +} + +func evaluateMaven(checkout string, queries []containmentQuery) ([]bool, error) { + directory, err := os.MkdirTemp("", "vers-harvest-maven-") + if err != nil { + return nil, err + } + defer func() { + _ = os.RemoveAll(directory) + }() + + artifactDirectory := filepath.Join(directory, "org", "apache", "maven", "artifact") + versioningDirectory := filepath.Join(artifactDirectory, "versioning") + if err := os.MkdirAll(versioningDirectory, directoryMode); err != nil { + return nil, err + } + artifactStub := "package org.apache.maven.artifact; public interface Artifact {}\n" + defaultArtifactStub := "package org.apache.maven.artifact; public final class DefaultArtifact { public static boolean empty(String value) { return value == null || value.isBlank(); } }\n" + overConstrainedStub := "package org.apache.maven.artifact.versioning; import org.apache.maven.artifact.Artifact; public class OverConstrainedVersionException extends Exception { public OverConstrainedVersionException(String message, Artifact artifact) { super(message); } }\n" + stubFiles := []struct { + filename string + content string + }{ + {filepath.Join(artifactDirectory, "Artifact.java"), artifactStub}, + {filepath.Join(artifactDirectory, "DefaultArtifact.java"), defaultArtifactStub}, + {filepath.Join(versioningDirectory, "OverConstrainedVersionException.java"), overConstrainedStub}, + } + for _, stub := range stubFiles { + if err := os.WriteFile(stub.filename, []byte(stub.content), fileMode); err != nil { + return nil, err + } + } + + var source strings.Builder + source.WriteString("import org.apache.maven.artifact.versioning.DefaultArtifactVersion;\nimport org.apache.maven.artifact.versioning.VersionRange;\npublic final class Evaluate {\npublic static void main(String[] arguments) throws Exception {\nString[][] queries = {\n") + for _, query := range queries { + fmt.Fprintf(&source, "{%s, %s},\n", javaString(query.Range), javaString(query.Version)) + } + source.WriteString("};\nSystem.out.print(\"[\");\nfor (int index = 0; index < queries.length; index++) {\nif (index > 0) System.out.print(\",\");\nboolean result = VersionRange.createFromVersionSpec(queries[index][0]).containsVersion(new DefaultArtifactVersion(queries[index][1]));\nSystem.out.print(result);\n}\nSystem.out.println(\"]\");\n}\n}\n") + evaluatorFile := filepath.Join(directory, "Evaluate.java") + if err := os.WriteFile(evaluatorFile, []byte(source.String()), fileMode); err != nil { + return nil, err + } + + versioningSource := filepath.Join(checkout, "compat", "maven-artifact", "src", "main", "java", "org", "apache", "maven", "artifact", "versioning") + classes := filepath.Join(directory, "classes") + if err := os.MkdirAll(classes, directoryMode); err != nil { + return nil, err + } + sources := []string{ + filepath.Join(artifactDirectory, "Artifact.java"), + filepath.Join(artifactDirectory, "DefaultArtifact.java"), + filepath.Join(versioningDirectory, "OverConstrainedVersionException.java"), + filepath.Join(versioningSource, "ArtifactVersion.java"), + filepath.Join(versioningSource, "ComparableVersion.java"), + filepath.Join(versioningSource, "DefaultArtifactVersion.java"), + filepath.Join(versioningSource, "InvalidVersionSpecificationException.java"), + filepath.Join(versioningSource, "Restriction.java"), + filepath.Join(versioningSource, "VersionRange.java"), + evaluatorFile, + } + arguments := append([]string{"-d", classes}, sources...) + if err := runReferenceCommand("", "javac", arguments...); err != nil { + return nil, err + } + return runJSONCommand("", "java", []string{"-cp", classes, "Evaluate"}, nil) +} + +func evaluateJSONScript(runtime, extension, source string, arguments []string, queries []containmentQuery) ([]bool, error) { + script, cleanup, err := writeEvaluatorScript(extension, source) + if err != nil { + return nil, err + } + defer cleanup() + return runJSONCommand("", runtime, append([]string{script}, arguments...), queries) +} + +func writeEvaluatorScript(extension, source string) (string, func(), error) { + directory, err := os.MkdirTemp("", "vers-harvest-evaluator-") + if err != nil { + return "", func() {}, err + } + cleanup := func() { + _ = os.RemoveAll(directory) + } + filename := filepath.Join(directory, "evaluate"+extension) + if err := os.WriteFile(filename, []byte(source), fileMode); err != nil { + cleanup() + return "", func() {}, err + } + return filename, cleanup, nil +} + +func runJSONCommand(directory, name string, arguments []string, queries []containmentQuery) ([]bool, error) { + input, err := json.Marshal(queries) + if err != nil { + return nil, err + } + command := exec.Command(name, arguments...) + command.Dir = directory + command.Stdin = bytes.NewReader(input) + output, err := command.CombinedOutput() + if err != nil { + return nil, fmt.Errorf("%s: %w: %s", command.String(), err, output) + } + var results []bool + if err := json.Unmarshal(bytes.TrimSpace(output), &results); err != nil { + return nil, fmt.Errorf("decode %s output: %w: %s", name, err, output) + } + return results, nil +} + +func runReferenceCommand(directory, name string, arguments ...string) error { + command := exec.Command(name, arguments...) + command.Dir = directory + output, err := command.CombinedOutput() + if err != nil { + return fmt.Errorf("%s: %w: %s", command.String(), err, output) + } + return nil +} + +func javaString(value string) string { + encoded, _ := json.Marshal(value) + return string(encoded) +} diff --git a/tools/harvest/reference_test.go b/tools/harvest/reference_test.go new file mode 100644 index 0000000..f20fd7e --- /dev/null +++ b/tools/harvest/reference_test.go @@ -0,0 +1,79 @@ +package main + +import ( + "reflect" + "testing" +) + +func TestCrossContainmentQueries(t *testing.T) { + assertions := []nativeRangeAssertion{ + {nativeRange: "^1", version: "1.2.0"}, + {nativeRange: "^2", version: "2.1.0"}, + {nativeRange: "^1", version: "1.3.0"}, + } + comparisons := []comparison{ + {left: "1.0.0", right: "2.0.0"}, + {left: "2.0.0", right: "3.0.0"}, + } + + got := crossContainmentQueries(assertions, comparisons) + want := []containmentQuery{ + {Range: "^1", Version: "1.0.0"}, + {Range: "^1", Version: "2.0.0"}, + {Range: "^1", Version: "3.0.0"}, + {Range: "^2", Version: "1.0.0"}, + {Range: "^2", Version: "2.0.0"}, + {Range: "^2", Version: "3.0.0"}, + } + if !reflect.DeepEqual(got, want) { + t.Errorf("queries = %#v, want %#v", got, want) + } +} + +func TestCrossContainmentQueriesFallsBackToAssertionVersions(t *testing.T) { + assertions := []nativeRangeAssertion{ + {nativeRange: "[1,2)", version: "1.0"}, + {nativeRange: "[2,3)", version: "2.0"}, + {nativeRange: "[1,2)", version: "1.0"}, + } + + got := crossContainmentQueries(assertions, nil) + want := []containmentQuery{ + {Range: "[1,2)", Version: "1.0"}, + {Range: "[1,2)", Version: "2.0"}, + {Range: "[2,3)", Version: "1.0"}, + {Range: "[2,3)", Version: "2.0"}, + } + if !reflect.DeepEqual(got, want) { + t.Errorf("queries = %#v, want %#v", got, want) + } +} + +func TestApplyContainmentResults(t *testing.T) { + queries := []containmentQuery{ + {Range: "^1", Version: "1.0.0"}, + {Range: "^1", Version: "2.0.0"}, + } + got, err := applyContainmentResults(queries, []bool{true, false}) + if err != nil { + t.Fatal(err) + } + want := []nativeRangeAssertion{ + {nativeRange: "^1", version: "1.0.0", contains: true}, + {nativeRange: "^1", version: "2.0.0", contains: false}, + } + if !reflect.DeepEqual(got, want) { + t.Errorf("assertions = %#v, want %#v", got, want) + } + + if _, err := applyContainmentResults(queries, []bool{true}); err == nil { + t.Error("applyContainmentResults accepted a short result list") + } +} + +func TestMissingRuntime(t *testing.T) { + const name = "vers-harvest-runtime-that-does-not-exist" + if got := missingRuntime([]string{name}); got != name { + t.Errorf("missingRuntime() = %q, want %q", got, name) + } +} From ea404b1507da8effe4829100070abd11b3348f82 Mon Sep 17 00:00:00 2001 From: Andrew Nesbitt Date: Wed, 19 Aug 2026 08:53:03 +0100 Subject: [PATCH 2/2] Fix generated containment harvesting --- tools/harvest/main.go | 7 ++-- tools/harvest/reference_test.go | 64 +++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 2 deletions(-) diff --git a/tools/harvest/main.go b/tools/harvest/main.go index 53bdf72..1fe15aa 100644 --- a/tools/harvest/main.go +++ b/tools/harvest/main.go @@ -285,7 +285,6 @@ func harvestSource(source sourceSpec, files map[string]string, checkout, testsDi if source.evaluateRanges != nil { generatedFilename := filepath.ToSlash(filepath.Join("tests", source.generatedRangeOutputFile)) - generatedFiles = append(generatedFiles, generatedFilename) if missing := missingRuntime(source.referenceRuntimes); missing != "" { fmt.Fprintf(os.Stderr, "warning: skip %s generated containment tests: %s not found on PATH\n", source.name, missing) return generatedFiles, nil @@ -306,6 +305,7 @@ func harvestSource(source sourceSpec, files map[string]string, checkout, testsDi if err := writeJSON(filepath.Join(testsDir, source.generatedRangeOutputFile), file); err != nil { return nil, err } + generatedFiles = append(generatedFiles, generatedFilename) } return generatedFiles, nil @@ -313,7 +313,10 @@ func harvestSource(source sourceSpec, files map[string]string, checkout, testsDi func readSource(source sourceSpec, sourceRoot string) (map[string]string, string, func(), error) { if sourceRoot != "" { - repository := filepath.Join(sourceRoot, filepath.FromSlash(source.localPath)) + repository, err := filepath.Abs(filepath.Join(sourceRoot, filepath.FromSlash(source.localPath))) + if err != nil { + return nil, "", func() {}, fmt.Errorf("resolve checkout %s: %w", source.localPath, err) + } files, err := readGitFiles(repository, source.commit, source.sourceFiles) if err != nil { return nil, "", func() {}, err diff --git a/tools/harvest/reference_test.go b/tools/harvest/reference_test.go index f20fd7e..507ae9e 100644 --- a/tools/harvest/reference_test.go +++ b/tools/harvest/reference_test.go @@ -1,6 +1,8 @@ package main import ( + "os" + "path/filepath" "reflect" "testing" ) @@ -77,3 +79,65 @@ func TestMissingRuntime(t *testing.T) { t.Errorf("missingRuntime() = %q, want %q", got, name) } } + +func TestHarvestSourceDoesNotReportSkippedGeneratedFixture(t *testing.T) { + source := sourceSpec{ + name: "reference", + generatedRangeOutputFile: "generated.json", + referenceRuntimes: []string{"vers-harvest-runtime-that-does-not-exist"}, + evaluateRanges: func(string, []containmentQuery) ([]bool, error) { + return nil, nil + }, + } + generated, err := harvestSource(source, nil, "", t.TempDir()) + if err != nil { + t.Fatal(err) + } + if len(generated) != 0 { + t.Errorf("generated files = %v, want none", generated) + } +} + +func TestReadSourceReturnsAbsoluteCheckout(t *testing.T) { + repository := filepath.Join(t.TempDir(), "reference") + if err := os.Mkdir(repository, directoryMode); err != nil { + t.Fatal(err) + } + if err := runGit(repository, "init", "--quiet"); err != nil { + t.Fatal(err) + } + if err := os.WriteFile(filepath.Join(repository, "fixture.txt"), []byte("fixture\n"), fileMode); err != nil { + t.Fatal(err) + } + if err := runGit(repository, "add", "fixture.txt"); err != nil { + t.Fatal(err) + } + if err := runGit(repository, "-c", "user.name=Test", "-c", "user.email=test@example.com", "commit", "--quiet", "-m", "fixture"); err != nil { + t.Fatal(err) + } + revision, err := gitOutput(repository, "rev-parse", "HEAD") + if err != nil { + t.Fatal(err) + } + + workingDirectory, err := os.Getwd() + if err != nil { + t.Fatal(err) + } + sourceRoot, err := filepath.Rel(workingDirectory, filepath.Dir(repository)) + if err != nil { + t.Fatal(err) + } + source := sourceSpec{ + localPath: "reference", commit: revision, sourceFiles: []string{"fixture.txt"}, + evaluateRanges: func(string, []containmentQuery) ([]bool, error) { return nil, nil }, + } + _, checkout, cleanup, err := readSource(source, sourceRoot) + defer cleanup() + if err != nil { + t.Fatal(err) + } + if !filepath.IsAbs(checkout) { + t.Errorf("checkout = %q, want an absolute path", checkout) + } +}