Skip to content

Commit

Permalink
Squashed 'JSON-Schema-Test-Suite/' changes from 689d2f2..0245dcc
Browse files Browse the repository at this point in the history
0245dcc Merge pull request #521 from olegshtch/add-recursive-ref-test-suite
e9fb9cf Merge pull request #517 from ChALkeR/chalker/date-time-leap
f1b230c Add test from Appendix C.  Example of recursive schema extension of the draft.
bb2e373 Test date-time with leap second on a wrong hour/minute
8b797cf Merge pull request #520 from json-schema-org/ether/custom-dialect
5d23f31 Add tests for invalid date-time past leap second
63f8e93 Improve leap seconds test in optional/format/date-time
3d00f59 test the use of the $vocabulary keyword in a custom metaschema
54440ea Merge pull request #516 from ChALkeR/chalker/ipv6
e7b22e1 Fix the sanity check by pinning.
8891d81 Merge pull request #519 from json-schema-org/ether/custom-dialect
5f5fccd test the format-assertion vocabulary with a custom metaschema
3fcee38 Merge pull request #512 from json-schema-org/ether/formats-and-non-strings
b349b87 test that format-assertions are valid with non-string types
8e5b2f1 fix needless inconsistencies in format tests between drafts
02d7cb5 Correct "ref with sibling id" tests
1649470 More ipv6 tests to increase coverage
7334b4c Merge pull request #505 from ChALkeR/chalker/fix-unicode
0fb2d27 Consolidate optional/unicode into optional/ecmascript-regex
4f8c6d7 unevaluatedProperties: deep dynamic + refs
9103f3b $ref wit id does not test what it is indented to do
f300dd1 Add test "same $anchor with different base uri"
d128f9d Add test to check that $id resolved against nearest parent, not just immediate parent
72e31dd Merge pull request #515 from json-schema-org/ether/fix-mandatory-format-tests
0173a08 Revert "by default, "format" only annotates, not validates"
66e813a Merge pull request #506 from json-schema-org/ether/formats-non-ascii
20c1bb1 test for non-ascii digits in various formats
ab0b1ae fix draft4 schemas
0df96bc group tests to avoid duplicating test descriptions
93293ef fix indentation
9430972 fix unicode tests in accordance to pattern/patternProperties spec
76b529f Merge pull request #482 from json-schema-org/ether/more-date-time-tests
eb61904 Merge pull request #504 from json-schema-org/minContains-0-but-maxContains
c41a68e Add tests for minContains = 0 but with maxContains
57f1d63 some more tests for "date" and "time" formats
878b0ad properly escape this newline character - thanks Srikrishnan Suresh!
bb2a20d Merge pull request #503 from json-schema-org/uuid-dashes
f9acc45 Backport #451 to draft 7.
8e746b3 Test that UUIDs have dashes in the right spots.
fd0aa9f Merge pull request #500 from anexia-it/master
d010780 Extend if/then/else tests on unevaluated properties
017d4e5 Merge pull request #499 from json-schema-org/ether/dynamic-scope-enter-leave
6327a3b Remove annotation-asserting tests from draft3's format as well.
aa621ed test that dynamic scopes are not always in scope
35bab68 Merge pull request #497 from json-schema-org/ether/streamlined-format-tests
808c5d2 in #496 I neglected to update draft-future with the same $id fixes as in draft2020-12.
ba1f1a7 normalize all format tests, adding consistent sample data
b00ba57 fix use of boolean schemas in draft4
4ca4af2 Merge pull request #498 from json-schema-org/ether/2020-12-unicode-pattern
c5f08e2 add tests for pattern matching with unicode semantics
e7f8b3e Merge pull request #496 from json-schema-org/ether/missing-identifiers
c8d79ee use unique identifiers so schemas do not conflict
17fa958 Merge pull request #494 from anexia-it/master
a0d28fd Extend duration and uuid format tests for ignored values
b6769f2 fix ids in older drafts
1326f36 Merge pull request #493 from json-schema-org/ether/id-sibling-to-ref
b9bddc9 test that sibling $ids to $refs are ignored
2f6a498 Merge pull request #492 from json-schema-org/ether/fix-refRemote
61d03c0 fix buggy test with $ref in older drafts
0aefbb3 Merge pull request #491 from jdesrosiers/object-contains-tests
336ef8d Merge pull request #452 from LeifRilbe/rilbe/propertyNames-with-pattern
2dfbc79 Simplify the test case names as well.
b6d0649 Add tests for contains with objects
da687ca Enforce a consistent code style for contains tests
b163efc Merge pull request #490 from jdesrosiers/draft-future
7c8cb48 Initialize draft-future with 2020-12 tests
4d65d2d Merge pull request #483 from kylef/kylef/date
ee9dcaa Merge pull request #485 from marksparkza/contains-with-false-if
eaa5bff Merge pull request #489 from json-schema-org/ether/more-recursiveRef
7c33b53 dynamic $recursiveRef test with cousin $recursiveAnchors
8a3a542 Fix invalid JSON error
8a89f58 Add tests combining remote refs and defs
3aec0d1 Add tests combining relative refs and defs
a107d19 fix: $defs -> definitions in draft 6,7 tests
0c223de Remove a test for undefined $id behavior
4efec18 Test that "contains" does not fail due to false "if" subschema
bf383b4 fix: make identifiers unique across tests
812f1f0 Merge pull request #484 from json-schema-org/ether/schemas-under-unknown-keywords
64f6b85 Test that identifiers are not found inside unrecognized keywords
c69a89c Stricter date format constraints
09fd353 Merge pull request #481 from kylef/kylef/time
0ed2e79 Fix negative time test to only fail on a single rule
2edc74b Add valid time with different second fractions
7bde0bf Add valid time with leap second including offset
ee83f46 Stricter time format constraints
5732904 Merge pull request #480 from json-schema-org/ether/better-test-names
c299427 better test names for schema-items + additionalItems
6bc53e6 Merge pull request #479 from json-schema-org/fix-non-id-in-enum-for-drafts-6-and-7
3f783d9 fixing draft 6 & 7 non-id tests
5768c68 Merge pull request #476 from json-schema-org/ether/readme-updates
0c8bfc0 add mention of JSON::Schema::Tiny
e4c10c6 fix markdown for underscores in package names
eeb4db1 mention draft2020-12 in readme
dff69dc Merge pull request #474 from marksparkza/unevaluatedItems-depends-on-contains
51b4977 Merge pull request #478 from sorinsarca/patch-1
dfcd4a1 fix bad comma
4cb100a Merge pull request #465 from json-schema-org/ether/more-naive-ref
31dc86b add another test of naive $ref replacement
f858c61 Merge pull request #477 from json-schema-org/ether/more-items-tests
4e266c3 test that array-items/prefixItems adjusts the starting position for schema-items/additionalItems
b7fced3 Merge pull request #473 from json-schema-org/ether/more-default-tests
eadb9be test that a missing property is not populated by the default in the actual instance data
839b95d Added opis/json-schema
7cf7880 Add missing comma
3390c87 Update tests/draft2020-12/unevaluatedItems.json
15ec577 Merge pull request #471 from json-schema-org/ether/id-anchor-in-enum
9f97865 test for confusing not-identifiers in enums
d3b8800 Update tests/draft2020-12/unevaluatedItems.json
0f7ecd4 Merge pull request #475 from marksparkza/marksparkza-patch-1
84e1d5a Add another test case for unevaluatedItems-contains interaction
783d22a Add jschon
f400802 Add tests for unevaluatedItems interaction with contains
fc68499 Merge pull request #472 from json-schema-org/ether/unevaluatedProperties_uncles
ed4cf5f more test cases for unevaluatedItems, unevaluatedProperties
d0d814d Merge pull request #469 from json-schema-org/ether/ipv4-vulnerability
7ca5f36 reject ipv4 strings with an octet with a leading zero
8e1e1c1 fix spelling error in test descriptions
77f1d10 Merge pull request #462 from jdesrosiers/dynamic-ref-tests
72a32fe Merge pull request #468 from json-schema-org/ether/combine-test-cases
0c48ffb Merge pull request #453 from notEthan/float-overflow-d4-int
76a4ba0 these test cases can be combined since the schemas are the same
cd73775 Merge pull request #464 from json-schema-org/ether/format-by-default-always-validates
043dc63 by default, "format" only annotates, not validates
3c45b81 Merge pull request #460 from amosonn/remove-remotes-from-script
b09e48d Fix $ref with siblings in pre-2019-09 tests
ff9f22e Add tests for $dynamicRef/$dynamicAnchor
0faaf09 Fix refs to Draft 2019-09 schema to be refs to 2020-12
ebbcbc8 Use flask to server remotes directly
bb98b03 Remove remotes from bin/jsonschema_suite
fcae732 Merge pull request #455 from jdesrosiers/bootstrap-202012
e002409 Update tests for 2020-12
405b3fb Copy 2019-09 tests to bootstrap 2020-12 tests
9319344 Test cases for propertyNames with pattern - update after PR feedback.
1636a22 draft4 float-overflow instance may be considered not an integer
8e4aad9 Test cases for propertyNames with pattern.
8daea3f Merge pull request #451 from json-schema-org/ether/more-relative-json-pointer
69fe40f some more relative-json-pointer tests
6505944 Merge pull request #450 from json-schema-org/ether/recursiveRef-dynamic-path
afd0cd3 Move content* keyword tests to non-optional
e2b2a4b Change all content* keyword tests to always validate
8999eae $recursiveRef example demonstrating dynamic nature of the resolution scope
f47003f fix duplicate test description
bcf1dc8 Merge pull request #391 from ether/recursiveRef (rebased, squashed)
3d88f34 test $recursiveRef + $recursiveAnchor
3b79a45 Merge pull request #418 from ChALkeR/chalker/contentSchema
3627cc1 Fix draft3 as well, which didn't have allOf.
eb1618b Fix misspelled reference in infinite-loop-detection tests
d7821b6 remove duplicate files added by mistake in PR#446
a27c949 Merge pull request #446 from json-schema-org/ether/infinite-loop-detection
371fcab Add a test to demonstrate the invalidity of a naive infinite loop detection algorithm
45436c6 Add a test to demonstrate the invalidity of a naive infinite loop detection algorithm
14cfcde Merge pull request #445 from json-schema-org/ether/naive-ref-replacement
128146d test that literal $refs are not evaluated as keywords
71ba357 Merge pull request #442 from jimblackler/master
a6f759a Update README.md
0f35b32 Merge pull request #441 from plxel/patch-1
d36b8b9 Update README.md
d657d2b Update index.js
6a925b8 change folder to baseUriChange
96742ba Merge pull request #438 from Zac-HD/overflow-with-multipleOf
c5ba4ba Check for multipleOf overflow
c12b0db Merge pull request #437 from gregsdennis/if-then-else-sequencing
bd148eb copy/paste error
3ca7c41 Added if/then/else sequencing tests; resolves #436
fa73bc8 Merge pull request #435 from jviotti/unevaluated-items-typo
2d6de7c Fix "unevaluted" typos in "unevaluatedItems" suite
21555a8 Merge pull request #431 from ChALkeR/chalker/enum
87550ad Merge pull request #433 from notEthan/escaped_ref_in_def
57e31b4 refactor tests of escaped pointer refs to put ref'd schemas in definitions
a21e425 Add tests for objects in enum
2a9be81 Merge pull request #1 from json-schema-org/master
8a12994 Remove invalid format:regex test; the spec doesn't mandate parsing correctness
fce9e9b Merge pull request #426 from helrond/padded-dates
e61b647 tests should invalidate
86f52b8 Fix a clear copy-paste error in the case names for tests from #394.
df8f6bb add tests to date-time
f137b81 add checks to draft3
3aa603f adds tests for non zero-padded dates
ec18a7d Merge pull request #360 from notEthan/duplicate_uris
cd9a4b9 change schemas with duplicate URIs http://localhost:1234/folder/
43e190e Merge pull request #394 from rjmill/rjmill/bools-and-1s-and-0s-inside-objects-and-arrays
85f0d45 Merge pull request #419 from ChALkeR/chalker/format-uri
5443621 Merge pull request #420 from ChALkeR/chalker/format/ip6
ad47b72 Add long valid and invalid ipv6
b2ab70e More optional ipv6 tests
37189ae Test that uri format scheme is validated for allowed chars
ea41553 Remove test that doesn't match RFC 3339 duration grammar
29f609b Add tests for contentSchema
dee8ef7 Merge pull request #411 from ChALkeR/chalker/more-unevaluted
cd88fb5 Add more nested and cousin unevaluatedProperties tests
5f3dc7e Merge pull request #415 from json-schema-org/ether/more-ipv6-tests
04ddab1 some more ipv6 tests
acb45cd Merge pull request #417 from ChALkeR/chalker/patternProperties
0f4b73a One more patternProperties test with boolean schemas
8ccbfdc Merge pull request #412 from json-schema-org/ether/more-format-duration-2
1329dab some more tests for the "duration" format
1d5c3c0 Merge pull request #405 from ChALkeR/chalker/email-format
40601f6 Add idn-hostname validity and contextual rule tests
fc05651 Merge pull request #409 from Stranger6667/dd/add-jsonschema-rs
5f1575a Add Rust `jsonschema` crate
2bf95be Merge pull request #407 from fisxoj/master
9ae956b Add common lisp implementation to the list
d4ffd56 Merge pull request #401 from json-schema-org/ether/format-uuid
2d6c457 tests for the "uuid" format
08f6cda Merge pull request #400 from json-schema-org/ether/more-format-ipv6
d3064eb some more tests for the "ipv6" format
7ad7443 Extend email format tests
1f34d33 Merge pull request #399 from json-schema-org/ether/more-format-idn-email
22adda7 also test the "email" inputs against "idn-email"
25598a3 Merge pull request #392 from rjmill/rjmill/test-prop-named-ref-containing-a-ref
8dfa8ad Merge pull request #380 from ChALkeR/fix-ecmascript-regex
d595dbf backport $ref cases, changing "$defs" to "definitions"
2106ed1 backport uniqueItems cases to draft3
57001d2 [294] Add tests for "additionalProperties" and "additionalItems"
49fc2a9 backport const test cases to draft6
2719210 Merge pull request #398 from ChALkeR/chalker/no-dec-ipv4
f5f481a Decimal IPs are also not dotted-quad
ca8319c Fix \W test description
79fe60c more tests for true != 1 and false != 0 inside objects/arrays
452b5f8 Test property named $ref, containing an actual $ref
a01ae54 Fix ECMA 262 regex whitespace tests.
817b724 add perl implementation and test suite to the user list
ca14e01 Merge branch 'pull/382'
3dabf55 move non-format tests out of the format directory, while keeping all ECMA regex tests together
4121aa5 move format tests to their own directory
4bae8aa Add more idn-hostname tests to draft-2019-09 and draft-07
6d91158 [325] Add some more hostname tests
e593057 Merge pull request #389 from ssilverman/readme-drafts
fb3766d README: Improve issue/PR links
79bef22 README: Update language around drafts
ade47e4 README: Add Snow to the list of supporting Java validators
fc0c14e README: Update simple JSON example
1167669 README: Update structure, consistency, spacing, and wrapping
9514122 Merge pull request #388 from json-schema-org/ether/maxProperties=0
7646490 test that maxProperties = 0 means the object is empty
c3f4319 Merge pull request #384 from ChALkeR/chalker/unique
7766f48 Improve uniqueItems validation
7555d41 Add unnormalized $id tests
11f70eb [300] Add tests for valid use of empty fragments in "$id"
b106ff0 [299] Add tests for invalid use of fragments in "$id"
4a74d45 Fix "tilde" spelling
3eca41b Merge pull request #379 from json-schema-org/ether/remove-wrapped-refs
d61bae8 remove wrapped refs
536ec07 [359] Add unevaluatedProperties/unevaluatedItems cousin tests
ac63eb7 Small README update that introduces the concept of directories
697944e Merge pull request #374 from karenetheridge/ether/allOf-anyOf-oneOf
33f8549 test all the *Of keywords together
44b99ed Merge pull request #373 from karenetheridge/ether/items-and-contains
4a2b52f some tests of items + contains
7f00cc8 add test that was present for other drafts but not 2019-09
a3f9e2e Merge pull request #371 from karenetheridge/ether/if-then-else-boolean
aeeaecc some tests with if/then/else and boolean schemas
b8a083c Merge pull request #372 from nomnoms12/unique-false-and-zero
85728f1 Add tests for uniqueness [1] and [true]
fd01a60 Add tests for uniqueness [1] and [true]
0a8823c Merge pull request #370 from karenetheridge/ether/nul-char
fa6f4dd add tests for the NUL character in strings
8bf2f7f Merge pull request #369 from ssilverman/data-desc
2ba7a76 Add data description
4f66078 Merge pull request #367 from karenetheridge/ether/additionalItems
283da7c some more tests for additionalItems
7ba95f3 add tests for keywords maxContains, minContains
2f2e7cf Merge pull request #365 from karenetheridge/ether/move-ecma-regex
8388f27 move ECMA regex tests under format/
9d0e0eb Merge pull request #362 from karenetheridge/ether/1.0-is-number
fadab68 1.0 is always a number (and an integer too for draft6+)
361620e [355] Move non-BMP pattern tests to optional
e1f870b Add "comment" to the tests
bc68a6b Merge pull request #332 from jdesrosiers/unevaluated-tests
ab9e3d5 2 is more than 1.
846dd7a Draft 4 isn't the most widely used anymore thankfully.
1619163 A bit less informal language in the README.
71f55b3 1.0 being an integer is not optional behavior.
240fbf6 Add a description to "schema" explaining it should be valid
8f8e906 Update test schema to Draft 6 from Draft 4
2576db4 [350] Fix unmatched pattern-properties
0a0f0cd Move the "definitions" area below the main schema part
bb80ebe Clean up some spacing
9ee9eff Add some description annotations
41732db Refactor a single test into the "definitions" area
2fc576e [53] Add test IDs
c373120 [264] Add pattern and patternProperties tests for non-BMP code points
da35d88 [245] Add test for negative prefix in relative-json-pointer
d17e1ba [242] Add pattern tests for numbers, objects, arrays, and null
a5302a4 [329] Add tests for uniqueItems=false
0bf6358 [166] Add null-in-enum test
807591f Merge pull request #340 from karenetheridge/ether/markdown-conflict-markers
e4c82f2 disambiguate underline from git conflict marker
6077b07 Update unevaluatedProperties and unevaluatedItems tests
c4d3e0f Merge pull request #333 from zhxiaogg/tests-for-duration-format
618b30d not all duration impl support year and month
926d0b3 tests for duration format
22eaffc Merge pull request #331 from jdanyow/patch-2
b2e553e Merge pull request #330 from jdanyow/patch-1
9db34a1 remove unused constant
cbf4654 fix typo in ref test description
4451788 Merge pull request #326 from awwright/master
8e2a05a Revert "HTTP -> HTTPS for specification URIs."
f059435 Merge pull request #327 from json-schema-org/ref-scoping
2693322 fixed test structure; had a think about the logic.
2d0ce04 added test to illustrate $ref defining a new scope
3379127 HTTP -> HTTPS for specification URIs.
0da2aaa Backport nested allOf/anyOf/oneOf tests
34a2dfa Add nested allOf, oneOf tests
b70c562 Merge remote-tracking branch 'origin/pr/323'
882688c back out subSchemas.json changes, and instead add subSchemas-defs.json
0d6e164 back out ref.json whitespace change and missing referant test
70ebd73 update subSchemas.json fixture in bin/jsonschema_suite
b5123d1 In draft2019-09, you cannot reference arbitrary locations.
35041a3 Tests for unevaluatedItems.
8feb429 More unevaluatedProperties tests.
960f519 Split dependencies.json into its 2 new keywords.
d52866b This test duplicates 'dependentRequired with empty array'
f7c851f dependencies was split into dependentRequired and dependentSchemas.
47a5b01 Backport the new dependency test.
7a25f8b Another dependencies test, awaiting backport.
24940b2 Backport the new enum tests.
5d2afa8 More enum tests, awaiting backport.
de71322 Missed one for draft3 minimum.
79833bb More min and maximum tests, awaiting backport.
34efcda Backport the new const precision tests.
06a6295 More const tests, awaiting backport.
9a11d89 In draft2019-09, ref now does not ignore siblings.
7dc768a Backport eada031 to earlier drafts.
49c6197 Future-proof the sanity checker for #238.
3999497 Backport the additional min/max tests.
12b4a4c add optional test for $ref of an unknown keyword
a863dba Backport the additional const tests.
2e0e86e add more zero-valued types const tests
e76e029 2 is more than 1.
6c00de6 Run daily.
183d37f Run on all branches.
f865e88 Merge remote-tracking branch 'origin/Relequestual-fix-pr-ci'
777919b Fix the contributor command info as well.
e4e2770 Merge pull request #319 from json-schema-org/badge
5c7ac33 Fix the badge.
67f238b Run CI for PRs
bf2f244 Merge pull request #315 from json-schema-org/gha
38c2e93 Travis CI -> GitHub Actions.
0f344a6 Merge pull request #313 from leadpony/issue309
46c4474 Replace the control escape \\a with \\t
1ffe03e Merge pull request #312 from gregsdennis/master
de00479 better descripttions
eea7f24 arrays have characters too
7c02d06 added unevaluatedProperties test file; resolves #310
1899a5a Merge pull request #308 from aznan2/master
4a5010b Update the version list.
37569b1 issue #307 - made test compatible with draft4
e308730 issue #307 - removed issue reference from description
e13d327 issue #307 - removed pound sign from description
a3b9f72 issue #307 - test that oneOf handles missing optional property

