test: add unit tests for lexer raw string literals, lone dash, and single equals#349
Open
Aiudadadadf wants to merge 1 commit intojmespath:developfrom
Open
test: add unit tests for lexer raw string literals, lone dash, and single equals#349Aiudadadadf wants to merge 1 commit intojmespath:developfrom
Aiudadadadf wants to merge 1 commit intojmespath:developfrom
Conversation
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.
The first gap is the raw string literal path (the ' branch in okenize). _consume_raw_string_literal handles basic content, preserves interior whitespace, and applies
eplace("\'", "'") to unescape embedded single quotes, while leaving other backslash sequences intact. None of those behaviors had a dedicated unit test; four tests now cover them directly.
The second gap is error handling for two invalid token forms. A bare - with no following digits reaches a len(buff) > 1 guard that raises LexerError, and a = not followed by another = raises LexerError via a branch with distinct EOF vs. non-EOF position logic. Three tests now exercise these paths, including the EOF edge case. All 999 existing tests continue to pass.