Merged
Conversation
Use repr-style formatting for value-like matchers so string values are quoted consistently in diagnostics and nested matcher output. Also make Matches report only explicitly requested regex flags and render patterns via repr. Add matcher_repr_test.py with coverage for the updated repr behavior.
Make ArgThat repr informative by labeling predicate kind and optional source line, e.g. "def is_positive at line N", "lambda at line N", and callable instance labels. This improves diagnostics without requiring custom ArgThat subclasses. Add defensive introspection fallbacks so odd/broken callables do not break repr generation. Handle functools.partial explicitly, and add regression tests covering builtins, numpy ufuncs, partial numpy functions, and broken __name__ introspection.
Improve Any repr readability for type constraints while preserving robustness for unusual objects. Type constraints now render as concise names (e.g. "<Any: int>", "<Any: (int, str)>") and still fall back safely for non-type values.
Use safe repr handling in ValueMatcher and Contains so diagnostic rendering cannot fail when user objects implement a broken __repr__. Also preserve explicit flags in Matches.__repr__ when a compiled pattern is passed, while still omitting default regex engine flags.
d005566 to
23a4740
Compare
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.
No description provided.