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

PHPOffice / PHPPresentation / 31470671589
92%

Build:
DEFAULT BRANCH: master
Ran 11 Aug 2026 07:54AM UTC
Jobs 1
Files 141
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

11 Aug 2026 07:51AM UTC coverage: 91.616% (+0.01%) from 91.602%
31470671589

push

github

web-flow
Fix static analysis on PHP 8.4 and 8.5 (#897)

* Fix static analysis on PHP 8.4 and 8.5

PHPStan 1.12 cannot resolve the symbols of PHPUnit 13, which composer
installs on PHP 8.4 and 8.5, so every assertion in the test suite was
reported as a call to an undefined static method (3451 errors) and both
static analysis jobs failed, on master as well as on pull requests.

- Upgrade phpstan/phpstan to ^2.2, the version PHPStan itself recommends
  in its end-of-life notice. It still supports PHP 7.4, so the whole
  matrix keeps working.
- Derive the chart column name from its index in the ODPresentation
  writer instead of incrementing a string, which is deprecated as of
  PHP 8.5 and is the only new finding specific to that version.

The newer analyser reports 144 further findings on the existing code at
level 6. They are fixed rather than silenced:

- Drop the method_exists($this, 'getMockForAbstractClass') fallbacks
  (24 blocks). The anonymous-class branch they guarded works on every
  supported PHPUnit generation, and getMockForAbstractClass() has been
  deprecated since PHPUnit 10 and removed in 12, so dropping it also
  takes 21 deprecation notices out of the suite.
- Remove 47 tautological assertIsArray() calls whose subject is already
  declared array; each is followed by the assertCount() or assertEmpty()
  that carries the real expectation. The four calls on getAnimations(),
  which has no return type, are kept. Replace the 8 assertNotNull()
  calls on int returns with assertSame(0, ...) and the 3
  assertIsString() calls on getHashCode() with assertNotEmpty(), so
  those tests check a value instead of a type the signature already
  guarantees.
- Give the @var tags on mocks the X&MockObject intersection type, and
  correct the ones that had drifted from what is really assigned.
- Drop instanceof and !== null checks on values that are already
  declared with that type: five parameters and the non-nullable return
  of Doughnut::getFirstSliceAngle().... (continued)

40 of 47 new or added lines in 6 files covered. (85.11%)

9878 of 10782 relevant lines covered (91.62%)

42.94 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
88.55
0.05% src/PhpPresentation/Reader/PowerPoint2007.php
1
66.34
0.0% src/PhpPresentation/Reader/ODPresentation.php
Jobs
ID Job ID Ran Files Coverage
1 31470671589.1 11 Aug 2026 07:54AM UTC 141
91.62
GitHub Action Run
Source Files on build 31470671589
  • Tree
  • List 141
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • a5f52d5e on github
  • Prev Build on master (#30112087215)
  • Next Build on master (#31702951426)
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