You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+11-12Lines changed: 11 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,8 +16,8 @@ The recommended workflow of this test suite is to clone the `main` branch of thi
16
16
17
17
## Coverage
18
18
19
-
All JSON Schema specification releases should be well covered by this suite, including drafts 2020-12, 2019-09, 07, 06, 04 and 03.
20
-
Drafts 04 and 03 are considered "frozen" in that less effort is put in to backport new tests to these versions.
19
+
All JSON Schema specification releases should be well covered by this suite, including versions draft-2020-12, draft-2019-09, draft-07, draft-06, draft-04 and draft-03.
20
+
Versions draft-04 and draft-03 are considered "frozen" in that less effort is put in to backport new tests to these versions.
21
21
22
22
Additional coverage is always welcome, particularly for bugs encountered in real-world implementations.
23
23
If you see anything missing or incorrect, please feel free to [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).
@@ -31,14 +31,13 @@ Inside that directory is a subdirectory for each released version of the specifi
31
31
32
32
The structure and contents of each file in these directories is described below.
33
33
34
-
In addition to the version-specific subdirectories, two additional directories are present:
34
+
In addition to the version-specific subdirectories, one additional directory is present:
35
35
36
-
1.`draft-next/`: containing tests for the next version of the specification whilst it is in development
37
-
2.`latest/`: a symbolic link which points to the directory which is the most recent release (which may be useful for implementations providing specific entry points for validating against the latest version of the specification)
36
+
1.`latest/`: a symbolic link which points to the directory which is the most recent release (which may be useful for implementations providing specific entry points for validating against the latest version of the specification)
38
37
39
38
Inside each version directory there are a number of `.json` files each containing a collection of related tests.
40
39
Often the grouping is by property under test, but not always.
41
-
In addition to the `.json` files, each version directory contains one or more special subdirectories whose purpose is [described below](#subdirectories-within-each-draft), and which contain additional `.json` files.
40
+
In addition to the `.json` files, each version directory contains one or more special subdirectories whose purpose is [described below](#subdirectories-within-each-version-directory), and which contain additional `.json` files.
42
41
43
42
Each `.json` file consists of a single JSON array of test cases.
44
43
@@ -78,9 +77,9 @@ Here is a single *test case*, containing one or more tests:
78
77
}
79
78
```
80
79
81
-
### Subdirectories Within Each Draft
80
+
### Subdirectories Within Each Version directory
82
81
83
-
There is currently only one additional subdirectory that may exist within each draft test directory.
82
+
There is currently only one additional subdirectory that may exist within each specification version test directory.
84
83
85
84
This is:
86
85
@@ -107,8 +106,8 @@ The precise steps described do not need to be followed exactly, but the results
107
106
108
107
To test a specific version:
109
108
110
-
* For 2019-09 and later published drafts, implementations that are able to detect the draft of each schema via `$schema` SHOULD be configured to do so
111
-
* For draft-07 and earlier, draft-next, and implementations unable to detect via `$schema`, implementations MUST be configured to expect the draft matching the test directory name
109
+
* For 2019-09 and later published versions, implementations that are able to detect the version of each schema via `$schema` SHOULD be configured to do so
110
+
* For draft-07 and earlier, v1 (not yet released), and implementations unable to detect via `$schema`, implementations MUST be configured to expect the version matching the test directory name
112
111
* Load any remote references [described below](#additional-assumptions) and configure your implementation to retrieve them via their URIs
113
112
* Walk the filesystem tree for that version's subdirectory and for each `.json` file found:
114
113
@@ -135,7 +134,7 @@ If your implementation supports multiple versions, run the above procedure for e
135
134
136
135
### Additional Assumptions
137
136
138
-
1. The suite, notably in its `refRemote.json` file in each draft, expects a number of remote references to be configured.
137
+
1. The suite, notably in its `refRemote.json` file in each specification version directory, expects a number of remote references to be configured.
139
138
These are JSON documents, identified by URI, which are used by the suite to test the behavior of the `$ref` keyword (and related keywords).
140
139
Depending on your implementation, you may configure how to "register" these *either*:
141
140
@@ -158,7 +157,7 @@ If your implementation supports multiple versions, run the above procedure for e
158
157
}
159
158
```
160
159
161
-
2. Test cases found within [special subdirectories](#subdirectories-within-each-draft) may require additional configuration to run.
160
+
2. Test cases found within [special subdirectories](#subdirectories-within-each-version-directory) may require additional configuration to run.
162
161
In particular, when running tests within the `optional/format` subdirectory, test runners should configure implementations to enable format validation, where the implementation supports it.
0 commit comments