tests: add full PHPStan typing tests#19
Merged
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
nikophil
commented
Jul 18, 2026
nikophil
commented
Jul 18, 2026
Member
|
Thanks! This was really needed, I'll review it in detail probably next week. |
delacry
added a commit
that referenced
this pull request
Jul 25, 2026
Update the API reference for narrowing that landed in #15, #17, #18, #19, #21 and #22: flatten(), filterNotNull(), Map::filterValuesNotNull(), countWhere(), Collection::sum() and Map::toArray(). Compact types are inlined in the signature (countWhere(): int<0, max>); conditional ones are described in prose instead, matching how sum() and intersect() are already documented. Also fix the flatten() assertion in TransformTypeTest, which still expected Collection<mixed> and has failed on 0.1.x since #21.
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.
Here is a proposal for a full "test type suite" that covers all the code
I tried to limit the number of files, hence the
test/Type/Collectionwhich casts toCollectionthe subject of the tests:I also tried to only cover stuff which is useful, and deals with generics notation
don't hesitate if you feel like some tests are not useful or redundant