• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

voku / Simple-PHP-Code-Parser / 31049040951
87%

Build:
DEFAULT BRANCH: master
Ran 05 Aug 2026 09:32PM UTC
Jobs 8
Files 24
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 Aug 2026 09:28PM UTC coverage: 87.357% (+1.2%) from 86.169%
31049040951

push

github

moellekenl
Prepare 0.22.2 release with BC regression coverage

Document the behaviour changes since 0.22.1 in the changelog and add the
tests that prove nothing else changed.

The behaviour delta was measured by diffing the full parsed model of a
433-file corpus (synthetic syntax fixtures, nikic/php-parser and
phpdocumentor) between 0.22.1 and HEAD. Exactly three changes showed up,
all of them intended:

- reflected property/parameter types are now consistently fully
  qualified (`\Psr\Container\ContainerInterface` instead of
  `Psr\Container\ContainerInterface`)
- enum cases no longer leak into `PHPEnum::$constants`
- `PHPEnum::$is_final` / `$is_abstract` / `$is_anonymous` are no longer
  `null` for enums that cannot be autoloaded

New tests:

- ReflectionTypeFormattingRegressionTest: pins the rendered type strings
  for the AST path and the reflection path and asserts they agree, plus
  the no-autoload guarantee
- PublicApiSurfaceTest: snapshot of every public property and method, so
  a removal or an incompatible signature change fails the build
- ModelInvariantsRegressionTest: parses the whole library and every
  fixture and checks the model invariants, including that class-like
  types are always fully qualified
- ParserEntryPointsTest: end-to-end coverage of getAstFromFile(),
  getFileInfoFromFile(), the container setters and getFunctionsInfo(),
  which had no test before
- PHPEnumRegressionTest / AutoloadSafetyRegressionTest: extended to all
  three enum read paths and to the shared autoload guard

All new tests fail against 0.22.1 and pass on both nikic/php-parser v4
and v5.

Also widen the extractHooksFromReflection() array key type, which
phpstan rejected on PHP 8.4 because getHooks() is keyed by name.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

2059 of 2357 relevant lines covered (87.36%)

195.97 hits per line

Jobs
ID Job ID Ran Files Coverage
1 31049040951.1 05 Aug 2026 09:32PM UTC 24
86.0
GitHub Action Run
2 31049040951.2 05 Aug 2026 09:32PM UTC 24
84.6
GitHub Action Run
3 31049040951.3 05 Aug 2026 09:32PM UTC 24
84.32
GitHub Action Run
4 31049040951.4 05 Aug 2026 09:32PM UTC 24
84.9
GitHub Action Run
5 31049040951.5 05 Aug 2026 09:32PM UTC 24
82.77
GitHub Action Run
6 31049040951.6 05 Aug 2026 09:32PM UTC 24
83.07
GitHub Action Run
7 31049040951.7 05 Aug 2026 09:32PM UTC 24
83.5
GitHub Action Run
8 31049040951.8 05 Aug 2026 09:32PM UTC 24
84.47
GitHub Action Run
Source Files on build 31049040951
  • Tree
  • List 24
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 53f1b508 on github
  • Prev Build on master (#31046109447)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc