Reorganise tests by purpose and simplify data inclusion #364
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.
Changes
@phpstan-return
), parameter types (@phpstan-param
), assertions (@phpstan-assert
,@phpstan-assert-if-true
,@phpstan-assert-if-false
), pure functions (@phpstan-pure
), and impure functions (@phpstan-impure
). Each test purpose now has its own test class and its own data directory. By default, each test is configured viatests/phpstan.neon
.ReturnTypeTest
when placed intests/data/return
. It is no longer necessary to add a separate lineyield from $this->gatherAssertTypes($file)
for each file.level: max
to the default configuration.Most of the changes are file moves from
tests/data
to the new purpose-specific directories (e.g.tests/data/return
). No changes to the test data have been made. No changes to thefunctionMap.php
have been made.Reasoning
tests/data/pure/forget-possibly-impure-values.neon
) that configures PHPStan to forget possibly impure values.level: max
ensures the suite runs under the strictest diagnostics, catching anything possible early and makes the level explicit.