Skip to content

feat: add spec conformance tests - #274

Open
nscuro wants to merge 2 commits into
package-url:masterfrom
nscuro:spec-conformance-tests
Open

feat: add spec conformance tests #274
nscuro wants to merge 2 commits into
package-url:masterfrom
nscuro:spec-conformance-tests

Conversation

@nscuro

@nscuro nscuro commented Aug 13, 2026

Copy link
Copy Markdown

Note

Based on #273, which should be merged first.

Tests the implementation against the spec's official conformance test suite. The spec is included as git submodule to make versioning and updating easier.

A handful of tests are failing. I opted to document them as known failures for now. Fixes for those should ship separately.

Note that only tests of the required group are executed currently, because the library lacks a differentiation between strict and lenient parsing, which tests of the recommended group require. We should implement that later.

nscuro added 2 commits August 13, 2026 18:38
As per https://github.com/package-url/purl-spec/blob/65eeef85de5637ffed26695ffd753202b6a4d656/docs/specification/standard/specification.md#character-encoding:

```
The following characters shall not be percent-encoded:
...
* the colon ':', whether used as a Separator Character or otherwise
```

Signed-off-by: nscuro <nscuro@protonmail.com>
Tests the implementation against the spec's official conformance test suite. The spec is included as git submodule to make versioning and updating easier.

A handful of tests are failing. I opted to document them as known failures for now. Fixes for those should ship separately.

Note that only tests of the `required` group are executed currently, because the library lacks a differentiation between strict and lenient parsing, which tests of the `recommended` group require. We should implement that later.

Signed-off-by: nscuro <nscuro@protonmail.com>
@nscuro nscuro changed the title Spec conformance tests feat: add spec conformance tests Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant