Skip to content

Encode : in versions and / in qualifier versions #6

@criminosis

Description

@criminosis

I think a decision has been made in the spec & reference java implementation that it seems the Rust implementation hasn't adopted? Or seems like it had adopted but then deactivated, it was just commented out, which lines up with some historical digging I did.

@althonos I see you opened this issue previously with the spec repo here which was closed as a duplicate.

In the referenced issue however it seems a decision was made a few months after your issue was closed here.

Accordingly the reference Java implementation was updated here and the relevant test / encoded qualifier purls were likewise updated to have %2F in their canonical forms and also adopted the decision regarding : in the version field

However it seems this rust implementation is still using the the original unencoded assertions in its test suite file.

I created a PR to visualize the updated test suite file and the code un-commenting to assert test passing, but figured this issue is where you'd want to discuss how/if to incorporate the change.

I didn't really change anything other than uncommenting code you already wrote so I understand if you'd want to change it yourself rather than take a PR.
I noticed the updates test suite from the reference Java implementation added some assertions about the requirement of a namespace for Maven. So I wired up the tests and added a check in the implementation for that.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions