Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bug #23145 Fix the conditional definition of the SymfonyTestsListener…
… (stof) This PR was merged into the 3.3 branch. Discussion ---------- Fix the conditional definition of the SymfonyTestsListener | Q | A | ------------- | --- | Branch? | 3.3 | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | n/a | License | MIT | Doc PR | n/a This is a continuation of the attempts at fixing the PHPUnit 5 compatibility layer for the listener. The signature mismatch error still happened when using the PHPUnit PHAR instead of a source install (hint: people using `simple-phpunit` are using a source install). It looks like the class definition gets loaded by PHP before executing the code placed above it (and so the early return breaks). Putting the code inside a `else` instead works fine (the class definition probably cannot bubble up). The known difference between the PHAR and a source install is that the source install relies on autoloading while the PHAR loads all PHPUnit classes through `require_once` eagerly (and so the parent class already exists when using the Symfony file). @jpauli is it an expected behavior that early returns before class definitions don't work consistently ? Regarding the patch itself, an alternative would be to move the PHPUnit 6+ implementation to a dedicated class instead, and use a `class_alias` for the else clause too. But I don't think it is worth it. Commits ------- 0ec8b1c Fix the conditional definition of the SymfonyTestsListener
- Loading branch information