Repository navigation
Test RFC 6901 escaped tilde decoding order - #108
Merged
stefankoegl merged 1 commit intoNov 4, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues remain for the test-only RFC 6901 decoding-order regression coverage.
No open issues 🎉
What changed in this PR
Adds a focused regression test for RFC 6901 decoding order, ensuring ~01 resolves to the literal member name ~1, not /. Runtime code remains unchanged.
Changes:
- Verifies decoded pointer parts and round-trip encoding.
- Checks resolution and assignment against distinct
~1and/members, ensuring assignment leaves the slash member unchanged.
| File | Description |
|---|---|
tests.py |
Adds regression coverage for escaped-tilde decoding order. |
Review effort: Balanced
Owner
|
Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Add a focused specification test for the decoding order in RFC 6901 section 4:
~01must become the literal member name~1, not/.The implementation is already correct. Reversing the two replacements in
unescape()still passes the existing 84 tests, but fails this new test. The test checks decoded parts, a round trip, resolution against distinct~1and/members, and assignment that leaves the slash member unchanged. No runtime code changes.Validation on Linux, Python 3.10.12:
git diff --check: passed.AI assistance was used to prepare and review this test; Claude also reviewed the exact patch. The reported validation above was run locally.