git-subtree-dir: JSON-Schema-Test-Suite
git-subtree-split: 0245dcc9423c977f91355f9f54c56103b273bef8
  • Loading branch information
davishmcclurg committed Oct 17, 2021
1 parent 5519c42 commit 16c234b
Show file tree
Hide file tree
Showing 374 changed files with 42,178 additions and 2,545 deletions.
25 changes: 25 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Test Suite Sanity Checking

on:
push:
pull_request:
release:
types: [published]
schedule:
# Daily at 6:42
- cron: '42 6 * * *'

jobs:
ci:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Install tox
run: python -m pip install tox
- name: Run the sanity checks
run: python -m tox
8 changes: 0 additions & 8 deletions .travis.yml

This file was deleted.

160 changes: 93 additions & 67 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
JSON Schema Test Suite [![Build Status](https://travis-ci.org/json-schema-org/JSON-Schema-Test-Suite.svg?branch=master)](https://travis-ci.org/json-schema-org/JSON-Schema-Test-Suite)
======================
# JSON Schema Test Suite [![Build Status](https://github.com/json-schema-org/JSON-Schema-Test-Suite/workflows/Test%20Suite%20Sanity%20Checking/badge.svg)](https://github.com/json-schema-org/JSON-Schema-Test-Suite/actions?query=workflow%3A%22Test+Suite+Sanity+Checking%22)

This repository contains a set of JSON objects that implementors of JSON Schema
validation libraries can use to test their validators.
Expand All @@ -9,105 +8,123 @@ It is meant to be language agnostic and should require only a JSON parser.
The conversion of the JSON objects into tests within your test framework of
choice is still the job of the validator implementor.

Structure of a Test
-------------------
## Structure of a Test

If you're going to use this suite, you need to know how tests are laid out. The
tests are contained in the `tests` directory at the root of this repository.
The tests in this suite are contained in the `tests` directory at the root of
this repository. Inside that directory is a subdirectory for each draft or
version of the specification.

Inside that directory is a subdirectory for each draft or version of the
schema.
Inside each draft directory, there are a number of `.json` files and one or more
special subdirectories. The subdirectories contain `.json` files meant for a
specific testing purpose, and each `.json` file logically groups a set of test
cases together. Often the grouping is by property under test, but not always.

If you look inside the draft directory, there are a number of `.json` files,
which logically group a set of test cases together. Often the grouping is by
property under test, but not always, especially within optional test files
(discussed below).
The subdirectories are described in the next section.

Inside each `.json` file is a single array containing objects. It's easiest to
illustrate the structure of these with an example:

```json
{
"description": "the description of the test case",
"schema": {"the schema that should" : "be validated against"},
"tests": [
{
"description": "a specific test of a valid instance",
"data": "the instance",
"valid": true
},
{
"description": "another specific test this time, invalid",
"data": 15,
"valid": false
}
]
}
{
"description": "The description of the test case",
"schema": {
"description": "The schema against which the data in each test is validated",
"type": "string"
},
"tests": [
{
"description": "Test for a valid instance",
"data": "the instance to validate",
"valid": true
},
{
"description": "Test for an invalid instance",
"data": 15,
"valid": false
}
]
}
```

So a description, a schema, and some tests, where tests is an array containing
one or more objects with descriptions, data, and a boolean indicating whether
they should be valid or invalid.
In short: a description, a schema under test, and some tests, where each test
in the `tests` array is an objects with a description of the case itself, the
instance under test, and a boolean indicating whether it should be valid
or invalid.

Coverage
--------
## Test Subdirectories

Drafts 03, 04, 06, and 07 should have full coverage, with drafts 06 and 07
being considered current and actively supported. Bug fixes will be made as
needed for draft-04 as it is still the most widely used, while draft-03
is long since deprecated.
There is currently only one subdirectory that may exist within each draft
directory. This is:

If you see anything missing from the current supported drafts, or incorrect
on any draft still accepting bug fixes, please file an issue or submit a PR.
1. `optional/`: Contains tests that are considered optional.

Who Uses the Test Suite
-----------------------
## Coverage

Drafts 07, 06, 04, and 03 should have full coverage, with tests for drafts 06,
07, 2019-09 and 2020-12 being considered current and actively supported.
Drafts 2019-09 and 2020-12 are almost fully covered.

Contributions are very welcome, especially from implementers as they add support
to their own implementations.

If you see anything missing from the current supported drafts, or incorrect on
any draft still accepting bug fixes, please
[file an issue](https://github.com/json-schema-org/JSON-Schema-Test-Suite/issues)
or [submit a PR](https://github.com/json-schema-org/JSON-Schema-Test-Suite).

## Who Uses the Test Suite

This suite is being used by:

### Clojure ###
### Clojure

* [jinx](https://github.com/juxt/jinx)
* [json-schema](https://github.com/tatut/json-schema)

### Coffeescript ###
### Coffeescript

* [jsck](https://github.com/pandastrike/jsck)

### C++ ###
### Common Lisp

* [json-schema](https://github.com/fisxoj/json-schema)

### C++

* [Modern C++ JSON schema validator](https://github.com/pboettch/json-schema-validator)

### Dart ###
### Dart

* [json_schema](https://github.com/patefacio/json_schema)
* [json\_schema](https://github.com/patefacio/json_schema)

### Elixir ###
### Elixir

* [ex_json_schema](https://github.com/jonasschmidt/ex_json_schema)
* [ex\_json\_schema](https://github.com/jonasschmidt/ex_json_schema)

### Erlang ###
### Erlang

* [jesse](https://github.com/for-GET/jesse)

### Go ###
### Go

* [gojsonschema](https://github.com/sigu-399/gojsonschema)
* [validate-json](https://github.com/cesanta/validate-json)

### Haskell ###
### Haskell

* [aeson-schema](https://github.com/timjb/aeson-schema)
* [hjsonschema](https://github.com/seagreen/hjsonschema)

### Java ###
### Java

* [json-schema-validator](https://github.com/daveclayton/json-schema-validator)
* [everit-org/json-schema](https://github.com/everit-org/json-schema)
* [networknt/json-schema-validator](https://github.com/networknt/json-schema-validator)
* [Justify](https://github.com/leadpony/justify)
* [Snow](https://github.com/ssilverman/snowy-json)
* [jsonschemafriend](https://github.com/jimblackler/jsonschemafriend)

### JavaScript ###
### JavaScript

* [json-schema-benchmark](https://github.com/Muscula/json-schema-benchmark)
* [direct-schema](https://github.com/IreneKnapp/direct-schema)
Expand All @@ -125,7 +142,7 @@ This suite is being used by:
* [ajv](https://github.com/epoberezkin/ajv)
* [djv](https://github.com/korzio/djv)

### Node.js ###
### Node.js

For node.js developers, the suite is also available as an
[npm](https://www.npmjs.com/package/@json-schema-org/tests) package.
Expand All @@ -134,48 +151,57 @@ Node-specific support is maintained in a [separate
repository](https://github.com/json-schema-org/json-schema-test-suite-npm)
which also welcomes your contributions!

### .NET ###
### .NET

* [Newtonsoft.Json.Schema](https://github.com/JamesNK/Newtonsoft.Json.Schema)
* [Manatee.Json](https://github.com/gregsdennis/Manatee.Json)

### PHP ###
### Perl

* [JSON::Schema::Draft201909](https://github.com/karenetheridge/JSON-Schema-Draft201909)
* [JSON::Schema::Tiny](https://github.com/karenetheridge/JSON-Schema-Tiny)
* [Test::JSON::Schema::Acceptance](https://github.com/karenetheridge/Test-JSON-Schema-Acceptance)

### PHP

* [opis/json-schema](https://github.com/opis/json-schema)
* [json-schema](https://github.com/justinrainbow/json-schema)
* [json-guard](https://github.com/thephpleague/json-guard)

### PostgreSQL ###
### PostgreSQL

* [postgres-json-schema](https://github.com/gavinwahl/postgres-json-schema)
* [is_jsonb_valid](https://github.com/furstenheim/is_jsonb_valid)
* [is\_jsonb\_valid](https://github.com/furstenheim/is_jsonb_valid)

### Python ###
### Python

* [jsonschema](https://github.com/Julian/jsonschema)
* [fastjsonschema](https://github.com/seznam/python-fastjsonschema)
* [hypothesis-jsonschema](https://github.com/Zac-HD/hypothesis-jsonschema)
* [jschon](https://github.com/marksparkza/jschon)

### Ruby ###
### Ruby

* [json-schema](https://github.com/hoxworth/json-schema)
* [json_schemer](https://github.com/davishmcclurg/json_schemer)
* [json\_schemer](https://github.com/davishmcclurg/json_schemer)

### Rust ###
### Rust

* [jsonschema](https://github.com/Stranger6667/jsonschema-rs)
* [valico](https://github.com/rustless/valico)

### Swift ###
### Swift

* [JSONSchema](https://github.com/kylef/JSONSchema.swift)

If you use it as well, please fork and send a pull request adding yourself to
the list :).

Contributing
------------
## Contributing

If you see something missing or incorrect, a pull request is most welcome!

There are some sanity checks in place for testing the test suite. You can run
them with `bin/jsonschema_suite check && npm test` or `tox && npm test`. They will be run automatically by
[Travis CI](https://travis-ci.org/) as well.
them with `bin/jsonschema_suite check` or `tox`. They will be run automatically
by [GitHub Actions](https://github.com/json-schema-org/JSON-Schema-Test-Suite/actions?query=workflow%3A%22Test+Suite+Sanity+Checking%22)
as well.
Loading

0 comments on commit 16c234b

Please sign in to comment.