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

wol-soft / php-json-schema-model-generator / 31431102822
99%
master: 99%

Build:
Build:
LAST BUILD BRANCH: unevaluated-properties
DEFAULT BRANCH: master
Ran 10 Aug 2026 08:53PM UTC
Jobs 1
Files 187
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

10 Aug 2026 08:51PM UTC coverage: 98.897% (+0.09%) from 98.811%
31431102822

Pull #166

github

claude
Merge master: adopt draft-aware $ref sibling handling

Master replaced JsonSchema's allOf rewrite hack for {$ref, siblings} with a
draft-aware producer model, and moved the reference resolution out of
PropertyFactory into RefResolver. Three things had to be adopted rather
than merged mechanically.

The object-shape classifier merged $ref siblings unconditionally, on the
assumption - true before, false now - that the constructor rewrite made
sibling handling draft-independent. Draft 07 registers $ref as an
ExclusiveProducer and ignores every sibling, so merging them classified
`allOf: [{$ref: <object>, type: string}]` as unsatisfiable and rejected a
schema master generates without complaint. classifyReference() now reads
the draft's own $ref producer and follows it, instead of restating the
policy.

The #182/#183 fixes lived in PropertyFactory::processBaseReference(),
which master rewrote from the pre-fix base into RefResolver. Re-applied
there on top of master's structure, so a base-level $ref still transfers
the referenced schema's base validators and still resolves to a
composition rather than being refused outright. The referenced-schema
failure marker likewise had to be re-wired into RefResolver, which
otherwise rewraps a target-side failure as "Unresolved Reference".

createObjectProperty()'s guarded mode was lost when master's version was
taken wholesale; restored.

checkObjectRepresentability()'s $ref exemption now covers sibling-bearing
roots too, since the rewrite that used to strip that key is gone. That is
left as-is deliberately: whether siblings apply is the draft's decision,
and the reference resolution that follows already implements it.

Suite matches master's baseline exactly - the 8 remaining errors
(ArrayContainsTest 2020-12, Issue186Test, AdditionalPropertiesAccessor)
reproduce on pristine master and are not from this branch.
Pull Request #166: Fix crashes and silent misvalidation in object-implied compositions, reject non-representable ones

400 of 401 new or added lines in 15 files covered. (99.75%)

4 existing lines in 3 files now uncovered.

7893 of 7981 relevant lines covered (98.9%)

595.33 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
99.41
-0.18% src/Model/Validator/Factory/Composition/AbstractCompositionValidatorFactory.php

Coverage Regressions

Lines Coverage ∆ File
2
99.39
0.28% src/SchemaProcessor/SchemaProcessor.php
1
99.41
-0.18% src/Model/Validator/Factory/Composition/AbstractCompositionValidatorFactory.php
1
99.57
0.0% src/Model/Validator/Factory/Composition/IfValidatorFactory.php
Jobs
ID Job ID Ran Files Coverage
1 Unit - 31431102822.1 10 Aug 2026 08:53PM UTC 187
98.9
GitHub Action Run
Source Files on build 31431102822
  • Tree
  • List 187
  • Changed 18
  • Source Changed 16
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31431102822
  • Pull Request #166
  • PR Base - master (#31429899973)
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