Keep absolute paths absolute when normalising. #741
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What do these changes do?
Keep absolute paths absolute when normalising.
This is is consistent with RFC 3986, and just about all other URL libraries in
general use.
The added tests are based on two URL tests from the web-platform-tests
project (see test 1 and test 2), a reference also used by other
projects such as rust-url.
Are there changes in behavior for the user?
Yes, previously you'd get a
ValueError
when..
segments reach beyond theroot path:
With this change, no exception is throw, instead
..
segments are simplydropped if they'd remove the
/
root element:This is what just about all other URL libraries do.
Note: there are no changes to the documentation because the old behaviour was
never documented.
Related issue number
Resolves #536
Checklist
CHANGES
folder<issue_id>.<type>
(e.g.588.bugfix
)issue_id
change it to the pr id after creating the PR.feature
: Signifying a new feature..bugfix
: Signifying a bug fix..doc
: Signifying a documentation improvement..removal
: Signifying a deprecation or removal of public API..misc
: A ticket has been closed, but it is not of interest to users.Fix issue with non-ascii contents in doctest text files.