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

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

Build:
Build:
LAST BUILD BRANCH: claude/schema-error-line-numbers-b76c62
DEFAULT BRANCH: master
Repo Added 12 Oct 2018 08:31AM UTC
Files 174
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

LAST BUILD ON BRANCH unevaluated-properties
branch: unevaluated-properties
CHANGE BRANCH
x
Reset
  • unevaluated-properties
  • 0.1.0
  • 0.10.0
  • 0.10.1
  • 0.11.0
  • 0.11.1
  • 0.12.0
  • 0.13.0
  • 0.14.0
  • 0.14.1
  • 0.15.0
  • 0.15.1
  • 0.16.0
  • 0.17.0
  • 0.18.0
  • 0.19.0
  • 0.2.0
  • 0.20.0
  • 0.21.0
  • 0.21.1
  • 0.21.2
  • 0.21.3
  • 0.21.4
  • 0.21.5
  • 0.21.6
  • 0.21.7
  • 0.21.8
  • 0.22.0
  • 0.22.1
  • 0.23.0
  • 0.23.1
  • 0.23.2
  • 0.23.3
  • 0.23.4
  • 0.23.5
  • 0.24.0
  • 0.24.1
  • 0.24.2
  • 0.25.0
  • 0.25.1
  • 0.26.1
  • 0.26.2
  • 0.3.0
  • 0.3.1
  • 0.4.0
  • 0.5.0
  • 0.6.0
  • 0.7.0
  • 0.8.0
  • 0.9.0
  • 65-recursive-reference-resolving
  • 70-filter-in-composition
  • AddOptionToDefaultArraysToEmptyArray
  • AdvancedFilter
  • BaseProcessor
  • BuilderClassPostProcessor
  • CompositionValidationOnMutableObjects
  • FormatValidation
  • JsonSchemaDraftTestSuite
  • MoveCI
  • NestedObjectException
  • OptimizeMergedProperties
  • PatternProperties
  • PerformanceImprovements
  • PostProcessor
  • PostProcessorHooks
  • ReworkExceptions
  • SchemaHooks
  • SkipFilterAfterTransformingFilterIfTransformationFails
  • ThrowExceptionFromNestedModel
  • additionalProperties
  • attributes
  • bogus-loop-var
  • booleanSchemas
  • chore/phpunit-13-upgrade
  • claude/exciting-cori-7aca14
  • claude/library-output-generation-plan-fmo3bz
  • claude/remove-ext-json-requirement-6rewh4
  • claude/schema-error-line-numbers-b76c62
  • debug
  • drafts
  • enumPostProcessor
  • feat-required-and-optional-const-property
  • feat/composition-required-promotion
  • feature/class-name-generator-improvements
  • feature/defs-keyword-support
  • filter-composition-ordering
  • fix-implicit-null-allowed
  • fix-name-normalization
  • fix/composed-schema-branch-defaults
  • fix/enum-types-in-composition-branches
  • fix/issue-101
  • fix/issue-110
  • fix/issue-129-enum-type-check-validator
  • fix/issue-130-duplicate-ref-builder-methods
  • fix/issue-98
  • implicitNullableConfiguration
  • improveRefResolving
  • issue133
  • issue72_nestedComposition
  • issue77_dynamicProperty
  • issue79_CombinedRefAndObjectDefinition
  • jsonSchemaDraft7
  • master
  • modernizeCode
  • optionalConst
  • order-schema-files
  • param
  • patch-1
  • patch-2
  • php82tessting
  • propertyinterface-bogus-signature
  • ref-required-and-optional-property
  • refImprovements
  • renameRawModelDataInput
  • supportNumericProperties
  • typos
  • useInNestedReferences

07 Jul 2026 09:31AM UTC coverage: 98.076%. First build
28856540538

Pull #157

github

wol-soft
Warn and skip on unevaluatedProperties dead cells + edge-case tests

UnevaluatedPropertiesValidatorFactory now consolidates all four
sibling shapes that leave the unevaluatedProperties bucket
permanently empty into a single deadCodeReason() helper:

- additionalProperties: true — every extra flows to the model but
  the accumulator does not credit it, so the validator would still
  fire and defeat the intent of `additionalProperties: true`.
- additionalProperties: {schema} — every extra is claimed and
  validated by additionalProperties; the unevaluated set is empty.
- additionalProperties: false — every extra is rejected before the
  post-composition phase, so the unevaluated validator never runs.
- denyAdditionalProperties() generator flag with additionalProperties
  absent — synthesises the same false shape at configuration time.

Each cell emits a distinct warning via the existing echo channel
so build-output greps can identify the specific dead shape, and
skips validator emission entirely.

Tests added:

- Object-side dead-code data provider covering all four shapes plus
  the denyAdditionalProperties() variant. Rows pass the
  GeneratorConfiguration directly (setOutputEnabled(true) on the
  base, chained with setDenyAdditionalProperties(true) on the deny
  row) so the test signature drops the closure/fallback boilerplate.
- testAdditionalFalseRejectsExtrasEvenWhenUnevaluatedSchemaWouldAccept
  proves the factory suppressed the validator: an extra that would
  satisfy the unevaluated integer schema is still rejected because
  additionalProperties: false runs first.
- testContradictoryInnerSchemaThrowsSchemaExceptionPointingAtFile
  pins that an unevaluatedProperties schema with contradictory allOf
  types surfaces via the existing "conflicting types" SchemaException
  path, with the file identifier preserved.
- testPropertyNamesRejectionPrecedesUnevaluated data-provider variant
  covering both direct-exception and error-collection modes. The
  re... (continued)
Pull Request #157: Unevaluated properties

712 of 774 new or added lines in 38 files covered. (91.99%)

7237 of 7379 relevant lines covered (98.08%)

563.49 hits per line

Relevant lines Covered
Build:
Build:
7379 RELEVANT LINES 7237 COVERED LINES
563.49 HITS PER LINE
Source Files on unevaluated-properties
  • Tree
  • List 184
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
28856540538 unevaluated-properties Warn and skip on unevaluatedProperties dead cells + edge-case tests UnevaluatedPropertiesValidatorFactory now consolidates all four sibling shapes that leave the unevaluatedProperties bucket permanently empty into a single deadCodeReason() helper... Pull #157 07 Jul 2026 09:39AM UTC wol-soft github
98.08
See All Builds (734)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc