Skip to content

Coverage Review: JSON Schema Unit Test Fixtures #8

@lmmx

Description

@lmmx

Context

We currently have a set of unit test fixtures for JSON Schema validation.
Before moving on to larger integration tests, we should confirm that our fixture set covers the full range of features defined in the JSON Schema 2020-12 specification.

This issue is a tracking checklist to highlight what we already have fixtures for and identify any obvious omissions.


Coverage Checklist

1. Metadata

  • $schema
  • $id
  • title
  • description

2. Core Types

  • type: string, number, integer, boolean, null, array, object
  • Empty schema {} (accepts everything)
  • Boolean schemas (true / false)

3. String Constraints

  • minLength
  • maxLength
  • pattern
  • format (e.g. email, uri, date-time)

4. Numeric Constraints

  • minimum
  • maximum
  • exclusiveMinimum
  • exclusiveMaximum
  • multipleOf

5. Array Constraints

  • items (single schema)
  • items (tuple validation)
  • additionalItems
  • minItems (via required objects inside array elements)
  • maxItems
  • uniqueItems
  • contains

6. Object Constraints

  • properties
  • required
  • additionalProperties
  • patternProperties
  • minProperties
  • maxProperties
  • dependencies / dependentRequired
  • dependentSchemas

7. Composition

  • allOf
  • anyOf
  • oneOf
  • not

8. Conditionals

  • if
  • then
  • else

9. References & Reuse

  • $ref (local)
  • $ref (remote)
  • Recursive $ref
  • $defs / definitions

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions