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

PHPOffice / PHPPresentation / 33607141208
94%

Build:
DEFAULT BRANCH: master
Ran 02 Sep 2026 08:12AM UTC
Jobs 1
Files 142
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

02 Sep 2026 08:08AM UTC coverage: 93.96% (+0.02%) from 93.94%
33607141208

push

github

web-flow
Shape\RichText : Let a field sit inside a sentence, not only be a whole shape (#959)

* Shape\RichText : Let a field sit inside a sentence, not only be a whole shape

A field is a run whose text the application recomputes -- a slide number, a date -- and in
OOXML it stands beside `a:r` and `a:br` inside a paragraph. Here it was written from the
*shape*: `AbstractSlide` emitted `a:fld` when the whole shape was a `sldNum` or a `dt`
placeholder, taking the run properties from the first element of the first paragraph. So a
whole shape could be a slide number, but a field could not sit inside a sentence, and
"page 7 of 12" was inexpressible.

`Shape\RichText\Field` is a run that carries the kind of field, after LibreOffice's
`TextField : TextRun`. The PowerPoint2007 Writer emits `a:fld` from the element, among the
runs around it; the Reader gives a `Field` back rather than the plain `Run` it gave since
the styling was fixed, so the kind survives a round trip.

The kind is an open string rather than a list of constants, because `a:fld/@type` is an open
`xsd:string`: the three named here are the ones every application knows, and one an
application does not know it shows as the text the field last had.

Writing from the shape stays as it was, for a placeholder that holds no field of its own.

* ODPresentation Writer and Reader : Write a field where it stands, and read it back

The ODPresentation Writer had the same coupling the PowerPoint2007 one had: the kind of
field came from the shape's placeholder and was then applied to every run in it, so a field
could not sit inside a sentence and a placeholder holding more than one run turned all of
them into slide numbers.

It now asks the element first and falls back to the placeholder, so a `Field` is written as
the OpenDocument element for what it is. OpenDocument names a field by what it is rather
than by how it is formatted, so the fourteen dated formats OOXML numbers come down to
`text:date` and `text:time`; `... (continued)

42 of 43 new or added lines in 6 files covered. (97.67%)

10873 of 11572 relevant lines covered (93.96%)

69.86 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
98.51
0.01% src/PhpPresentation/Writer/ODPresentation/Content.php
Jobs
ID Job ID Ran Files Coverage
1 33607141208.1 02 Sep 2026 08:12AM UTC 142
93.96
GitHub Action Run
Source Files on build 33607141208
  • Tree
  • List 142
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 301e6470 on github
  • Prev Build on master (#33604005771)
  • Next Build on master (#33608124781)
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