Repository navigation
Reject duration components without a unit designator - #31
Open
rupayon123 wants to merge 1 commit into
Open
rupayon123 wants to merge 1 commit into
rupayon123 wants to merge 1 commit into
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.
Fixes #25 and the ignored trailing-component cases in #21. Numeric date/time values without a following designator currently disappear:
P1becomes zero,P1MT1loses its time value, andP1Y2T3Hloses the2. Reject pending numeric values at the date/time boundary and at end of input withUnparseableValue. Existing full alternate date-time parsing stays on its current path.Eleven new missing-unit cases fail before the change. The old
PT000022.22test expected silent conversion to zero; it is moved into the invalid-input cases, while valid zero durations and complete signed/fractional components remain covered. An initial control incorrectly expectedPT0Sformatting to remainPT0S; corrected it to the existing canonicalP0Doutput, without changing formatting.Afterward: all 391 tests pass, 100% reported source/branch coverage, scoped Black/Flake8, strict source mypy and
git diff --checkpass on Python 3.12.13. Tests explicitly use this checkout'ssrcto keep this branch independent of the operator-fallback PR.Prepared with AI assistance; parser boundaries, compatibility fixtures and validation results were reviewed.