diff --git a/bowtie-report.html b/bowtie-report.html index 54f29ee..e7475b4 100644 --- a/bowtie-report.html +++ b/bowtie-report.html @@ -119,7 +119,7 @@ Ran - + @@ -230,13 +230,11 @@

@@ -258,12 +256,9 @@

- + - all property names valid + an integer is an integer @@ -283,12 +278,9 @@

- + - some property names invalid + a float with zero fractional part is an integer @@ -297,10 +289,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -308,9 +300,9 @@

- + - object without properties is valid + a float is not an integer @@ -319,10 +311,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -330,20 +322,15 @@

- + - ignores arrays + a string is not an integer + class="text-center "> -
+
- ignores strings + a string is still not an integer, even if it looks like one + class="text-center ">
-
+
- ignores other non-objects + an object is not an integer + class="text-center ">
- - - - - - -
- -

- -

- -
-
- - - - - - + + + + + + - - + + + + + + + + + - + @@ -451,10 +421,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -462,9 +432,9 @@

- + @@ -473,10 +443,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -492,21 +462,21 @@

-

-

-
-
+

Tests - jsonoid - scala -
+ an array is not an integer + -
- object with any properties is valid + a boolean is not an integer
- empty object is valid + null is not an integer
@@ -521,17 +491,15 @@

- + - + @@ -567,56 +535,9 @@

-
- object with any properties is invalid + an integer is a number + class="text-center ">
- empty object is valid + a float with zero fractional part is a number (and an integer)
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -636,12 +557,9 @@

- + @@ -661,12 +579,9 @@

- + @@ -686,17 +601,15 @@

- + - + - + + + + + + + + + + +
Tests - jsonoid - scala -
- both properties present and valid is valid + a float is a number
- one property invalid is invalid + a string is not a number
- both properties invalid is invalid + a string is still not a number, even if it looks like one
- doesn't invalidate other properties + an object is not a number + class="text-center ">
- ignores arrays + an array is not a number + class="text-center ">
- ignores other non-objects + a boolean is not a number + class="text-center "> + + + + + + +
+ null is not a number +
-

-

-
-
+
@@ -807,27 +726,21 @@

- + - @@ -835,29 +748,21 @@

- + - @@ -865,24 +770,21 @@

- + - @@ -890,27 +792,21 @@

- + - @@ -918,24 +814,21 @@

- + - @@ -943,24 +836,21 @@

- + - @@ -968,24 +858,21 @@

- + - @@ -993,24 +880,43 @@

- + - + + + + + + + + + + @@ -1026,24 +932,21 @@

-

-

-
-
+

- property validates property + 1 is not a string + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- property invalidates property + a float is not a string + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- patternProperty invalidates property + a string is a string + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- patternProperty validates nonproperty + a string is still a string, even if it looks like a number + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- patternProperty invalidates nonproperty + an empty string is still a string + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- additionalProperty ignores property + an object is not a string + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- additionalProperty validates others + an array is not a string + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- additionalProperty invalidates others + a boolean is not a string + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> + + +
+ null is not a string + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -1058,9 +961,9 @@

- + @@ -1069,10 +972,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -1080,11 +983,9 @@

- + @@ -1093,10 +994,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -1104,23 +1005,21 @@

- + @@ -1128,18 +1027,15 @@

- + -
- no property present is valid + an integer is not an object
- only 'true' property present is valid + a float is not an object
- only 'false' property present is invalid + a string is not an object + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- both properties present is invalid + an object is an object + class="text-center ">
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - - - - - - + + + + + @@ -1238,16 +1071,9 @@

- + @@ -1267,52 +1093,9 @@

-
Tests - jsonoid - scala -
- object with all numbers is valid - +
+ an array is not an object + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- object with strings is invalid + a boolean is not an object
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -1321,10 +1104,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -1340,35 +1123,21 @@

-

-

-
-
+

Tests - jsonoid - scala -
- allows null values + null is not an object
@@ -1383,15 +1152,15 @@

- + - + - + @@ -1438,10 +1207,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -1449,11 +1218,9 @@

- + @@ -1473,13 +1240,9 @@

- + @@ -1488,10 +1251,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -1499,13 +1262,9 @@

- + @@ -1525,15 +1284,9 @@

- + @@ -1542,10 +1295,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -1561,28 +1314,21 @@

-

-

-
-
+

- ignores arrays + an integer is not an array + class="text-center ">
- ignores other non-objects + a float is not an array + class="text-center ">
- none of the properties mentioned + a string is not an array
- __proto__ not valid + an object is not an array
- toString not valid + an array is an array
- constructor not valid + a boolean is not an array
- all present and valid + null is not an array
@@ -1597,9 +1343,9 @@

- + @@ -1608,10 +1354,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -1619,9 +1365,9 @@

- + @@ -1630,10 +1376,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -1641,9 +1387,9 @@

- + @@ -1663,9 +1409,9 @@

- + @@ -1685,54 +1431,9 @@

-
- first oneOf valid + an integer is not a boolean
- second oneOf valid + zero is not a boolean
- both oneOf valid + a float is not a boolean
- neither oneOf valid + a string is not a boolean
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -1752,9 +1453,9 @@

- + @@ -1763,10 +1464,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -1774,9 +1475,9 @@

- + @@ -1796,63 +1497,21 @@

-
Tests - jsonoid - scala -
- mismatch base schema + an empty string is not a boolean
- one oneOf valid + an object is not a boolean
- both oneOf valid + an array is not a boolean
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - @@ -1860,63 +1519,21 @@

-
Tests - jsonoid - scala -
- any value is invalid + true is a boolean + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - @@ -1924,63 +1541,21 @@

-
Tests - jsonoid - scala -
- any value is valid + false is a boolean + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - @@ -1996,25 +1571,21 @@

-

-

-
-
+

Tests - jsonoid - scala -
- any value is invalid + null is not a boolean + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -2029,22 +1600,21 @@

- + - @@ -2052,69 +1622,9 @@

-
- any value is invalid + an integer is not null + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -2123,10 +1633,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -2134,11 +1644,9 @@

- + @@ -2147,10 +1655,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -2158,12 +1666,9 @@

- + @@ -2183,12 +1688,9 @@

- + @@ -2208,51 +1710,9 @@

-
Tests - jsonoid - scala -
- first oneOf valid (complex) + a float is not null
- second oneOf valid (complex) + zero is not null
- both oneOf valid (complex) + a string is not null
- neither oneOf valid (complex) + an empty string is not null
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -2261,10 +1721,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -2272,9 +1732,9 @@

- + @@ -2294,62 +1754,9 @@

-
Tests - jsonoid - scala -
- one valid - valid + an object is not null
- both valid - invalid + an array is not null
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -2369,12 +1776,9 @@

- + @@ -2383,10 +1787,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -2394,12 +1798,9 @@

- + @@ -2419,32 +1820,6 @@

- - - - - - - - - -
Tests - jsonoid - scala -
- both invalid - invalid + true is not null
- first valid - valid + false is not null
- second valid - valid + null is null
- both valid - invalid - - - - - - - -
@@ -2453,39 +1828,24 @@

-

-

-
-
+
@@ -2500,11 +1860,9 @@

- + @@ -2524,11 +1882,9 @@

- + @@ -2548,12 +1904,9 @@

- + @@ -2573,11 +1926,75 @@

- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2605,29 +2022,23 @@

-

-

-
-
+

- first oneOf valid + an integer is valid
- second oneOf valid + a string is valid
- both oneOf valid + a float is invalid
- neither oneOf valid + an object is invalid + + + + + + + +
+ an array is invalid + + + + + + + +
+ a boolean is invalid + + + + + + + +
+ null is invalid
@@ -2642,9 +2053,9 @@

- + @@ -2664,9 +2075,9 @@

- + @@ -2694,21 +2105,24 @@

-

-

-
-
+

- null is valid + string is valid
- anything non-null is invalid + number is invalid
@@ -2723,9 +2137,13 @@

- + @@ -2745,9 +2163,33 @@

- + + + + + + + + + + + @@ -2767,9 +2209,9 @@

- + @@ -2789,15 +2231,15 @@

- +
- below the exclusiveMaximum is valid + array is valid
- boundary point is invalid + object is valid + + + + + + + +
+ number is invalid
- above the exclusiveMaximum is invalid + string is invalid
- ignores non-numbers + null is invalid + class="text-center ">
-

-

-
-
+
@@ -2854,11 +2294,13 @@

- + @@ -2878,11 +2320,11 @@

- @@ -2891,10 +2333,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -2902,21 +2344,21 @@

- + @@ -2924,15 +2366,15 @@

- + - +
- present required property is valid + array is valid
- non-present required property is invalid + object is valid
- ignores arrays + null is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- ignores strings + number is invalid + class="text-center ">
- ignores other non-objects + string is invalid + class="text-center ">
-

-

-
-
+
@@ -3007,9 +2447,9 @@

- + @@ -3029,49 +2469,9 @@

-
- not required by default + longer is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -3091,60 +2491,9 @@

-
Tests - jsonoid - scala -
- property not required + exact length is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -3153,10 +2502,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -3164,18 +2513,15 @@

- + + + + + + + + + + +
Tests - jsonoid - scala -
- object with all properties present is valid + too short is invalid
- object with some properties missing is invalid + ignores non-strings + class="text-center text-bg-danger">
+ one grapheme is not long enough + + + + + + + +
@@ -3197,25 +2565,21 @@

-

-

-
-
+
@@ -3230,21 +2594,21 @@

- + @@ -3252,15 +2616,15 @@

- + - - - - - -
- ignores arrays + longer is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- ignores other non-objects + too short is invalid + class="text-center ">
- none of the properties mentioned - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + @@ -3309,10 +2686,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -3320,13 +2697,9 @@

- + @@ -3335,10 +2708,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -3346,13 +2719,9 @@

- + @@ -3372,27 +2741,21 @@

- + @@ -3408,21 +2771,21 @@

-

-

-
-
+

Tests
+ jsonoid + scala +
- __proto__ present + below the maximum is valid
- toString present + boundary point is valid
- constructor present + above the maximum is invalid
- all present + ignores non-numbers + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -3437,9 +2800,9 @@

- + @@ -3459,9 +2822,9 @@

- + @@ -3470,10 +2833,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -3481,21 +2844,21 @@

- + @@ -3503,15 +2866,15 @@

- + - +
- a matching pattern is valid + below the maximum is invalid
- a non-matching pattern is invalid + boundary point integer is valid
- ignores booleans + boundary point float is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- ignores integers + above the maximum is invalid + class="text-center ">
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -3547,15 +2947,15 @@

- + - + - + @@ -3621,21 +3021,21 @@

Tests + jsonoid + scala +
- ignores floats + below the exclusiveMaximum is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- ignores objects + boundary point is invalid + class="text-center ">
- ignores arrays + above the exclusiveMaximum is invalid + class="text-center ">
- ignores null + ignores non-numbers
@@ -3650,9 +3050,43 @@

- + + + + + + + + + + + @@ -3661,10 +3095,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -3680,25 +3114,21 @@

-

-

-
-
+

- matches a substring + valid definition schema + + + + + + + +
+ invalid definition schema
@@ -3713,9 +3143,9 @@

- + @@ -3735,17 +3165,15 @@

- + - + @@ -3784,35 +3209,46 @@

- - - - - -
- neither + int by int
- nondependant + int by int fail + class="text-center text-bg-danger">
- with dependency + ignores non-numbers + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- missing dependency - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + @@ -3832,9 +3268,9 @@

- + @@ -3854,15 +3290,15 @@

- +
Tests
+ jsonoid + scala +
- ignores arrays + zero is multiple of anything
- ignores strings + 4.5 is multiple of 1.5
- ignores other non-objects + 35 is not multiple of 1.5 + class="text-center text-bg-danger">
-

-

-
-
+
@@ -3915,33 +3349,9 @@

- - - - - - - - - - - + @@ -3961,15 +3371,15 @@

- +
- empty object - - - - - - - -
- object with one property + 0.0075 is multiple of 0.0001
- non-object is valid + 0.00751 is not multiple of 0.0001 + class="text-center text-bg-danger">
-

-

-
-
+
@@ -4025,9 +3431,9 @@

- + @@ -4036,10 +3442,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -4047,38 +3453,47 @@

- - - - - -
- neither + always invalid, but naive implementations may raise an overflow error
- nondependants - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + @@ -4098,49 +3513,60 @@

- - - - - -
Tests
+ jsonoid + scala +
- with dependencies + any integer is a multiple of 1e-8
- missing dependency - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + - @@ -4148,23 +3574,24 @@

- - @@ -4180,28 +3607,25 @@

-

-

-
-
+

Tests
+ jsonoid + scala +
- missing other dependency + with no unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- missing both dependencies + with unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -4216,49 +3640,22 @@

- + - - - - - - - - - - - @@ -4266,24 +3663,24 @@

- - @@ -4291,23 +3688,24 @@

- - @@ -4323,21 +3721,22 @@

- CRLF + with no unevaluated properties + - - - -
- quoted quotes - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- CRLF missing dependent + with valid unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- quoted quotes missing dependent + with invalid unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -4352,21 +3751,22 @@

- + - @@ -4374,21 +3774,24 @@

- + - @@ -4404,21 +3807,27 @@

- remote ref valid + with no unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- remote ref invalid + with unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -4433,21 +3842,24 @@

- + - @@ -4455,21 +3867,25 @@

- + - @@ -4485,21 +3901,27 @@

- remote fragment valid + with no unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- remote fragment invalid + with unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -4514,21 +3936,24 @@

- + - @@ -4536,21 +3961,25 @@

- + - @@ -4566,21 +3995,28 @@

- remote anchor valid + with no unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- remote anchor invalid + with unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -4595,21 +4031,24 @@

- + - @@ -4617,21 +4056,25 @@

- + - @@ -4647,27 +4090,36 @@

-

-

-
-
+

- ref within ref valid + with no additional properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- ref within ref invalid + with additional properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -4682,25 +4134,25 @@

- + - @@ -4708,25 +4160,26 @@

- - + - @@ -4742,36 +4195,36 @@

-

-

-
-
+

- base URI change ref valid + with no additional properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- base URI change ref invalid +
+ with additional properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -4786,25 +4239,25 @@

- - @@ -4812,25 +4265,26 @@

- - @@ -4846,40 +4300,32 @@

-

-

-
-
+

- number is valid + with no additional properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- string is invalid + with additional properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -4894,25 +4340,24 @@

- - @@ -4920,25 +4365,25 @@

- - @@ -4954,27 +4399,35 @@

-

-

-
-
+

- number is valid + with no additional properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- string is invalid + with additional properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -4989,47 +4442,24 @@

- - - - - - - - - - - - @@ -5037,25 +4467,25 @@

- - @@ -5071,22 +4501,59 @@

- string is valid + with no nested unevaluated properties + - - - -
- null is valid - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- object is invalid + with nested unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -5101,23 +4568,25 @@

- - @@ -5125,23 +4594,26 @@

- - @@ -5149,58 +4621,26 @@

-
- invalid + when one matches and has no unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- valid + when one matches and has unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - @@ -5208,21 +4648,27 @@

- + - @@ -5238,26 +4684,49 @@

-

-

-
-
+

Tests - jsonoid - scala -
- integer is valid + when two match and has no unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- string is invalid + when two match and has unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -5272,25 +4741,25 @@

- - @@ -5298,25 +4767,26 @@

- - @@ -5332,102 +4802,39 @@

- number is invalid + with no unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- string is valid + with unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Tests - jsonoid - scala -
- number is invalid - - - - - - - -
- string is valid - - - - - - - -
-
-
- -
- -
- -

-

-
-
+
@@ -5442,43 +4849,25 @@

- + - - - - - - - - - - - @@ -5494,21 +4883,52 @@

- number is invalid + with unevaluated properties + - - - -
- string is valid - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
@@ -5523,21 +4943,25 @@

- + - @@ -5545,21 +4969,26 @@

- + - @@ -5567,58 +4996,24 @@

-
- number is invalid + when if is true and has no unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- string is valid + when if is true and has unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - @@ -5626,21 +5021,25 @@

- + - @@ -5656,21 +5055,42 @@

-

-

-
-
+

Tests - jsonoid - scala -
- number is valid + when if is false and has no unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- non-number is invalid + when if is false and has unevaluated properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -5685,9 +5105,12 @@

- + @@ -5708,11 +5131,13 @@

- + @@ -5733,46 +5158,11 @@

-
- with no unevaluated items + when if is true and has no unevaluated properties
- with unevaluated items + when if is true and has unevaluated properties
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -5793,11 +5183,12 @@

- + @@ -5826,23 +5217,42 @@

-

-

-
-
+

Tests - jsonoid - scala -
- with no unevaluated items + when if is false and has no unevaluated properties
- with unevaluated items + when if is false and has unevaluated properties
@@ -5857,9 +5267,12 @@

- + @@ -5880,11 +5293,13 @@

- + @@ -5905,11 +5320,11 @@

- + @@ -5930,52 +5345,12 @@

-
- with no unevaluated items + when if is true and has no unevaluated properties
- with valid unevaluated items + when if is true and has unevaluated properties
- with invalid unevaluated items + when if is false and has no unevaluated properties
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -6004,26 +5379,39 @@

-

-

-
-
+

Tests - jsonoid - scala -
- unevaluatedItems doesn't apply + when if is false and has unevaluated properties
@@ -6038,11 +5426,12 @@

- + @@ -6063,12 +5452,11 @@

- + @@ -6097,27 +5485,30 @@

-

-

-
-
+

- with no unevaluated items + with no unevaluated properties
- with unevaluated items + with unevaluated properties
@@ -6132,12 +5523,36 @@

- + + + + + + + + + + + @@ -6166,26 +5581,37 @@

-

-

-
-
+

- unevaluatedItems doesn't apply + with no unevaluated properties + + + + + + + + +
+ with unevaluated properties
@@ -6200,27 +5626,24 @@

- + - @@ -6228,26 +5651,25 @@

- + - @@ -6263,36 +5685,37 @@

-

-

-
-
+

- valid under items + with no unevaluated properties + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- invalid under items + with unevaluated properties + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -6307,25 +5730,24 @@

- + - @@ -6333,26 +5755,25 @@

- + - @@ -6368,31 +5789,50 @@

-

-

-
-
+

- with no unevaluated items + with no unevaluated properties + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- with unevaluated items + with unevaluated properties + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -6407,38 +5847,12 @@

- - - - - - - - - - - + @@ -6459,12 +5873,13 @@

- + @@ -6493,31 +5908,30 @@

-

-

-
-
+

- with only (valid) additional items - - - - - - - - -
- with no additional items + with no unevaluated properties
- with invalid additional item + with unevaluated properties
@@ -6532,11 +5946,11 @@

- + @@ -6557,13 +5971,57 @@

- +
- with no additional items + always fails
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -6592,33 +6050,32 @@

-

-

-
-
+

Tests + jsonoid + scala +
- with additional items + always fails
@@ -6633,11 +6090,11 @@

- + @@ -6658,13 +6115,12 @@

- + @@ -6693,45 +6149,32 @@

-

-

-
-
+

- with no additional items + with no nested unevaluated properties
- with additional items + with nested unevaluated properties
@@ -6746,12 +6189,11 @@

- + @@ -6772,13 +6214,12 @@

- + @@ -6799,13 +6240,59 @@

- +
- when one schema matches and has no unevaluated items + with no nested unevaluated properties
- when one schema matches and has unevaluated items + with nested unevaluated properties
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -6826,14 +6313,12 @@

- + @@ -6862,44 +6347,32 @@

-

-

-
-
+

Tests + jsonoid + scala +
- when two schemas match and has no unevaluated items + with no nested unevaluated properties
- when two schemas match and has unevaluated items + with nested unevaluated properties
@@ -6914,12 +6387,11 @@

- + @@ -6940,13 +6412,12 @@

- + @@ -6975,36 +6446,34 @@

-

-

-
-
+

- with no unevaluated items + with no nested unevaluated properties
- with unevaluated items + with nested unevaluated properties
@@ -7019,12 +6488,37 @@

- + + + + + + + + + + + @@ -7053,53 +6547,34 @@

-

-

-
-
+

- with unevaluated items + with no nested unevaluated properties + + + + + + + + +
+ with nested unevaluated properties
@@ -7114,13 +6589,11 @@

- + @@ -7141,14 +6614,12 @@

- + @@ -7169,14 +6640,74 @@

- +
- when if matches and it has no unevaluated items + with no nested unevaluated properties
- when if matches and it has unevaluated items + with nested unevaluated properties
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -7197,15 +6728,14 @@

- + @@ -7234,24 +6764,36 @@

-

-

-
-
+

Tests + jsonoid + scala +
- when if doesn't match and it has no unevaluated items + no extra properties
- when if doesn't match and it has unevaluated items + uncle keyword evaluation is not significant
@@ -7266,9 +6808,12 @@

- + @@ -7289,11 +6834,36 @@

- + + + + + + + + + + + @@ -7322,37 +6892,36 @@

-

-

-
-
+

- with no unevaluated items + base case: both properties present
- with unevaluated items + in place applicator siblings, bar is missing + + + + + + + + +
+ in place applicator siblings, foo is missing
@@ -7367,12 +6936,12 @@

- + @@ -7381,10 +6950,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -7392,13 +6961,35 @@

- + + + + + + + + + + + @@ -7407,10 +6998,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -7426,37 +7017,27 @@

-

-

-
-
+

- with no unevaluated items + base case: both properties present
- with unevaluated items + in place applicator siblings, bar is missing + + + + + + + +
+ in place applicator siblings, foo is missing
@@ -7471,24 +7052,22 @@

- + - @@ -7496,25 +7075,24 @@

- + - @@ -7522,79 +7100,12 @@

-
- with no unevaluated items + Empty is valid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- with unevaluated items + Single is valid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -7615,13 +7126,13 @@

- + @@ -7642,57 +7153,14 @@

-
Tests - jsonoid - scala -
- with no unevaluated items + Unevaluated on 1st level is invalid
- with unevaluated items + Nested is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -7713,73 +7181,15 @@

-
Tests - jsonoid - scala -
- always fails + Unevaluated on 2nd level is invalid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - @@ -7800,14 +7210,16 @@

- @@ -7836,27 +7248,61 @@

-

-

-
-
+

Tests - jsonoid - scala -
- no extra items + Deep nested is valid
- uncle keyword evaluation is not significant + Unevaluated on 3rd level is invalid
@@ -7871,12 +7317,9 @@

- + @@ -7897,12 +7340,12 @@

- + @@ -7923,13 +7366,12 @@

- + @@ -7950,66 +7392,12 @@

-
- second item is evaluated by contains + Empty is invalid (no x or y)
- contains fails, second item is not evaluated + a and b are invalid (no x or y)
- contains passes, second item is not evaluated + x and y are invalid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -8030,15 +7418,12 @@

- + @@ -8059,65 +7444,13 @@

-
Tests - jsonoid - scala -
- 5 not evaluated, passes unevaluatedItems + a and x are valid
- 7 not evaluated, fails unevaluatedItems + a and y are valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -8138,12 +7471,13 @@

- + @@ -8164,15 +7498,14 @@

- + @@ -8193,16 +7526,110 @@

- +
Tests - jsonoid - scala -
- empty array is valid + a and b and x are valid
- only a's are valid + a and b and y are valid
- a's and b's are valid + a and b and x and y are invalid
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -8223,12 +7650,11 @@

- + @@ -8249,12 +7675,11 @@

- + @@ -8275,15 +7700,11 @@

- + @@ -8304,15 +7725,11 @@

- + @@ -8333,46 +7750,12 @@

-
Tests + jsonoid + scala +
- a's, b's and c's are valid + Empty is invalid
- only b's are invalid + a is valid
- only c's are invalid + b is valid
- only b's and c's are invalid + c is valid
- only a's and c's are invalid + d is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -8393,9 +7776,12 @@

- + @@ -8416,9 +7802,12 @@

- + @@ -8439,9 +7828,12 @@

- + @@ -8462,9 +7854,12 @@

- + @@ -8485,9 +7880,12 @@

- + @@ -8508,50 +7906,11 @@

-
Tests - jsonoid - scala -
- ignores booleans + a + b is invalid
- ignores integers + a + c is invalid
- ignores floats + a + d is invalid
- ignores objects + b + c is invalid
- ignores strings + b + d is invalid
- ignores null + c + d is invalid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -8572,55 +7931,12 @@

-
Tests - jsonoid - scala -
- allows null elements + xx is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -8641,11 +7957,12 @@

- + @@ -8666,66 +7983,38 @@

-
Tests - jsonoid - scala -
- valid in case if is evaluated + xx + foox is valid
- invalid in case if is evaluated + xx + foo is invalid
-
-
- -
- -
- -

- -

- -
-
- - - - - - + + + + + + - - + + + + + + + + + + - @@ -8746,11 +8035,12 @@

- @@ -8771,58 +8061,50 @@

-
Tests - jsonoid - scala -
+ xx + a is invalid + -
- passing case + xx + b is invalid
- failing case + xx + c is invalid
-
-
- -
- -
- -

- -

- -
-
- - - - - - + + + + + + - - + + + + + + + + + + - + - @@ -8830,21 +8112,25 @@

- + - @@ -8852,21 +8138,25 @@

- + - @@ -8882,21 +8172,21 @@

-

-

-
-
+

Tests - jsonoid - scala -
+ xx + d is invalid + -
- a valid JSON document + all is valid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- an invalid JSON document; validates true + all + foo is valid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- ignores non-strings + all + a is invalid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -8911,43 +8201,22 @@

- + - - - - - - - - - - - @@ -8955,21 +8224,22 @@

- + - @@ -8977,59 +8247,22 @@

-
- a valid base64 string + ignores booleans + - - - -
- an invalid base64 string (% is not a valid character); validates true - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- ignores non-strings + ignores integers + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - @@ -9037,21 +8270,22 @@

- + - @@ -9059,21 +8293,22 @@

- + - @@ -9081,21 +8316,22 @@

- + - @@ -9111,33 +8347,23 @@

-

-

-
-
+

Tests - jsonoid - scala -
- a valid base64-encoded JSON document + ignores floats + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- a validly-encoded invalid JSON document; validates true + ignores arrays + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- an invalid base64 string that is valid JSON; validates true + ignores strings + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- ignores non-strings + ignores null + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -9152,43 +8378,24 @@

- + - - - - - - - - - - - @@ -9196,43 +8403,66 @@

- - - - - -
- a valid base64-encoded JSON document + allows null valued properties + - - - -
- another valid base64-encoded JSON document - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- an invalid base64-encoded JSON document; validates true - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + - @@ -9240,21 +8470,24 @@

- + - @@ -9262,43 +8495,68 @@

- - - - - -
Tests
+ jsonoid + scala +
- an empty object as a base64-encoded JSON document; validates true + allows only number properties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- an empty array as a base64-encoded JSON document + string property is invalid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- a validly-encoded invalid JSON document; validates true - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + - @@ -9306,21 +8564,24 @@

- + - @@ -9336,27 +8597,32 @@

-

-

-
-
+

Tests
+ jsonoid + scala +
- an invalid base64 string that is valid JSON; validates true + valid in case if is evaluated + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- ignores non-strings + invalid in case if is evaluated + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -9371,23 +8637,24 @@

- - @@ -9395,23 +8662,24 @@

- - @@ -9419,23 +8687,25 @@

- - @@ -9451,21 +8721,42 @@

- applicator vocabulary still works + unevaluatedProperties doesn't consider dependentSchemas + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- no validation: valid number + unevaluatedProperties doesn't see bar when foo2 is absent + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- no validation: invalid number, but it still validates + unevaluatedProperties sees bar when foo2 is present + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -9480,15 +8771,18 @@

- + - + @@ -9513,10 +8809,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -9524,59 +8820,11 @@

-
- string value + allOf + class="text-center text-bg-danger">
- number value + mismatch second
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -9585,10 +8833,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -9596,24 +8844,24 @@

- + @@ -9629,31 +8877,50 @@

-

-

-
-
+

Tests - jsonoid - scala -
- An array of strings is valid + mismatch first
- An array containing non-strings is invalid + wrong type + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -9668,24 +8935,25 @@

- + @@ -9693,24 +8961,24 @@

- + @@ -9718,65 +8986,43 @@

-
- An array of strings is valid + valid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- An array containing non-strings is invalid + mismatch base schema + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - + + + + + + - - + + + + + + + + + - + - + @@ -9823,41 +9068,28 @@

-

-

-
-
+

Tests - jsonoid - scala -
+ mismatch first allOf + -
- An array of strings is valid + mismatch second allOf + class="text-center ">
- An array containing non-strings is invalid + mismatch both
@@ -9872,24 +9104,21 @@

- + @@ -9897,12 +9126,9 @@

- + @@ -9930,42 +9156,24 @@

- An array of strings is valid + valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- An array containing non-strings is invalid + mismatch one
@@ -9980,12 +9188,9 @@

- + @@ -9994,10 +9199,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -10005,12 +9210,49 @@

- +
- An array of strings is invalid + any value is valid
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -10019,10 +9261,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -10038,45 +9280,24 @@

Tests + jsonoid + scala +
- An array of numbers is valid + any value is invalid
@@ -10091,12 +9312,9 @@

- + @@ -10105,35 +9323,10 @@

class="text-center text-bg-danger"> - - - - - - - -

- - - - - - - @@ -10149,41 +9342,23 @@

- An array of strings is valid + any value is invalid
- An array containing non-strings is invalid - - - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -10198,24 +9373,21 @@

- + @@ -10231,41 +9403,24 @@

- Any array is valid + any data is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -10280,24 +9435,21 @@

- + @@ -10313,42 +9465,26 @@

-

-

-
-
+

- Any array is valid + any data is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -10363,18 +9499,37 @@

- + + + + + + + + + + +
- Any array is valid + number is valid + class="text-center "> + + + + + + +
+ string is invalid +
-

-

-
-
+
@@ -10454,28 +9585,21 @@

- + @@ -10483,16 +9607,9 @@

- + @@ -10520,50 +9637,29 @@

-

-

-
-
+

- The recursive part is valid against the root + number is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- The recursive part is not valid against the root + string is invalid
@@ -10578,22 +9674,37 @@

- + + + + + + + + + + +
- The recursive part doesn't need to validate against the root + null is valid + class="text-center "> + + + + + + +
+ anything non-null is invalid +
-

-

-
-
+
@@ -10698,27 +9769,43 @@

- + - + + + + + + + + + + @@ -10726,27 +9813,43 @@

- + - + + + + + + + + + + @@ -10754,27 +9857,43 @@

- + - + + + + + + + + + + @@ -10782,27 +9901,43 @@

- + - + + + + + + + + + + @@ -10818,55 +9953,23 @@

-

-

-
-
+

- number list with number values + allOf: false, anyOf: false, oneOf: false + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> + + +
+ allOf: false, anyOf: false, oneOf: true + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- number list with string values + allOf: false, anyOf: true, oneOf: false + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> + + +
+ allOf: false, anyOf: true, oneOf: true + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- string list with number values + allOf: true, anyOf: false, oneOf: false + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> + + +
+ allOf: true, anyOf: false, oneOf: true + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- string list with string values + allOf: true, anyOf: true, oneOf: false + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> + + +
+ allOf: true, anyOf: true, oneOf: true + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -10881,45 +9984,21 @@

- - - - - - - - - - - + - @@ -10927,22 +10006,21 @@

- + - @@ -10958,24 +10036,26 @@

-

-

-
-
+

- string matches /$defs/thingy, but the $dynamicRef does not stop here - - - - - - - - -
- first_scope is not in dynamic scope for the $dynamicRef + allowed + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- /then/$defs/thingy is the final stop for the $dynamicRef + disallowed + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -10990,15 +10070,9 @@

- + @@ -11007,10 +10081,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -11018,15 +10092,9 @@

- + @@ -11035,10 +10103,32 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> + + + + + +

+ + + + + + + @@ -11054,34 +10144,28 @@

- instance with misspelled field + valid
- instance with correct field + mismatch
+ other mismatch + + + + +
@@ -11096,11 +10180,9 @@

- + @@ -11109,10 +10191,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -11120,15 +10202,11 @@

- @@ -11137,10 +10215,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -11148,15 +10226,11 @@

- @@ -11165,10 +10239,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -11184,40 +10258,25 @@

-

-

-
-
+

- incorrect parent schema + match
- incorrect extended schema + other match
- correct extended schema + mismatch
@@ -11232,39 +10291,12 @@

- - - - - - - - - - - @@ -11284,15 +10316,12 @@

- @@ -11320,40 +10349,21 @@

-

-

-
-
+

- incorrect parent schema - - - - - - - -
- incorrect extended schema + property present
- correct extended schema + property absent
@@ -11368,23 +10378,21 @@

- + @@ -11392,27 +10400,21 @@

- + @@ -11420,15 +10422,9 @@

- + @@ -11437,10 +10433,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -11448,45 +10444,9 @@

-
- incorrect parent schema + number is invalid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- incorrect extended schema + string is invalid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- correct extended schema + boolean true is invalid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -11495,10 +10455,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -11506,21 +10466,21 @@

- + @@ -11528,65 +10488,17 @@

-
Tests - jsonoid - scala -
- number is valid + boolean false is invalid
- non-number is invalid + null is invalid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - - + @@ -11624,86 +10534,11 @@

-
Tests - jsonoid - scala -
- follow $dynamicRef to a true schema + object is invalid + class="text-center text-bg-danger">
- follow $dynamicRef to a false schema + empty object is invalid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -11712,10 +10547,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -11723,25 +10558,21 @@

- + @@ -11757,42 +10588,21 @@

-

-

-
-
+

Tests - jsonoid - scala -
- integer property passes + array is invalid
- string property fails + empty array is invalid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -11807,12 +10617,9 @@

- + @@ -11821,10 +10628,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -11832,23 +10639,21 @@

- + @@ -11856,23 +10661,21 @@

- + @@ -11880,24 +10683,135 @@

- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11913,50 +10827,21 @@

-

-

-
-
+

- allOf + number is invalid
- mismatch second + string is invalid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- mismatch first + boolean true is invalid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
+ boolean false is invalid + + + + + + + +
+ null is invalid + + + + + + + +
- wrong type + object is invalid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> + + +
+ empty object is invalid + + + + + + + +
+ array is invalid + + + + + + + +
+ empty array is invalid + + + + +
@@ -11971,25 +10856,21 @@

- + @@ -11997,12 +10878,9 @@

- + @@ -12011,10 +10889,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -12022,12 +10900,9 @@

- + @@ -12036,10 +10911,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -12047,12 +10922,9 @@

- + @@ -12061,10 +10933,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -12072,11 +10944,9 @@

- + @@ -12085,10 +10955,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -12096,53 +10966,11 @@

-
- valid + number is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- mismatch base schema + string is valid
- mismatch first allOf + boolean true is valid
- mismatch second allOf + boolean false is valid
- mismatch both + null is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -12162,9 +10990,9 @@

- + @@ -12173,10 +11001,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -12184,49 +11012,33 @@

-
Tests - jsonoid - scala -
- valid + object is valid
- mismatch one + empty object is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - + + + + + + - - + + + + + + + + + - + @@ -12254,24 +11066,23 @@

-

-

-
-
+

Tests - jsonoid - scala -
+ array is valid + -
- any value is valid + empty array is valid
@@ -12286,15 +11097,15 @@

- +
- any value is invalid + any value is valid + class="text-center ">
-

-

-
-
+
@@ -12348,15 +11167,17 @@

- + -
- any value is invalid + unevaluated property + class="text-center ">
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - +
Tests - jsonoid - scala -
- any data is valid + annotations are still collected inside a 'not' + class="text-center text-bg-danger">
-

-

-
-
+
@@ -12471,9 +11256,11 @@

- + @@ -12493,51 +11280,12 @@

-
- any data is valid + a single valid match is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -12557,9 +11305,12 @@

- + @@ -12579,51 +11330,12 @@

-
Tests - jsonoid - scala -
- number is valid + multiple valid matches is valid
- string is invalid + a single invalid match is invalid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -12632,10 +11344,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -12643,15 +11355,17 @@

- + -
Tests - jsonoid - scala -
- number is valid + multiple invalid matches is invalid
- string is invalid + ignores arrays + class="text-center text-bg-danger">
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -12732,15 +11401,15 @@

- +
Tests - jsonoid - scala -
- null is valid + ignores strings + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- anything non-null is invalid + ignores other non-objects + class="text-center text-bg-danger">
-

-

-
-
+
@@ -12805,15 +11467,17 @@

- + - + - + - + @@ -12893,9 +11564,11 @@

- + @@ -12915,21 +11588,24 @@

- + @@ -12937,9 +11613,55 @@

- +
- allOf: false, anyOf: false, oneOf: false + a single valid match is valid + class="text-center ">
- allOf: false, anyOf: false, oneOf: true + a simultaneous match is valid + class="text-center ">
- allOf: false, anyOf: true, oneOf: false + multiple matches is valid + class="text-center ">
- allOf: false, anyOf: true, oneOf: true + an invalid due to one is invalid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- allOf: true, anyOf: false, oneOf: false + an invalid due to the other is invalid
- allOf: true, anyOf: false, oneOf: true + an invalid due to both is invalid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -12948,10 +11670,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -12959,9 +11681,11 @@

- + @@ -12970,10 +11694,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -12981,60 +11705,23 @@

-
Tests + jsonoid + scala +
- allOf: true, anyOf: true, oneOf: false + non recognized members are ignored
- allOf: true, anyOf: true, oneOf: true + recognized members are accounted for
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -13042,21 +11729,23 @@

- + @@ -13072,26 +11761,24 @@

-

-

-
-
+

Tests - jsonoid - scala -
- allowed + regexes are case sensitive + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- disallowed + regexes are case sensitive, 2 + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -13106,9 +11793,11 @@

- + @@ -13128,9 +11817,11 @@

- + @@ -13150,9 +11841,12 @@

- + @@ -13172,83 +11866,17 @@

-
- valid + object with property matching schema true is valid
- mismatch + object with property matching schema false is invalid
- other mismatch + object with both properties is invalid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - - - - - - - - - - - - +
Tests - jsonoid - scala -
- match - - - - - - - -
- other match + object with a property matching both true and false is invalid + class="text-center text-bg-danger">
- mismatch + empty object is valid + class="text-center ">
-

-

-
-
+
@@ -13327,12 +11953,11 @@

- @@ -13341,35 +11966,10 @@

class="text-center "> - - - - - - - -

- - - - - - - @@ -13385,21 +11985,21 @@

-

-

-
-
+

- property present + allows null values
- property absent - - - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -13414,15 +12014,15 @@

- + - + - + - +
- number is invalid + a valid JSON document + class="text-center ">
- string is invalid + an invalid JSON document; validates true + class="text-center ">
- boolean true is invalid + ignores non-strings + class="text-center ">
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - + - + - +
Tests + jsonoid + scala +
- boolean false is invalid + a valid base64 string + class="text-center ">
- null is invalid + an invalid base64 string (% is not a valid character); validates true + class="text-center ">
- object is invalid + ignores non-strings + class="text-center ">
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - + - + + + + + + + + + + +
Tests + jsonoid + scala +
- empty object is invalid + a valid base64-encoded JSON document + class="text-center ">
- array is invalid + a validly-encoded invalid JSON document; validates true + class="text-center ">
- empty array is invalid + an invalid base64 string that is valid JSON; validates true + class="text-center "> + + + + + + +
+ ignores non-strings +
-

-

-
-
+
@@ -13653,37 +12358,15 @@

- - - - - - - - - - - + - + - + - + - + - + - + - +
- number is invalid - - - - - - - -
- string is invalid + a valid base64-encoded JSON document + class="text-center ">
- boolean true is invalid + another valid base64-encoded JSON document + class="text-center ">
- boolean false is invalid + an invalid base64-encoded JSON document; validates true + class="text-center ">
- null is invalid + an empty object as a base64-encoded JSON document; validates true + class="text-center ">
- object is invalid + an empty array as a base64-encoded JSON document + class="text-center ">
- empty object is invalid + a validly-encoded invalid JSON document; validates true + class="text-center ">
- array is invalid + an invalid base64 string that is valid JSON; validates true + class="text-center ">
- empty array is invalid + ignores non-strings + class="text-center ">
-

-

-
-
+
@@ -13892,9 +12576,11 @@

- + @@ -13914,9 +12600,9 @@

- + @@ -13936,9 +12622,54 @@

- +
- number is valid + valid when property is specified
- string is valid + still valid when the invalid default is used
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -13958,9 +12689,9 @@

- + @@ -13980,9 +12711,55 @@

- +
Tests + jsonoid + scala +
- boolean true is valid + valid when property is specified
- boolean false is valid + still valid when the invalid default is used
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -14002,11 +12779,11 @@

- @@ -14015,10 +12792,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -14026,9 +12803,9 @@

- + @@ -14048,12 +12825,104 @@

- - +
Tests + jsonoid + scala +
- null is valid + an explicit property value is checked against maximum (passing)
- object is valid + an explicit property value is checked against maximum (failing)
- empty object is valid + missing properties are not filled in with the default
- array is valid -
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14061,10 +12930,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -14072,9 +12941,13 @@

- + @@ -14083,10 +12956,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -14102,23 +12975,28 @@

-

-

-
-
+

Tests + jsonoid + scala +
+ match + + + + + + + +
+ recursive match + + + + + + + +
+ mismatch +
- empty array is valid + recursive mismatch
@@ -14133,9 +13011,35 @@

- + + + + + + + + + + + @@ -14144,10 +13048,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -14163,32 +13067,28 @@

-

-

-
-
+

- any value is valid + match + + + + + + + +
+ mismatch
@@ -14203,23 +13103,24 @@

- + @@ -14227,23 +13128,24 @@

- + @@ -14259,21 +13161,42 @@

-

-

-
-
+

- unevaluated property + match array + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- annotations are still collected inside a 'not' + mismatch array + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -14288,12 +13211,11 @@

- @@ -14302,10 +13224,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -14313,11 +13235,11 @@

- @@ -14326,10 +13248,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -14337,21 +13259,23 @@

- + @@ -14359,9 +13283,11 @@

- + @@ -14381,9 +13307,11 @@

- + @@ -14403,9 +13331,11 @@

- + @@ -14433,21 +13363,32 @@

- longer is valid + slash invalid
- exact length is valid + tilde invalid
- too short is invalid + percent invalid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- ignores arrays + slash valid
- ignores strings + tilde valid
- ignores other non-objects + percent valid
@@ -14462,24 +13403,21 @@

- + @@ -14487,21 +13425,21 @@

- + @@ -14517,21 +13455,31 @@

-

-

-
-
+

- longer is valid + nested ref valid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- too short is invalid + nested ref invalid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -14546,11 +13494,39 @@

- + + + + + + + + + + + @@ -14559,10 +13535,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -14570,9 +13546,11 @@

- + @@ -14581,10 +13559,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -14600,24 +13578,21 @@

- one item valid against lone minContains + ref valid, maxItems valid + + + + + + + +
+ ref valid, maxItems invalid
- zero items still valid against lone minContains + ref invalid
@@ -14632,47 +13607,23 @@

- - - - - - - - - - - + - @@ -14680,24 +13631,23 @@

- + - @@ -14705,25 +13655,64 @@

- - - +
- empty data - - - - - - - - -
- no elements match + remote ref valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- single element matches, valid minContains + remote ref invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- some elements match, valid minContains -
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + + - @@ -14731,25 +13720,23 @@

- + - @@ -14765,24 +13752,30 @@

-

-

-
-
+

Tests + jsonoid + scala +
+ property named $ref valid + + + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- all elements match, valid minContains + property named $ref invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -14797,22 +13790,23 @@

- + - @@ -14820,24 +13814,23 @@

- + - @@ -14845,25 +13838,61 @@

- +
- empty data + property named $ref valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- all elements match, invalid minContains + property named $ref invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -14871,25 +13900,61 @@

- +
Tests + jsonoid + scala +
- some elements match, invalid minContains + any value is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -14897,26 +13962,125 @@

- +
Tests + jsonoid + scala +
- all elements match, valid minContains (exactly as needed) + any value is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -14924,26 +14088,53 @@

- + - @@ -14959,24 +14150,30 @@

-

-

-
-
+

Tests + jsonoid + scala +
- all elements match, valid minContains (more than needed) + valid tree + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- some elements match, valid minContains + invalid tree + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -14991,24 +14188,23 @@

- + - @@ -15016,25 +14212,23 @@

- + - @@ -15050,25 +14244,31 @@

-

-

-
-
+

- one element matches, invalid minContains + object with numbers is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- both elements match, valid minContains + object with strings is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -15083,87 +14283,11 @@

- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -15192,25 +14316,30 @@

-

-

-
-
+

- empty data - - - - - - - - -
- all elements match, invalid minContains - - - - - - - - -
- all elements match, invalid maxContains - - - - - - - - -
- all elements match, valid maxContains and minContains + referenced subschema doesn't see annotations from properties
@@ -15225,47 +14354,21 @@

- - - - - - - - - - - + - @@ -15273,26 +14376,23 @@

- + - @@ -15300,25 +14400,23 @@

- + - @@ -15334,24 +14432,37 @@

-

-

-
-
+

- empty data - - - - - - - - -
- invalid minContains + do not evaluate the $ref inside the enum, matching any string + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- invalid maxContains + do not evaluate the $ref inside the enum, definition exact match + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- invalid maxContains and minContains + match the enum exactly + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -15366,22 +14477,26 @@

- + - @@ -15389,24 +14504,53 @@

- + - + + + + + + + + + + @@ -15422,25 +14566,37 @@

-

-

-
-
+

- empty data + invalid on inner field + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- minContains = 0 makes contains always pass + invalid on outer field + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> + + +
+ valid on both fields + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -15455,22 +14611,26 @@

- + - @@ -15478,24 +14638,26 @@

- + - @@ -15503,25 +14665,26 @@

- + - @@ -15537,25 +14700,39 @@

-

-

-
-
+

- empty data + invalid on inner field + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- not more than maxContains + invalid on outer field + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- too many + valid on both fields + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -15570,67 +14747,15 @@

- - - - - - - - - - - - - - - - - - - - - + - + @@ -15669,11 +14791,60 @@

- +
- a single valid match is valid - - - - - - - -
- multiple valid matches is valid - - - - - - - -
- a single invalid match is invalid + number is valid + class="text-center text-bg-danger">
- multiple invalid matches is invalid + non-number is invalid
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -15693,37 +14864,15 @@

- + - - - - - - - - - -
Tests + jsonoid + scala +
- ignores arrays + data is valid against first definition
- ignores strings + data is invalid against first definition - - - - - - -
- ignores other non-objects - + class="text-center ">
-

-

-
-
+
@@ -15781,23 +14938,21 @@

- + @@ -15805,11 +14960,9 @@

- + @@ -15818,10 +14971,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -15829,60 +14982,55 @@

- - - - - -
- a single valid match is valid + data is valid against first definition + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- a simultaneous match is valid + data is invalid against first definition
- multiple matches is valid - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + - @@ -15891,10 +15039,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -15902,12 +15050,11 @@

- @@ -15935,28 +15082,32 @@

-

-

-
-
+

Tests
- an invalid due to one is invalid - + + jsonoid + scala +
- an invalid due to the other is invalid + valid under the URN IDed schema
- an invalid due to both is invalid + invalid under the URN IDed schema
@@ -15971,11 +15122,11 @@

- @@ -15995,11 +15146,11 @@

- @@ -16019,11 +15170,59 @@

- + + URN base URI with NSS + + + + +
+
+
- non recognized members are ignored + a string is valid
- recognized members are accounted for + a non-string is invalid
+ + + + + + + + + + + @@ -16043,11 +15242,11 @@

- @@ -16075,24 +15274,32 @@

-

-

-
-
+

Tests + jsonoid + scala +
- regexes are case sensitive + a string is valid
- regexes are case sensitive, 2 + a non-string is invalid
@@ -16107,23 +15314,23 @@

- @@ -16131,23 +15338,23 @@

- @@ -16155,36 +15362,59 @@

- - - - - -
- object with property matching schema true is valid + a string is valid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- object with property matching schema false is invalid + a non-string is invalid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- object with both properties is invalid - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - @@ -16193,10 +15423,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -16204,9 +15434,11 @@

- + @@ -16215,10 +15447,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -16234,25 +15466,31 @@

-

-

-
-
+

Tests
+ jsonoid + scala +
- object with a property matching both true and false is invalid + a string is valid
- empty object is valid + a non-string is invalid
@@ -16267,11 +15505,35 @@

- + + + + + + + + + + @@ -16280,10 +15542,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -16299,27 +15561,32 @@

-

-

-
-
+

- allows null values + a string is valid + + + + + + + +
+ a non-string is invalid
@@ -16334,9 +15601,11 @@

- + @@ -16356,9 +15625,11 @@

- + @@ -16386,28 +15657,32 @@

-

-

-
-
+

- match + a string is valid
- mismatch + a non-string is invalid
@@ -16422,9 +15697,9 @@

- + @@ -16444,9 +15719,9 @@

- + @@ -16474,33 +15749,25 @@

- match + a string is valid
- mismatch + a non-string is invalid
@@ -16515,21 +15782,22 @@

- + - @@ -16537,21 +15805,22 @@

- + - @@ -16567,38 +15836,25 @@

- match + a non-integer is invalid due to the $ref + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- mismatch + an integer is valid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -16613,21 +15869,22 @@

- + - @@ -16635,21 +15892,22 @@

- + - @@ -16665,32 +15923,25 @@

-

-

-
-
+

- $ref resolves to /$defs/A/allOf/1 + a non-integer is invalid due to the $ref + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- $ref does not resolve to /$defs/A/allOf/0 + an integer is valid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -16705,36 +15956,9 @@

- - - - - - - - - - - + @@ -16743,10 +15967,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -16754,12 +15978,9 @@

- + @@ -16768,10 +15989,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -16779,37 +16000,57 @@

- - - - - -
- valid - - - - - - - -
- no dependency + a non-integer is invalid due to the $ref
- wrong type + an integer is valid
- wrong type other - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + @@ -16818,10 +16059,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -16829,11 +16070,9 @@

- + @@ -16842,10 +16081,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -16853,21 +16092,64 @@

- +
Tests
+ jsonoid + scala +
- wrong type both + a string is valid
- ignores arrays + an integer is invalid
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -16875,9 +16157,9 @@

- + @@ -16886,10 +16168,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -16905,24 +16187,27 @@

Tests + jsonoid + scala +
- ignores strings + number is valid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- ignores other non-objects + non-number is invalid
@@ -16937,23 +16222,21 @@

- + @@ -16961,23 +16244,21 @@

- + @@ -16985,12 +16266,59 @@

- +
- object with property having schema true is valid + number is valid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- object with property having schema false is invalid + non-number is invalid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -16999,10 +16327,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -17010,9 +16338,9 @@

- + @@ -17021,10 +16349,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -17040,30 +16368,28 @@

-

-

-
-
+

Tests + jsonoid + scala +
- object with both properties is invalid + number is valid
- empty object is valid + non-number is invalid
@@ -17078,14 +16404,12 @@

- @@ -17105,25 +16429,24 @@

- + @@ -17131,24 +16454,24 @@

- @@ -17156,11 +16479,11 @@

- @@ -17169,10 +16492,54 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> + + + + + +

+ + + + + + + + + + + + + + + + + @@ -17188,31 +16555,37 @@

-

-

-
-
+

- quoted tab + both properties present and valid is valid
- quoted quote + one property invalid is invalid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- quoted tab invalid under dependent schema + both properties invalid is invalid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- quoted quote invalid under dependent schema + doesn't invalidate other properties
+ ignores arrays + + + + + + + +
+ ignores other non-objects + + + + +
@@ -17227,11 +16600,14 @@

- @@ -17252,11 +16628,16 @@

- @@ -17277,12 +16658,11 @@

- @@ -17303,11 +16683,14 @@

- @@ -17328,58 +16711,24 @@

-
- matches root + property validates property
- matches dependency + property invalidates property
- matches both + patternProperty invalidates property
- no dependency + patternProperty validates nonproperty
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - @@ -17387,21 +16736,24 @@

- + - @@ -17409,21 +16761,24 @@

- + - @@ -17431,21 +16786,24 @@

- + - @@ -17453,31 +16811,49 @@

- - - - - -
Tests - jsonoid - scala -
- an integer is an integer + patternProperty invalidates nonproperty + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- a float with zero fractional part is an integer + additionalProperty ignores property + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- a float is not an integer + additionalProperty validates others + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- a string is not an integer + additionalProperty invalidates others + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- a string is still not an integer, even if it looks like one - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + @@ -17486,10 +16862,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -17497,9 +16873,11 @@

- + @@ -17508,10 +16886,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -17519,21 +16897,23 @@

- + @@ -17541,21 +16921,24 @@

- + @@ -17571,21 +16954,40 @@

-

-

-
-
+

Tests
+ jsonoid + scala +
- an object is not an integer + no property present is valid
- an array is not an integer + only 'true' property present is valid
- a boolean is not an integer + only 'false' property present is invalid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- null is not an integer + both properties present is invalid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -17600,9 +17002,16 @@

- + @@ -17622,9 +17031,16 @@

- + @@ -17633,10 +17049,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -17644,9 +17060,52 @@

- +
- an integer is a number + object with all numbers is valid
- a float with zero fractional part is a number (and an integer) + object with strings is invalid
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -17666,15 +17125,66 @@

- +
Tests + jsonoid + scala +
- a float is a number + allows null values
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - + - + @@ -17721,10 +17231,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -17732,9 +17242,11 @@

- + @@ -17754,9 +17266,13 @@

- + @@ -17776,9 +17292,13 @@

- + @@ -17798,6 +17318,34 @@

+ + + + + + + + + +
Tests + jsonoid + scala +
- a string is not a number + ignores arrays + class="text-center text-bg-danger">
- a string is still not a number, even if it looks like one + ignores other non-objects + class="text-center text-bg-danger">
- an object is not a number + none of the properties mentioned
- an array is not a number + __proto__ not valid
- a boolean is not a number + toString not valid
- null is not a number + constructor not valid
+ all present and valid + + + + + + + +
@@ -17806,21 +17354,21 @@

-

-

-
-
+
@@ -17835,53 +17383,11 @@

- - - - - - - - - - - - - - - - - - - - - + @@ -17901,9 +17407,9 @@

- + @@ -17923,21 +17429,62 @@

- +
- 1 is not a string - - - - - - - -
- a float is not a string - - - - - - - -
- a string is a string + one item valid against lone minContains
- a string is still a string, even if it looks like a number + zero items still valid against lone minContains
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -17945,21 +17492,24 @@

- + - @@ -17967,21 +17517,24 @@

- + - @@ -17989,21 +17542,25 @@

- + - @@ -18011,21 +17568,25 @@

- + - @@ -18041,21 +17602,24 @@

-

-

-
-
+

Tests + jsonoid + scala +
- an empty string is still a string + empty data + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- an object is not a string + no elements match + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- an array is not a string + single element matches, valid minContains + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- a boolean is not a string + some elements match, valid minContains + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- null is not a string + all elements match, valid minContains + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -18070,43 +17634,22 @@

- + - - - - - - - - - - - @@ -18114,21 +17657,24 @@

- + - @@ -18136,21 +17682,25 @@

- + - @@ -18158,21 +17708,25 @@

- + - @@ -18180,21 +17734,26 @@

- + - @@ -18202,21 +17761,26 @@

- + - @@ -18232,21 +17796,24 @@

-

-

-
-
+

- an integer is not an object + empty data + - - - -
- a float is not an object - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- a string is not an object + all elements match, invalid minContains + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- an object is an object + some elements match, invalid minContains + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- an array is not an object + all elements match, valid minContains (exactly as needed) + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- a boolean is not an object + all elements match, valid minContains (more than needed) + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- null is not an object + some elements match, valid minContains + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -18261,21 +17828,24 @@

- + - @@ -18283,21 +17853,25 @@

- + - @@ -18305,43 +17879,63 @@

- - - - - -
- an integer is not an array + one element matches, invalid minContains + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- a float is not an array + both elements match, valid minContains + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- a string is not an array - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + - @@ -18349,21 +17943,24 @@

- + - @@ -18371,21 +17968,26 @@

- + - @@ -18393,21 +17995,25 @@

- + - @@ -18423,21 +18029,25 @@

-

-

-
-
+

Tests
+ jsonoid + scala +
- an object is not an array + empty data + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- an array is an array + all elements match, invalid minContains + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- a boolean is not an array + all elements match, invalid maxContains + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- null is not an array + all elements match, valid maxContains and minContains + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -18452,21 +18062,22 @@

- + - @@ -18474,43 +18085,24 @@

- + - - - - - - - - - - - @@ -18518,43 +18110,26 @@

- + - - - - - - - - - - - @@ -18562,43 +18137,25 @@

- + - - - - - - - - - - - @@ -18606,43 +18163,62 @@

- - - - - -
- an integer is not a boolean + empty data + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- zero is not a boolean + invalid minContains + - - - -
- a float is not a boolean - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- a string is not a boolean + invalid maxContains + - - - -
- an empty string is not a boolean - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- an object is not a boolean + invalid maxContains and minContains + - - - -
- an array is not a boolean - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- true is a boolean - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + - @@ -18650,21 +18226,24 @@

- + - @@ -18680,21 +18259,25 @@

-

-

-
-
+

Tests
+ jsonoid + scala +
- false is a boolean + empty data + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- null is not a boolean + minContains = 0 makes contains always pass + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -18709,21 +18292,22 @@

- + - @@ -18731,21 +18315,24 @@

- + - @@ -18753,21 +18340,25 @@

- + - @@ -18775,43 +18366,66 @@

- - - - - -
- an integer is not null + empty data + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- a float is not null + not more than maxContains + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- zero is not null + too many + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- a string is not null - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + @@ -18819,9 +18433,11 @@

- + @@ -18830,10 +18446,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -18841,9 +18457,11 @@

- + @@ -18852,10 +18470,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -18863,31 +18481,46 @@

- - - - - -
Tests
+ jsonoid + scala +
- an empty string is not null + applicator vocabulary still works + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- an object is not null + no validation: valid number
- an array is not null + no validation: invalid number, but it still validates
- true is not null - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + @@ -18907,9 +18540,9 @@

- + @@ -18937,24 +18570,21 @@

-

-

-
-
+

Tests
+ jsonoid + scala +
- false is not null + string value
- null is null + number value
@@ -18969,9 +18599,11 @@

- + @@ -18991,9 +18623,12 @@

- + @@ -19013,43 +18648,25 @@

- - - - - - - - - - - + @@ -19057,15 +18674,19 @@

- + - + - +
- an integer is valid + shorter is valid
- a string is valid + exact length is valid
- a float is invalid - - - - - - - -
- an object is invalid + too long is invalid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- an array is invalid + ignores arrays + class="text-center text-bg-danger">
- a boolean is invalid + ignores strings + class="text-center text-bg-danger">
- null is invalid + ignores other non-objects + class="text-center text-bg-danger">
-

-

-
-
+
@@ -19162,9 +18781,11 @@

- + @@ -19184,21 +18805,25 @@

- + @@ -19214,24 +18839,21 @@

-

-

-
-
+

- string is valid + shorter is valid
- number is invalid + too long is invalid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -19246,13 +18868,9 @@

- + @@ -19272,17 +18890,17 @@

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- array is valid + no properties is valid
- object is valid + one property is invalid + class="text-center text-bg-danger">
- number is invalid - - - - - - - -
- string is invalid - - - - - - - -
- null is invalid - - - - - - - -
@@ -19370,25 +18922,23 @@

-

-

-
-
+
@@ -19403,13 +18953,12 @@

- + @@ -19429,17 +18978,18 @@

- - + @@ -19475,15 +19025,42 @@

- + + + + + + + + + + + - + + + + + + + + + +
- array is valid + all property names valid
- object is valid + some property names invalid + class="text-center text-bg-danger">
- null is valid + object without properties is valid
+ ignores arrays + + + + + + + +
- number is invalid + ignores strings + class="text-center text-bg-danger">
- string is invalid + ignores other non-objects + class="text-center text-bg-danger">
-

-

-
-
+
@@ -19556,9 +19133,11 @@

- + @@ -19578,31 +19157,9 @@

- - - - - - - - - - - + @@ -19611,10 +19168,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -19630,24 +19187,21 @@

-

-

-
-
+

- same value is valid + object with any properties is valid
- another value is invalid - - - - - - - -
- another type is invalid + empty object is valid
@@ -19662,18 +19216,17 @@

- - + @@ -19712,55 +19262,6 @@

- - - - - - - - - - - - - - - - - - - -
- same object is valid + object with any properties is invalid + class="text-center text-bg-danger">
- same object with different property order is valid + empty object is valid
- another object is invalid - - - - - - - -
- another type is invalid - - - - - - - -
@@ -19769,25 +19270,32 @@

-

-

-
-
+
@@ -19802,13 +19310,12 @@

- + @@ -19828,11 +19335,11 @@

- + @@ -19841,10 +19348,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -19852,25 +19359,24 @@

- + @@ -19878,52 +19384,18 @@

-
- same array is valid + valid
- another array item is invalid + no dependency
- array with additional items is invalid + wrong type + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - + @@ -19959,46 +19434,11 @@

-
Tests - jsonoid - scala -
- null is valid + wrong type other + class="text-center text-bg-danger">
- not null is invalid + wrong type both + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -20018,9 +19458,9 @@

- + @@ -20029,10 +19469,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -20040,9 +19480,9 @@

- + @@ -20051,10 +19491,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -20070,21 +19510,24 @@

-

-

-
-
+

Tests - jsonoid - scala -
- false is valid + ignores arrays
- integer zero is invalid + ignores strings
- float zero is invalid + ignores other non-objects
@@ -20099,9 +19542,11 @@

- + @@ -20121,21 +19566,23 @@

- + @@ -20143,21 +19590,24 @@

- + @@ -20165,31 +19615,60 @@

-
- true is valid + object with property having schema true is valid
- integer one is invalid + object with property having schema false is invalid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- float one is invalid + object with both properties is invalid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
-
-
- -
- -
- -

-

+ empty object is valid + + + + + + + +
+
+
+ +
+ +
+ +

+

-
-
+
@@ -20204,11 +19683,14 @@

- + @@ -20228,23 +19710,25 @@

- + @@ -20252,23 +19736,48 @@

- + + + + + + + + + + + @@ -20284,23 +19793,31 @@

-

-

-
-
+

- [false] is valid + quoted tab
- [0] is invalid + quoted quote + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- [0.0] is invalid + quoted tab invalid under dependent schema + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> + + +
+ quoted quote invalid under dependent schema + + + + +
@@ -20315,23 +19832,24 @@

- + - @@ -20339,23 +19857,24 @@

- + - @@ -20363,23 +19882,50 @@

- + - + + + + + + + + + + @@ -20395,23 +19941,21 @@

-

-

-
-
+

- [true] is valid + matches root + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- [1] is invalid + matches dependency + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- [1.0] is invalid + matches both + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + + + +
+ no dependency + + + + + +
@@ -20426,11 +19970,12 @@

- + @@ -20450,11 +19995,33 @@

- + + + + + + + + + + + @@ -20474,17 +20041,15 @@

- +
- {"a": false} is valid + longer is valid
- {"a": 0} is invalid + exact length is valid + + + + + + + +
+ too short is invalid
- {"a": 0.0} is invalid + ignores non-arrays + class="text-center text-bg-danger">
-

-

-
-
+
@@ -20537,11 +20100,12 @@

- + @@ -20561,35 +20125,9 @@

- - - - - - - - - - - + @@ -20617,21 +20155,23 @@

-

-

-
-
+

- {"a": true} is valid + longer is valid
- {"a": 1} is invalid - - - - - - - -
- {"a": 1.0} is invalid + too short is invalid
@@ -20646,31 +20186,13 @@

- - - - - - - - - - - + @@ -20690,31 +20212,12 @@

- - - - - - - - - - - + @@ -20734,15 +20237,17 @@

- + - +
- false is invalid - - - - - - - -
- integer zero is valid + valid items
- float zero is valid - - - - - - - -
- empty object is invalid + wrong type of items
- empty array is invalid + ignores non-arrays + class="text-center text-bg-danger">
- empty string is invalid + JavaScript pseudo-array is valid + class="text-center text-bg-danger">
-

-

-
-
+
@@ -20815,9 +20323,13 @@

- + @@ -20826,10 +20338,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -20837,9 +20349,9 @@

- + @@ -20859,28 +20371,6 @@

- - - - - - - - - -
- true is invalid + any array is valid
- integer one is valid + empty array is valid
- float one is valid - - - - - - - -
@@ -20889,21 +20379,21 @@

-

-

-
-
+
@@ -20918,15 +20408,19 @@

- + - + @@ -20951,76 +20445,10 @@

class="text-center "> - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -21036,21 +20464,53 @@

-

-

-
-
+

- integer -2 is valid + any non-empty array is invalid + class="text-center ">
- integer 2 is invalid + empty array is valid
- float -2.0 is valid - - - - - - - -
- float 2.0 is invalid - - - - - - - -
- float -2.00001 is invalid - - - - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -21065,21 +20525,46 @@

- + @@ -21087,9 +20572,42 @@

- + @@ -21109,15 +20627,43 @@

- + - + @@ -21153,46 +20719,32 @@

-
- integer is valid + valid items + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- integer minus one is invalid + too many items
- float is valid + too many sub-items + class="text-center ">
- float minus one is invalid + wrong item
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -21201,10 +20753,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -21212,15 +20764,26 @@

- +
Tests - jsonoid - scala -
- match string with nul + wrong sub-item
- do not match string lacking nul + fewer items is valid + class="text-center text-bg-danger">
-

-

-
-
+
@@ -21276,11 +20846,38 @@

- + @@ -21300,9 +20897,83 @@

- + + + + + + + + + + + @@ -21311,10 +20982,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -21330,27 +21001,26 @@

-

-

-
-
+

- valid when property is specified + valid nested array
+ nested array with invalid type + + + + + + + +
- still valid when the invalid default is used + not deep enough
@@ -21365,23 +21035,21 @@

- + @@ -21389,21 +21057,23 @@

- + @@ -21411,67 +21081,24 @@

-
- valid when property is specified + empty array + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- still valid when the invalid default is used + fewer number of items present (1) + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -21479,11 +21106,13 @@

- + @@ -21492,10 +21121,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -21503,9 +21132,14 @@

- + @@ -21514,10 +21148,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -21533,22 +21167,32 @@

-

-

-
-
+

Tests - jsonoid - scala -
- an explicit property value is checked against maximum (passing) + fewer number of items present (2) + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- an explicit property value is checked against maximum (failing) + equal number of items present
- missing properties are not filled in with the default + additional items are not permitted
@@ -21563,22 +21207,24 @@

- + - @@ -21586,24 +21232,24 @@

- + - @@ -21619,25 +21265,28 @@

-

-

-
-
+

- with no unevaluated properties + prefixItems in allOf does not constrain items, invalid case + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- with unevaluated properties + prefixItems in allOf does not constrain items, valid case + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -21652,34 +21301,13 @@

- - - - - - - - - - - + @@ -21700,11 +21328,12 @@

- + @@ -21733,22 +21362,24 @@

-

-

-
-
+

- with no unevaluated properties - - - - - - - - -
- with valid unevaluated properties + valid items
- with invalid unevaluated properties + wrong type of second item
@@ -21763,22 +21394,25 @@

- + - @@ -21786,24 +21420,23 @@

- + - @@ -21819,27 +21452,23 @@

-

-

-
-
+

- with no unevaluated properties + heterogeneous invalid instance + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- with unevaluated properties + valid instance + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -21854,50 +21483,23 @@

- - - - - - - - - - - + - @@ -21913,27 +21515,21 @@

-

-

-
-
+

- with no unevaluated properties - - - - - - - - -
- with unevaluated properties + allows null elements + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -21948,24 +21544,21 @@

- + - @@ -21973,25 +21566,21 @@

- + - @@ -21999,68 +21588,21 @@

-
- with no unevaluated properties + above the minimum is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- with unevaluated properties + boundary point is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - @@ -22068,25 +21610,21 @@

- + - @@ -22102,36 +21640,21 @@

-

-

-
-
+

Tests - jsonoid - scala -
- with no additional properties + below the minimum is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- with additional properties + ignores non-numbers + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -22146,25 +21669,21 @@

- + - @@ -22172,26 +21691,21 @@

- + - @@ -22199,77 +21713,65 @@

-
- with no additional properties + negative above the minimum is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- with additional properties + positive above the minimum is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - + + + + + + - - + + + + + + + + + - + - + + + + + + + + + + @@ -22277,26 +21779,43 @@

- + - + + + + + + + + + + @@ -22312,32 +21831,21 @@

Tests - jsonoid - scala -
+ boundary point is valid + -
- with no additional properties + boundary point with float is valid + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> + + +
+ float below the minimum is invalid + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- with additional properties + int below the minimum is invalid + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> + + +
+ ignores non-numbers + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -22352,24 +21860,21 @@

- + - @@ -22377,25 +21882,21 @@

- + - @@ -22411,35 +21912,21 @@

- with no additional properties + remote ref valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- with additional properties + remote ref invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -22454,24 +21941,21 @@

- + - @@ -22479,25 +21963,21 @@

- + - @@ -22513,59 +21993,21 @@

- with no nested unevaluated properties + remote fragment valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- with nested unevaluated properties + remote fragment invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -22580,25 +22022,21 @@

- + - @@ -22606,26 +22044,21 @@

- + - @@ -22633,26 +22066,58 @@

- +
- when one matches and has no unevaluated properties + remote anchor valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- when one matches and has unevaluated properties + remote anchor invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -22660,27 +22125,21 @@

- + - @@ -22696,49 +22155,27 @@

-

-

-
-
+

Tests + jsonoid + scala +
- when two match and has no unevaluated properties + ref within ref valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- when two match and has unevaluated properties + ref within ref invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -22753,25 +22190,25 @@

- + - @@ -22779,26 +22216,25 @@

- + - @@ -22814,39 +22250,36 @@

-

-

-
-
+

- with no unevaluated properties + base URI change ref valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- with unevaluated properties + base URI change ref invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -22861,25 +22294,51 @@

- - + + + + + + + + + + @@ -22895,52 +22354,40 @@

-

-

-
-
+

- with unevaluated properties + number is valid + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> + + +
+ string is invalid + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -22955,77 +22402,25 @@

- - - - - - - - - - - - - - - - - - - - - - @@ -23033,25 +22428,25 @@

- - @@ -23067,42 +22462,27 @@

-

-

-
-
+

- when if is true and has no unevaluated properties - - - - - - - - -
- when if is true and has unevaluated properties - - - - - - - - -
- when if is false and has no unevaluated properties + number is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- when if is false and has unevaluated properties + string is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -23117,52 +22497,23 @@

- - - - - - - - - - - - @@ -23170,24 +22521,23 @@

- - @@ -23195,25 +22545,25 @@

- - @@ -23229,42 +22579,22 @@

- when if is true and has no unevaluated properties - - - - - - - - -
- when if is true and has unevaluated properties + string is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- when if is false and has no unevaluated properties + null is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- when if is false and has unevaluated properties + object is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -23279,25 +22609,23 @@

- - @@ -23305,26 +22633,23 @@

- - @@ -23332,24 +22657,58 @@

- +
- when if is true and has no unevaluated properties + invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- when if is true and has unevaluated properties + valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -23357,25 +22716,21 @@

- + - @@ -23391,39 +22746,26 @@

-

-

-
-
+

Tests + jsonoid + scala +
- when if is false and has no unevaluated properties + integer is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- when if is false and has unevaluated properties + string is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -23438,25 +22780,25 @@

- - @@ -23464,24 +22806,25 @@

- - @@ -23497,30 +22840,21 @@

- with no unevaluated properties + number is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- with unevaluated properties + string is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -23535,24 +22869,21 @@

- + - @@ -23560,24 +22891,21 @@

- + - @@ -23593,37 +22921,21 @@

- with no unevaluated properties + number is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- with unevaluated properties + string is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -23638,18 +22950,15 @@

- + - +
- with no unevaluated properties + number is invalid + class="text-center ">
- with unevaluated properties + string is valid + class="text-center text-bg-danger">
-

-

-
-
+
@@ -23742,18 +23031,15 @@

- + - +
- with no unevaluated properties + number is invalid + class="text-center ">
- with unevaluated properties + string is valid + class="text-center text-bg-danger">
-

-

-
-
+
@@ -23859,25 +23112,21 @@

- + - @@ -23885,26 +23134,21 @@

- + - @@ -23920,30 +23164,23 @@

-

-

-
-
+

- with no unevaluated properties + number is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- with unevaluated properties + non-number is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -23958,11 +23195,13 @@

- + @@ -23983,57 +23222,13 @@

-
- always fails + array with item matching schema (5) is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -24054,59 +23249,14 @@

-
Tests - jsonoid - scala -
- always fails + array with item matching schema (6) is valid
-
-
- -
- - - -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -24226,12 +23327,9 @@

- + @@ -24260,32 +23358,23 @@

-

-

-
-
+

Tests - jsonoid - scala -
- with no nested unevaluated properties + empty array is invalid
- with nested unevaluated properties + not array is valid
@@ -24300,11 +23389,13 @@

- + @@ -24325,12 +23416,42 @@

- + + + + + + + + + + + @@ -24359,32 +23480,21 @@

-

-

-
-
+

- with no nested unevaluated properties + array with item 5 is valid
- with nested unevaluated properties + array with two items 5 is valid + + + + + + + + +
+ array without item 5 is invalid
@@ -24399,11 +23509,11 @@

- + @@ -24424,12 +23534,9 @@

- + @@ -24458,34 +23565,21 @@

-

-

-
-
+

- with no nested unevaluated properties + any non-empty array is valid
- with nested unevaluated properties + empty array is invalid
@@ -24500,11 +23594,11 @@

- + @@ -24525,12 +23619,32 @@

- + + + + + + + + + + + @@ -24559,34 +23673,26 @@

-

-

-
-
+

- with no nested unevaluated properties + any non-empty array is invalid
- with nested unevaluated properties + empty array is invalid + + + + + + + + +
+ non-arrays are valid
@@ -24601,11 +23707,13 @@

- + @@ -24626,12 +23734,13 @@

- + @@ -24652,74 +23761,12 @@

-
- with no nested unevaluated properties + matches items, does not match contains
- with nested unevaluated properties + does not match items, matches contains
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -24740,14 +23787,12 @@

- + @@ -24776,36 +23821,24 @@

-

-

-
-
+

Tests - jsonoid - scala -
- no extra properties + matches both items and contains
- uncle keyword evaluation is not significant + matches neither items nor contains
@@ -24820,12 +23853,11 @@

- + @@ -24846,11 +23878,9 @@

- + @@ -24871,11 +23901,50 @@

- +
- base case: both properties present + any non-empty array is valid
- in place applicator siblings, bar is missing + empty array is invalid
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -24904,36 +23973,21 @@

-

-

-
-
+

Tests + jsonoid + scala +
- in place applicator siblings, foo is missing + allows null items
@@ -24948,18 +24002,15 @@

- + - + @@ -24997,23 +24046,21 @@

- + @@ -25021,65 +24068,21 @@

-
- base case: both properties present + a matching pattern is valid + class="text-center ">
- in place applicator siblings, bar is missing + a non-matching pattern is invalid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- in place applicator siblings, foo is missing + ignores booleans + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - @@ -25087,24 +24090,21 @@

- + - @@ -25112,25 +24112,21 @@

- + - @@ -25138,26 +24134,21 @@

- + - @@ -25165,27 +24156,21 @@

- + - @@ -25193,58 +24178,143 @@

- - - - - - - +
Tests - jsonoid - scala -
- Empty is valid + ignores integers + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- Single is valid + ignores floats + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- Unevaluated on 1st level is invalid + ignores objects + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- Nested is valid + ignores arrays + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- Unevaluated on 2nd level is invalid + ignores null + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- Deep nested is valid - - - - - - - - -
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + + + + + + + - +
Tests + jsonoid + scala +
+ matches a substring + + + + + + + +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - + + + + + + + + + + @@ -25260,61 +24330,29 @@

-

-

-
-
+

Tests + jsonoid + scala +
- Unevaluated on 3rd level is invalid + one of the enum is valid + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> + + +
+ something else is invalid + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -25329,22 +24367,21 @@

- + - @@ -25352,25 +24389,21 @@

- + - @@ -25378,25 +24411,23 @@

- - @@ -25404,25 +24435,23 @@

- - @@ -25430,25 +24459,24 @@

- - @@ -25456,26 +24484,61 @@

- +
- Empty is invalid (no x or y) + one of the enum is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- a and b are invalid (no x or y) + something else is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- x and y are invalid + objects are deep compared + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- a and x are valid + valid object matches + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- a and y are valid + extra properties in object is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -25483,26 +24546,21 @@

- + - @@ -25510,27 +24568,21 @@

- + - @@ -25546,85 +24598,36 @@

-

-

-
-
+

Tests + jsonoid + scala +
- a and b and x are valid + null is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- a and b and y are valid + number is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- a and b and x and y are invalid + something else is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -25639,22 +24642,24 @@

- + - @@ -25662,24 +24667,24 @@

- - @@ -25687,24 +24692,24 @@

- - @@ -25712,24 +24717,23 @@

- - @@ -25737,24 +24741,23 @@

- - @@ -25762,25 +24765,21 @@

- + - @@ -25788,25 +24787,61 @@

- +
- Empty is invalid + both properties are valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- a is valid + wrong foo value + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- b is valid + wrong bar value + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- c is valid + missing optional property is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- d is valid + missing required property is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- a + b is invalid + missing all properties is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -25814,25 +24849,21 @@

- + - @@ -25840,25 +24871,21 @@

- + - @@ -25866,25 +24893,60 @@

- +
Tests + jsonoid + scala +
- a + c is invalid + member 1 is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- a + d is invalid + member 2 is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- b + c is invalid + another string is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -25892,25 +24954,21 @@

- + - @@ -25918,24 +24976,21 @@

- + - @@ -25943,25 +24998,64 @@

- +
Tests + jsonoid + scala +
- b + d is invalid + false is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- c + d is invalid + integer zero is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- xx is valid + float zero is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -25969,25 +25063,23 @@

- + - @@ -25995,25 +25087,23 @@

- + - @@ -26021,25 +25111,60 @@

- +
Tests + jsonoid + scala +
- xx + foox is valid + [false] is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- xx + foo is invalid + [0] is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- xx + a is invalid + [0.0] is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -26047,25 +25172,21 @@

- + - @@ -26073,25 +25194,21 @@

- + - @@ -26099,24 +25216,64 @@

- +
Tests + jsonoid + scala +
- xx + b is invalid + true is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- xx + c is invalid + integer one is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- xx + d is invalid + float one is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -26124,25 +25281,23 @@

- + - @@ -26150,25 +25305,23 @@

- + - @@ -26184,21 +25337,23 @@

-

-

-
-
+

Tests + jsonoid + scala +
- all is valid + [true] is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- all + foo is valid + [1] is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- all + a is invalid + [1.0] is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -26213,45 +25368,21 @@

- + - - - - - - - - - - - @@ -26259,22 +25390,21 @@

- + - @@ -26282,68 +25412,21 @@

- + - - - - - - - - - - - - - - - - - - - - - @@ -26359,23 +25442,25 @@

-

-

-
-
+

- ignores booleans - - - - - - - - -
- ignores integers + false is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- ignores floats + integer zero is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- ignores arrays + float zero is valid + - - - - -
- ignores strings - - - - - - - - -
- ignores null - - - - - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -26390,24 +25475,23 @@

- + - @@ -26415,66 +25499,23 @@

-
- allows null valued properties + [false] is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - @@ -26482,24 +25523,23 @@

- + - @@ -26515,28 +25555,23 @@

-

-

-
-
+

Tests - jsonoid - scala -
- allows only number properties + [0] is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- string property is invalid + [0.0] is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -26551,24 +25586,21 @@

- + - @@ -26576,24 +25608,43 @@

- + - + + + + + + + + + + @@ -26609,32 +25660,25 @@

-

-

-
-
+

- valid in case if is evaluated + true is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- invalid in case if is evaluated + integer one is valid + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> + + +
+ float one is valid + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -26649,24 +25693,23 @@

- + - @@ -26674,24 +25717,23 @@

- + - @@ -26699,25 +25741,23 @@

- + - @@ -26733,21 +25773,23 @@

- unevaluatedProperties doesn't consider dependentSchemas + [true] is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- unevaluatedProperties doesn't see bar when foo2 is absent + [1] is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- unevaluatedProperties sees bar when foo2 is present + [1.0] is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -26762,27 +25804,21 @@

- + @@ -26790,15 +25826,9 @@

- + @@ -26826,21 +25856,28 @@

-

-

-
-
+

- valid definition schema + match string with nul + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- invalid definition schema + do not match string lacking nul
@@ -26855,11 +25892,9 @@

- + @@ -26879,12 +25914,9 @@

- + @@ -26904,13 +25936,9 @@

- + @@ -26930,15 +25958,15 @@

- +
- shorter is valid + first oneOf valid
- exact length is valid + second oneOf valid
- too long is invalid + both oneOf valid
- ignores non-arrays + neither oneOf valid + class="text-center ">
-

-

-
-
+
@@ -26989,11 +26025,31 @@

- + + + + + + + + + + + @@ -27013,13 +26069,9 @@

- + @@ -27047,23 +26099,25 @@

-

-

-
-
+

- shorter is valid + mismatch base schema + + + + + + + +
+ one oneOf valid
- too long is invalid + both oneOf valid
@@ -27078,18 +26132,14 @@

- + - - +
- array with item matching schema (5) is valid + any value is invalid +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - - - - - - -
Tests + jsonoid + scala +
- array with item matching schema (6) is valid + any value is valid +
- array with two items matching schema (5, 6) is valid - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - - + + + + + - + - - - - - - -
Tests
+ jsonoid + scala +
- array without items matching schema is invalid + any value is invalid +
- empty array is invalid - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - - + + + + + - + -
Tests
+ jsonoid + scala +
- not array is valid + any value is invalid +
-

-

-
-
+
@@ -27272,26 +26405,23 @@

- + - @@ -27299,27 +26429,23 @@

- + - @@ -27327,27 +26453,49 @@

- + - + + + + + + + + + + @@ -27363,21 +26511,26 @@

-

-

-
-
+

- array with item 5 is valid + first oneOf valid (complex) + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- array with two items 5 is valid + second oneOf valid (complex) + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- array without item 5 is invalid + both oneOf valid (complex) + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> + + +
+ neither oneOf valid (complex) + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -27392,24 +26545,21 @@

- + - @@ -27417,22 +26567,21 @@

- + - @@ -27448,21 +26597,35 @@

-

-

-
-
+

- any non-empty array is valid + one valid - valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- empty array is invalid + both valid - invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -27477,24 +26640,23 @@

- + - @@ -27502,22 +26664,24 @@

- + - @@ -27525,22 +26689,50 @@

- + - + + + + + + + + + + @@ -27556,26 +26748,39 @@

-

-

-
-
+

- any non-empty array is invalid + both invalid - invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- empty array is invalid + first valid - valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- non-arrays are valid + second valid - valid + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> + + +
+ both valid - invalid + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -27590,26 +26795,23 @@

- + - @@ -27617,26 +26819,23 @@

- + - @@ -27644,25 +26843,24 @@

- + - @@ -27670,25 +26868,23 @@

- + - @@ -27704,24 +26900,29 @@

-

-

-
-
+

- matches items, does not match contains + first oneOf valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- does not match items, matches contains + second oneOf valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- matches both items and contains + both oneOf valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- matches neither items nor contains + neither oneOf valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -27736,24 +26937,21 @@

- + - @@ -27761,86 +26959,21 @@

- + - - - - - - - - -
- any non-empty array is valid + null is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- empty array is invalid - - - - - - - - -
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - - - @@ -27856,21 +26989,21 @@

-

-

-
-
+

Tests - jsonoid - scala -
- allows null items + anything non-null is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -27885,7 +27018,7 @@

- + @@ -27907,7 +27040,7 @@

- + @@ -27929,7 +27062,7 @@

- + @@ -27951,7 +27084,7 @@

- + @@ -27973,7 +27106,7 @@

- + @@ -27995,7 +27128,7 @@

- + @@ -28017,7 +27150,7 @@

- + @@ -28047,21 +27180,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid email string is only an annotation by default
@@ -28076,7 +27209,7 @@

- + @@ -28098,7 +27231,7 @@

- + @@ -28120,7 +27253,7 @@

- + @@ -28142,7 +27275,7 @@

- + @@ -28164,7 +27297,7 @@

- + @@ -28186,7 +27319,7 @@

- + @@ -28208,7 +27341,7 @@

- + @@ -28238,21 +27371,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid idn-email string is only an annotation by default
@@ -28267,7 +27400,7 @@

- + @@ -28289,7 +27422,7 @@

- + @@ -28311,7 +27444,7 @@

- + @@ -28333,7 +27466,7 @@

- + @@ -28355,7 +27488,7 @@

- + @@ -28377,7 +27510,7 @@

- + @@ -28399,7 +27532,7 @@

- + @@ -28429,21 +27562,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid regex string is only an annotation by default
@@ -28458,7 +27591,7 @@

- + @@ -28480,7 +27613,7 @@

- + @@ -28502,7 +27635,7 @@

- + @@ -28524,7 +27657,7 @@

- + @@ -28546,7 +27679,7 @@

- + @@ -28568,7 +27701,7 @@

- + @@ -28590,7 +27723,7 @@

- + @@ -28620,21 +27753,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid ipv4 string is only an annotation by default
@@ -28649,7 +27782,7 @@

- + @@ -28671,7 +27804,7 @@

- + @@ -28693,7 +27826,7 @@

- + @@ -28715,7 +27848,7 @@

- + @@ -28737,7 +27870,7 @@

- + @@ -28759,7 +27892,7 @@

- + @@ -28781,7 +27914,7 @@

- + @@ -28811,21 +27944,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid ipv6 string is only an annotation by default
@@ -28840,7 +27973,7 @@

- + @@ -28862,7 +27995,7 @@

- + @@ -28884,7 +28017,7 @@

- + @@ -28906,7 +28039,7 @@

- + @@ -28928,7 +28061,7 @@

- + @@ -28950,7 +28083,7 @@

- + @@ -28972,7 +28105,7 @@

- + @@ -29002,21 +28135,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid idn-hostname string is only an annotation by default
@@ -29031,7 +28164,7 @@

- + @@ -29053,7 +28186,7 @@

- + @@ -29075,7 +28208,7 @@

- + @@ -29097,7 +28230,7 @@

- + @@ -29119,7 +28252,7 @@

- + @@ -29141,7 +28274,7 @@

- + @@ -29163,7 +28296,7 @@

- + @@ -29193,21 +28326,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid hostname string is only an annotation by default
@@ -29222,7 +28355,7 @@

- + @@ -29244,7 +28377,7 @@

- + @@ -29266,7 +28399,7 @@

- + @@ -29288,7 +28421,7 @@

- + @@ -29310,7 +28443,7 @@

- + @@ -29332,7 +28465,7 @@

- + @@ -29354,7 +28487,7 @@

- + @@ -29384,21 +28517,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid date string is only an annotation by default
@@ -29413,7 +28546,7 @@

- + @@ -29435,7 +28568,7 @@

- + @@ -29457,7 +28590,7 @@

- + @@ -29479,7 +28612,7 @@

- + @@ -29501,7 +28634,7 @@

- + @@ -29523,7 +28656,7 @@

- + @@ -29545,7 +28678,7 @@

- + @@ -29575,21 +28708,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid date-time string is only an annotation by default
@@ -29604,7 +28737,7 @@

- + @@ -29626,7 +28759,7 @@

- + @@ -29648,7 +28781,7 @@

- + @@ -29670,7 +28803,7 @@

- + @@ -29692,7 +28825,7 @@

- + @@ -29714,7 +28847,7 @@

- + @@ -29736,7 +28869,7 @@

- + @@ -29766,21 +28899,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid time string is only an annotation by default
@@ -29795,7 +28928,7 @@

- + @@ -29817,7 +28950,7 @@

- + @@ -29839,7 +28972,7 @@

- + @@ -29861,7 +28994,7 @@

- + @@ -29883,7 +29016,7 @@

- + @@ -29905,7 +29038,7 @@

- + @@ -29927,7 +29060,7 @@

- + @@ -29957,21 +29090,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid json-pointer string is only an annotation by default
@@ -29986,7 +29119,7 @@

- + @@ -30008,7 +29141,7 @@

- + @@ -30030,7 +29163,7 @@

- + @@ -30052,7 +29185,7 @@

- + @@ -30074,7 +29207,7 @@

- + @@ -30096,7 +29229,7 @@

- + @@ -30118,7 +29251,7 @@

- + @@ -30148,21 +29281,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid relative-json-pointer string is only an annotation by default
@@ -30177,7 +29310,7 @@

- + @@ -30199,7 +29332,7 @@

- + @@ -30221,7 +29354,7 @@

- + @@ -30243,7 +29376,7 @@

- + @@ -30265,7 +29398,7 @@

- + @@ -30287,7 +29420,7 @@

- + @@ -30309,7 +29442,7 @@

- + @@ -30339,21 +29472,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid iri string is only an annotation by default
@@ -30368,7 +29501,7 @@

- + @@ -30390,7 +29523,7 @@

- + @@ -30412,7 +29545,7 @@

- + @@ -30434,7 +29567,7 @@

- + @@ -30456,7 +29589,7 @@

- + @@ -30478,7 +29611,7 @@

- + @@ -30500,7 +29633,7 @@

- + @@ -30530,21 +29663,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid iri-reference string is only an annotation by default
@@ -30559,7 +29692,7 @@

- + @@ -30581,7 +29714,7 @@

- + @@ -30603,7 +29736,7 @@

- + @@ -30625,7 +29758,7 @@

- + @@ -30647,7 +29780,7 @@

- + @@ -30669,7 +29802,7 @@

- + @@ -30691,7 +29824,7 @@

- + @@ -30721,21 +29854,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid uri string is only an annotation by default
@@ -30750,7 +29883,7 @@

- + @@ -30772,7 +29905,7 @@

- + @@ -30794,7 +29927,7 @@

- + @@ -30816,7 +29949,7 @@

- + @@ -30838,7 +29971,7 @@

- + @@ -30860,7 +29993,7 @@

- + @@ -30882,7 +30015,7 @@

- + @@ -30912,21 +30045,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid uri-reference string is only an annotation by default
@@ -30941,7 +30074,7 @@

- + @@ -30963,7 +30096,7 @@

- + @@ -30985,7 +30118,7 @@

- + @@ -31007,7 +30140,7 @@

- + @@ -31029,7 +30162,7 @@

- + @@ -31051,7 +30184,7 @@

- + @@ -31073,7 +30206,7 @@

- + @@ -31103,21 +30236,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid uri-template string is only an annotation by default
@@ -31132,7 +30265,7 @@

- + @@ -31154,7 +30287,7 @@

- + @@ -31176,7 +30309,7 @@

- + @@ -31198,7 +30331,7 @@

- + @@ -31220,7 +30353,7 @@

- + @@ -31242,7 +30375,7 @@

- + @@ -31264,7 +30397,7 @@

- + @@ -31294,21 +30427,21 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid uuid string is only an annotation by default
@@ -31323,7 +30456,7 @@

- + @@ -31345,7 +30478,7 @@

- + @@ -31367,7 +30500,7 @@

- + @@ -31389,7 +30522,7 @@

- + @@ -31411,7 +30544,7 @@

- + @@ -31433,7 +30566,7 @@

- + @@ -31455,7 +30588,7 @@

- + @@ -31485,26 +30618,25 @@

-

-

-
-
+

all string formats ignore integers
all string formats ignore floats
all string formats ignore objects
all string formats ignore arrays
all string formats ignore booleans
all string formats ignore nulls
invalid duration string is only an annotation by default
@@ -31519,23 +30651,21 @@

- + @@ -31543,25 +30673,23 @@

- @@ -31569,11 +30697,12 @@

- @@ -31582,10 +30711,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -31593,25 +30722,23 @@

- @@ -31619,67 +30746,45 @@

-
- match + neither + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- recursive match + nondependant + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- mismatch + with dependency
- recursive mismatch + missing dependency + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - + + + + + + - - + + + + + + + + + - + @@ -31687,11 +30792,9 @@

- + @@ -31700,10 +30803,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -31719,28 +30822,23 @@

-

-

-
-
+

Tests - jsonoid - scala -
+ ignores arrays + -
- match + ignores strings + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- mismatch + ignores other non-objects
@@ -31755,24 +30853,21 @@

- + @@ -31780,12 +30875,11 @@

- + @@ -31794,10 +30888,32 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> + + + + + +

+ + + + + + + @@ -31813,42 +30929,26 @@

-

-

-
-
+

- match array + empty object + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- mismatch array + object with one property
+ non-object is valid + + + + +
@@ -31863,11 +30963,9 @@

- + @@ -31876,10 +30974,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -31887,11 +30985,12 @@

- @@ -31900,10 +30999,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -31911,11 +31010,13 @@

- @@ -31924,10 +31025,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -31935,11 +31036,12 @@

- @@ -31948,10 +31050,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -31959,11 +31061,12 @@

- @@ -31972,10 +31075,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -31983,11 +31086,11 @@

- @@ -31996,10 +31099,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -32015,32 +31118,28 @@

- slash invalid + neither
- tilde invalid + nondependants
- percent invalid + with dependencies
- slash valid + missing dependency
- tilde valid + missing other dependency
- percent valid + missing both dependencies
@@ -32055,21 +31154,24 @@

- + @@ -32077,9 +31179,12 @@

- + @@ -32088,10 +31193,59 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> + + + + + +

+ + + + + + + + + + + + + + + + + @@ -32107,31 +31261,21 @@

-

-

-
-
+

- nested ref valid + CRLF + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- nested ref invalid + quoted quotes
+ CRLF missing dependent + + + + + + + +
+ quoted quotes missing dependent + + + + +
@@ -32146,23 +31290,24 @@

- + @@ -32170,15 +31315,12 @@

- + @@ -32198,11 +31340,13 @@

- + @@ -32222,54 +31366,19 @@

-
- ref valid, maxItems valid + unique array of integers is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- ref valid, maxItems invalid + non-unique array of integers is invalid
- ref invalid + non-unique array of more than two integers is invalid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - + @@ -32296,10 +31406,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -32307,52 +31417,12 @@

-
Tests - jsonoid - scala -
- remote ref valid + numbers are unique if mathematically unequal + class="text-center ">
- remote ref invalid + false is not equal to zero
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -32372,11 +31442,13 @@

- + @@ -32385,10 +31457,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -32396,63 +31468,19 @@

-
Tests - jsonoid - scala -
- property named $ref valid + true is not equal to one
- property named $ref invalid + unique array of strings is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - + @@ -32479,10 +31512,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -32490,55 +31523,22 @@

-
Tests - jsonoid - scala -
- property named $ref valid + non-unique array of strings is invalid + class="text-center ">
- property named $ref invalid + unique array of objects is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + { + "foo": "bar" + } +]`,"instance-info")'> -
Tests - jsonoid - scala -
- any value is valid + non-unique array of objects is invalid + class="text-center ">
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + { + "bar": "foo", + "foo": "bar" + } +]`,"instance-info")'> @@ -32614,125 +31583,36 @@

-
Tests - jsonoid - scala -
- any value is invalid + property order of array of objects is ignored
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + } +]`,"instance-info")'> @@ -32740,41 +31620,24 @@

- + }, + { + "foo": { + "bar": { + "baz": true + } + } + } +]`,"instance-info")'> @@ -32794,69 +31657,28 @@

-
Tests - jsonoid - scala -
- valid tree + unique array of nested objects is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- invalid tree + non-unique array of nested objects is invalid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -32864,11 +31686,16 @@

- + @@ -32888,71 +31715,31 @@

-
Tests - jsonoid - scala -
- object with numbers is valid + unique array of arrays is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- object with strings is invalid + non-unique array of arrays is invalid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - @@ -32960,55 +31747,12 @@

-
Tests - jsonoid - scala -
- referenced subschema doesn't see annotations from properties + non-unique array of more than two arrays is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -33017,10 +31761,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -33028,11 +31772,12 @@

- + @@ -33041,10 +31786,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -33052,11 +31797,16 @@

- + @@ -33076,67 +31826,16 @@

-
Tests - jsonoid - scala -
- do not evaluate the $ref inside the enum, matching any string + 1 and true are unique
- do not evaluate the $ref inside the enum, definition exact match + 0 and false are unique
- match the enum exactly + [1] and [true] are unique
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -33145,10 +31844,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -33156,14 +31855,22 @@

- + @@ -33172,10 +31879,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -33183,26 +31890,34 @@

- + @@ -33210,67 +31925,49 @@

-
Tests - jsonoid - scala -
- invalid on inner field + [0] and [false] are unique
- invalid on outer field + nested [1] and [true] are unique
- valid on both fields + nested [0] and [false] are unique + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - + + + + + + - - + + + + + + + + + - + @@ -33290,14 +31987,18 @@

- +]`,"instance-info")'> @@ -33306,10 +32007,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -33317,20 +32018,24 @@

- +]`,"instance-info")'> -
Tests - jsonoid - scala -
+ unique heterogeneous types are valid + -
- invalid on inner field + non-unique heterogeneous types are invalid
- invalid on outer field + different objects are unique
- valid on both fields + objects are non-unique despite key order + class="text-center ">
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + { + "a": 0 + } +]`,"instance-info")'> @@ -33421,9 +32078,16 @@

- + @@ -33432,10 +32096,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -33451,35 +32115,29 @@

-

-

-
-
+

Tests - jsonoid - scala -
- number is valid + {"a": false} and {"a": 0} are unique + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- non-number is invalid + {"a": true} and {"a": 1} are unique
@@ -33494,21 +32152,24 @@

- + @@ -33516,9 +32177,12 @@

- + @@ -33527,10 +32191,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -33538,67 +32202,18 @@

-
- data is valid against first definition + [false, true] from items array is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- data is invalid against first definition + [true, false] from items array is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - + @@ -33634,55 +32252,14 @@

-
Tests - jsonoid - scala -
- data is valid against first definition + [false, false] from items array is not valid + class="text-center ">
- data is invalid against first definition + [true, true] from items array is not valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -33702,17 +32279,20 @@

- + -
Tests - jsonoid - scala -
- valid under the URN IDed schema + unique array extended from [false, true] is valid
- invalid under the URN IDed schema + unique array extended from [true, false] is valid + class="text-center text-bg-danger">
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - + @@ -33830,32 +32368,30 @@

-

-

-
-
+

Tests - jsonoid - scala -
- a string is valid + non-unique array extended from [false, true] is not valid + class="text-center ">
- a non-string is invalid + non-unique array extended from [true, false] is not valid
@@ -33870,23 +32406,24 @@

- + @@ -33894,11 +32431,12 @@

- + @@ -33907,10 +32445,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -33918,83 +32456,12 @@

-
- a string is valid + [false, true] from items array is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- a non-string is invalid + [true, false] from items array is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - - - - - - - - - - - + @@ -34014,65 +32481,18 @@

-
Tests - jsonoid - scala -
- a string is valid - - - - - - - -
- a non-string is invalid + [false, false] from items array is not valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - + @@ -34118,31 +32540,21 @@

-

-

-
-
+

Tests - jsonoid - scala -
- a string is valid + [true, true] from items array is not valid + class="text-center ">
- a non-string is invalid + extra items are invalid even if unique
@@ -34157,23 +32569,24 @@

- + @@ -34181,11 +32594,12 @@

- + @@ -34194,10 +32608,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -34205,71 +32619,25 @@

-
- a string is valid + unique array of integers is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- a non-string is invalid + non-unique array of integers is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -34277,11 +32645,12 @@

- + @@ -34290,10 +32659,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -34301,69 +32670,24 @@

-
Tests - jsonoid - scala -
- a string is valid + numbers are unique if mathematically unequal + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- a non-string is invalid + false is not equal to zero
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -34371,9 +32695,16 @@

- + @@ -34382,10 +32713,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -34393,63 +32724,28 @@

-
Tests - jsonoid - scala -
- a string is valid + true is not equal to one + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- a non-string is invalid + unique array of objects is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - +]`,"instance-info")'> - @@ -34457,22 +32753,36 @@

- + - @@ -34480,63 +32790,36 @@

-
Tests - jsonoid - scala -
- a non-integer is invalid due to the $ref + non-unique array of objects is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- an integer is valid + unique array of nested objects is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - +]`,"instance-info")'> - @@ -34544,22 +32827,28 @@

- + - @@ -34567,50 +32856,16 @@

-
Tests - jsonoid - scala -
- a non-integer is invalid due to the $ref + non-unique array of nested objects is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- an integer is valid + unique array of arrays is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -34619,10 +32874,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -34630,21 +32885,24 @@

- + @@ -34652,69 +32910,54 @@

-
Tests - jsonoid - scala -
- a non-integer is invalid due to the $ref + non-unique array of arrays is valid
- an integer is valid + 1 and true are unique + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - + + + + + + - - + + + + + + + + + - + @@ -34722,9 +32965,18 @@

- + @@ -34733,10 +32985,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -34752,27 +33004,29 @@

-

-

-
-
+

Tests - jsonoid - scala -
+ 0 and false are unique + -
- a string is valid + unique heterogeneous types are valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- an integer is invalid + non-unique heterogeneous types are valid
@@ -34787,21 +33041,24 @@

- + @@ -34809,9 +33066,12 @@

- + @@ -34820,10 +33080,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -34831,52 +33091,64 @@

-
- number is valid + [false, true] from items array is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- non-number is invalid + [true, false] from items array is valid
-
-
- -
- -
- -

- -

- -
-
- - - - + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + - + @@ -34896,15 +33168,20 @@

- + -
Tests
+ [false, false] from items array is valid + - - jsonoid - scala -
+ [true, true] from items array is valid + -
- number is valid + unique array extended from [false, true] is valid
- non-number is invalid + unique array extended from [true, false] is valid + class="text-center text-bg-danger">
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -34990,15 +33222,20 @@

- +
Tests - jsonoid - scala -
- number is valid + non-unique array extended from [false, true] is valid
- non-number is invalid + non-unique array extended from [true, false] is valid + class="text-center text-bg-danger">
-

-

-
-
+
@@ -35046,9 +33295,12 @@

- + @@ -35068,9 +33320,12 @@

- + @@ -35090,9 +33345,12 @@

- + @@ -35112,9 +33370,12 @@

- + @@ -35134,9 +33395,13 @@

- + @@ -35145,10 +33410,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -35156,11 +33421,46 @@

- +
- number is valid + [false, true] from items array is valid
- string is valid + [true, false] from items array is valid
- boolean true is valid + [false, false] from items array is valid
- boolean false is valid + [true, true] from items array is valid
- null is valid + extra items are invalid even if unique
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -35180,9 +33480,9 @@

- + @@ -35191,10 +33491,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -35202,11 +33502,9 @@

- + @@ -35215,32 +33513,10 @@

class="text-center "> - - - - - - -

- - - - - - - @@ -35256,18 +33532,24 @@

Tests + jsonoid + scala +
- object is valid + same value is valid
- empty object is valid + another value is invalid
- array is valid + another type is invalid
- empty array is valid - - - - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -35282,9 +33564,12 @@

- + @@ -35293,10 +33578,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -35304,9 +33589,12 @@

- + @@ -35315,10 +33603,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -35326,9 +33614,11 @@

- + @@ -35348,9 +33638,12 @@

- + @@ -35370,9 +33663,54 @@

- +
- number is invalid + same object is valid
- string is invalid + same object with different property order is valid
- boolean true is invalid + another object is invalid
- boolean false is invalid + another type is invalid
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -35381,10 +33719,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -35392,11 +33730,11 @@

- + @@ -35416,9 +33754,13 @@

- + @@ -35438,11 +33780,46 @@

- +
Tests + jsonoid + scala +
- null is invalid + same array is valid
- object is invalid + another array item is invalid
- empty object is invalid + array with additional items is invalid
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -35451,10 +33828,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -35462,9 +33839,9 @@

- + @@ -35492,21 +33869,21 @@

-

-

-
-
+

Tests + jsonoid + scala +
- array is invalid + null is valid
- empty array is invalid + not null is invalid
@@ -35521,31 +33898,9 @@

- - - - - - - - - - - + @@ -35565,9 +33920,9 @@

- + @@ -35587,15 +33942,15 @@

- + - - - - - - - - - -
- longer is valid - - - - - - - -
- exact length is valid + false is valid
- too short is invalid + integer zero is invalid
- ignores non-strings + float zero is invalid + class="text-center ">
- one grapheme is not long enough - - - - - - - -
@@ -35639,21 +33972,21 @@

-

-

-
-
+
@@ -35668,9 +34001,9 @@

- + @@ -35690,9 +34023,31 @@

- + + + + + + + + + + + @@ -35720,21 +34075,23 @@

-

-

-
-
+

- longer is valid + true is valid
- too short is invalid + integer one is invalid + + + + + + + +
+ float one is invalid
@@ -35749,9 +34106,11 @@

- + @@ -35771,21 +34130,23 @@

- + @@ -35793,15 +34154,17 @@

- +
- int by int + [false] is valid
- int by int fail + [0] is invalid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- ignores non-numbers + [0.0] is invalid + class="text-center ">
-

-

-
-
+
@@ -35852,9 +34217,11 @@

- + @@ -35874,9 +34241,11 @@

- + @@ -35885,10 +34254,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -35896,21 +34265,23 @@

- + @@ -35926,21 +34297,23 @@

-

-

-
-
+

- zero is multiple of anything + [true] is valid
- 4.5 is multiple of 1.5 + [1] is invalid
- 35 is not multiple of 1.5 + [1.0] is invalid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -35955,9 +34328,11 @@

- + @@ -35977,21 +34352,23 @@

- + @@ -35999,47 +34376,11 @@

-
- 0.0075 is multiple of 0.0001 + {"a": false} is valid
- 0.00751 is not multiple of 0.0001 + {"a": 0} is invalid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -36067,22 +34408,23 @@

-

-

-
-
+

Tests - jsonoid - scala -
- always invalid, but naive implementations may raise an overflow error + {"a": 0.0} is invalid
@@ -36097,9 +34439,11 @@

- + @@ -36119,6 +34463,54 @@

+ + + + + + + + + + + + + + + + + + + +
- any integer is a multiple of 1e-8 + {"a": true} is valid
+ {"a": 1} is invalid + + + + + + + +
+ {"a": 1.0} is invalid + + + + + + + +
@@ -36127,21 +34519,21 @@

-

-

-
-
+
@@ -36156,9 +34548,9 @@

- + @@ -36167,10 +34559,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -36178,9 +34570,9 @@

- + @@ -36200,9 +34592,31 @@

- + + + + + + + + + + + @@ -36222,15 +34636,15 @@

- + - +
- shorter is valid + false is invalid
- exact length is valid + integer zero is valid
- too long is invalid + float zero is valid + + + + + + + +
+ empty object is invalid
- ignores non-strings + empty array is invalid + class="text-center ">
- two graphemes is long enough + empty string is invalid + class="text-center ">
-

-

-
-
+
@@ -36303,9 +34717,31 @@

- + + + + + + + + + + + @@ -36325,15 +34761,15 @@

- +
- shorter is valid + true is invalid + + + + + + + +
+ integer one is valid
- too long is invalid + float one is valid + class="text-center text-bg-danger">
-

-

-
-
+
@@ -36384,24 +34820,21 @@

- + @@ -36409,12 +34842,9 @@

- + @@ -36434,13 +34864,9 @@

- + @@ -36449,10 +34875,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -36460,13 +34886,9 @@

- + @@ -36486,12 +34908,9 @@

- + @@ -36500,10 +34919,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -36511,12 +34930,46 @@

- +
- unique array of integers is valid + integer -2 is valid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- non-unique array of integers is invalid + integer 2 is invalid
- non-unique array of more than two integers is invalid + float -2.0 is valid
- numbers are unique if mathematically unequal + float 2.0 is invalid
- false is not equal to zero + float -2.00001 is invalid
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -36536,13 +34989,9 @@

- + @@ -36551,10 +35000,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -36562,19 +35011,15 @@

- + - + @@ -36606,10 +35044,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -36617,16 +35055,46 @@

- +
Tests + jsonoid + scala +
- true is not equal to one + integer is valid
- unique array of strings is valid + integer minus one is invalid
- non-unique array of strings is invalid + float is valid + class="text-center text-bg-danger">
- unique array of objects is valid + float minus one is invalid
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -36635,10 +35103,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -36646,18 +35114,9 @@

- + @@ -36677,36 +35136,61 @@

- +}`, "schema-code", "row-264")' data-bs-toggle="collapse" + data-bs-target="#case-264" aria-expanded="false" aria-controls="case-264"> + + ignore if without then or else + + + + +
+
+
Tests + jsonoid + scala +
- non-unique array of objects is invalid + match string with nul
- property order of array of objects is ignored + do not match string lacking nul
+ + + + + + + + + + + - @@ -36714,36 +35198,22 @@

- + - @@ -36751,28 +35221,61 @@

- +
Tests + jsonoid + scala +
- unique array of nested objects is valid + valid when valid against lone if + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- non-unique array of nested objects is invalid + valid when invalid against lone if + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -36780,28 +35283,22 @@

- + - @@ -36809,19 +35306,48 @@

- +
Tests + jsonoid + scala +
- unique array of arrays is valid + valid when valid against lone then + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- non-unique array of arrays is invalid + valid when invalid against lone then + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -36830,10 +35356,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -36841,12 +35367,9 @@

- + @@ -36866,53 +35389,64 @@

- - - - - -
Tests + jsonoid + scala +
- non-unique array of more than two arrays is invalid + valid when valid against lone else
- 1 and true are unique + valid when invalid against lone else
- 0 and false are unique - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + - @@ -36920,28 +35454,22 @@

- + - @@ -36949,34 +35477,22 @@

- + - @@ -36984,34 +35500,64 @@

- +
Tests
+ jsonoid + scala +
- [1] and [true] are unique + valid through then + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- [0] and [false] are unique + invalid through then + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- nested [1] and [true] are unique + valid when if test fails + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -37019,30 +35565,22 @@

- + - @@ -37050,30 +35588,22 @@

- + - @@ -37081,30 +35611,67 @@

- +}`, "schema-code", "row-269")' data-bs-toggle="collapse" + data-bs-target="#case-269" aria-expanded="false" aria-controls="case-269"> + + validate against correct branch, then vs else + + + + +
+
+
Tests + jsonoid + scala +
- nested [0] and [false] are unique + valid when if test passes + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- unique heterogeneous types are valid + valid through else + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- non-unique heterogeneous types are invalid + invalid through else + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
+ + + + + + + + + + + - @@ -37112,30 +35679,22 @@

- + - @@ -37143,28 +35702,22 @@

- + - @@ -37172,28 +35725,22 @@

- + - @@ -37209,29 +35756,37 @@

-

-

-
-
+

Tests + jsonoid + scala +
- different objects are unique + valid through then + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- objects are non-unique despite key order + invalid through then + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- {"a": false} and {"a": 0} are unique + valid through else + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- {"a": true} and {"a": 1} are unique + invalid through else + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -37246,24 +35801,22 @@

- + - @@ -37271,24 +35824,22 @@

- + - @@ -37296,49 +35847,65 @@

- - - - - -
- [false, true] from items array is valid + valid, but would have been invalid through then + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- [true, false] from items array is valid + valid, but would have been invalid through else + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- [false, false] from items array is not valid - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + - @@ -37346,26 +35913,22 @@

- + - @@ -37373,53 +35936,65 @@

- - - - - -
Tests
+ jsonoid + scala +
- [true, true] from items array is not valid + boolean schema true in if always chooses the then path (valid) + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- unique array extended from [false, true] is valid + boolean schema true in if always chooses the then path (invalid) + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- unique array extended from [true, false] is valid - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + - @@ -37427,26 +36002,22 @@

- + - @@ -37462,30 +36033,29 @@

-

-

-
-
+

Tests
+ jsonoid + scala +
- non-unique array extended from [false, true] is not valid + boolean schema false in if always chooses the else path (invalid) + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- non-unique array extended from [true, false] is not valid + boolean schema false in if always chooses the else path (valid) + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -37500,49 +36070,22 @@

- + - - - - - - - - - - - @@ -37550,24 +36093,22 @@

- + - @@ -37575,24 +36116,22 @@

- + - @@ -37600,25 +36139,22 @@

- + - @@ -37634,21 +36170,28 @@

-

-

-
-
+

- [false, true] from items array is valid + yes redirects to then and passes + - - - -
- [true, false] from items array is valid - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- [false, false] from items array is not valid + other redirects to else and passes + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- [true, true] from items array is not valid + no redirects to then and fails + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- extra items are invalid even if unique + invalid redirects to else and fails + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -37663,12 +36206,12 @@

- @@ -37688,12 +36231,12 @@

- @@ -37702,10 +36245,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -37713,25 +36256,23 @@

- @@ -37739,24 +36280,25 @@

- @@ -37764,24 +36306,21 @@

- + @@ -37789,28 +36328,25 @@

- + @@ -37818,28 +36354,63 @@

- + + prefixItems with boolean schemas + + + + +
+
+
- unique array of integers is valid + correct types
- non-unique array of integers is valid + wrong types
- numbers are unique if mathematically unequal + incomplete array of items + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- false is not equal to zero + array with additional items + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- true is not equal to one + empty array + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- unique array of objects is valid + JavaScript pseudo-array is valid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+ + + + + + + + + + + @@ -37847,24 +36418,12 @@

- @@ -37873,10 +36432,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -37884,36 +36443,21 @@

- + @@ -37921,28 +36465,66 @@

- + + additional items are allowed by default + + + + +
+
+
Tests + jsonoid + scala +
- non-unique array of objects is valid + array with one item is valid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- unique array of nested objects is valid + array with two items is invalid
- non-unique array of nested objects is valid + empty array is valid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+ + + + + + + + + + + @@ -37950,16 +36532,52 @@

- + + prefixItems with null instance elements + + + + +
+
+
Tests + jsonoid + scala +
- unique array of arrays is valid + only the first item is validated + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
+ + + + + + + + + + + @@ -37979,79 +36597,64 @@

- - - - - -
Tests + jsonoid + scala +
- non-unique array of arrays is valid + allows null elements
- 1 and true are unique - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + @@ -38059,18 +36662,9 @@

- + @@ -38079,10 +36673,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -38098,29 +36692,28 @@

-

-

-
-
+

Tests
- 0 and false are unique - + + jsonoid + scala +
- unique heterogeneous types are valid + match + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- non-unique heterogeneous types are valid + mismatch
@@ -38135,24 +36728,21 @@

- + @@ -38160,12 +36750,9 @@

- + @@ -38174,10 +36761,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -38185,64 +36772,58 @@

- - - - - -
- [false, true] from items array is valid + match + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- [true, false] from items array is valid + mismatch
- [false, false] from items array is valid - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + @@ -38262,20 +36843,15 @@

- + - +
Tests
- [true, true] from items array is valid - + + jsonoid + scala +
- unique array extended from [false, true] is valid + match
- unique array extended from [true, false] is valid + mismatch + class="text-center ">
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -38316,20 +36941,15 @@

- +
Tests + jsonoid + scala +
- non-unique array extended from [false, true] is valid + $ref resolves to /$defs/A/allOf/1
- non-unique array extended from [true, false] is valid + $ref does not resolve to /$defs/A/allOf/0 + class="text-center ">
-

-

-
-
+
@@ -38389,12 +37006,11 @@

- + @@ -38414,12 +37030,11 @@

- + @@ -38428,10 +37043,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -38439,24 +37054,21 @@

- + @@ -38464,24 +37076,21 @@

- + @@ -38489,19 +37098,15 @@

- +
- [false, true] from items array is valid + present required property is valid
- [true, false] from items array is valid + non-present required property is invalid
- [false, false] from items array is valid + ignores arrays + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- [true, true] from items array is valid + ignores strings + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- extra items are invalid even if unique + ignores other non-objects + class="text-center text-bg-danger">
-

-

-
-
+
@@ -38559,9 +37159,9 @@

- + @@ -38581,9 +37181,49 @@

- +
- first anyOf valid + not required by default
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -38603,11 +37243,62 @@

- - - +
Tests + jsonoid + scala +
- second anyOf valid + property not required
- both anyOf valid -
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + + + - + @@ -38655,29 +37349,25 @@

-

-

-
-
+

Tests + jsonoid + scala +
+ object with all properties present is valid +
- neither anyOf valid + object with some properties missing is invalid
@@ -38692,15 +37382,15 @@

- + - + @@ -38736,9 +37426,9 @@

- + @@ -38758,62 +37448,23 @@

-
- mismatch base schema + ignores arrays + class="text-center text-bg-danger">
- one anyOf valid + ignores other non-objects + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- both anyOf invalid + none of the properties mentioned
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - @@ -38821,62 +37472,25 @@

-
Tests - jsonoid - scala -
- any value is valid + __proto__ present + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + - @@ -38884,62 +37498,53 @@

-
Tests - jsonoid - scala -
- any value is valid + toString present + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - + + + + + + - - + + + + + + + + + - + - @@ -38955,42 +37560,18 @@

Tests - jsonoid - scala -
+ constructor present + -
- any value is invalid + all present + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -39005,11 +37586,9 @@

- + @@ -39029,11 +37608,9 @@

- + @@ -39053,24 +37630,21 @@

- + @@ -39078,12 +37652,9 @@

- + @@ -39092,10 +37663,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -39103,51 +37674,9 @@

-
- first anyOf valid (complex) + number is valid
- second anyOf valid (complex) + string is valid
- both anyOf valid (complex) + boolean true is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- neither anyOf valid (complex) + boolean false is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -39167,9 +37696,11 @@

- + @@ -39189,54 +37720,33 @@

-
Tests - jsonoid - scala -
- string is valid + null is valid
- number is valid + object is valid
-
-
- -
- -
- -

- -

- -
-
- - - - - - + + + + + + - - + + + + + + + + + - + @@ -39256,9 +37766,9 @@

- + @@ -39267,10 +37777,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -39286,28 +37796,18 @@

Tests - jsonoid - scala -
+ empty object is valid + -
- null is valid + array is valid
- anything non-null is invalid + empty array is valid
@@ -39322,11 +37822,9 @@

- + @@ -39335,10 +37833,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -39346,13 +37844,9 @@

- + @@ -39372,19 +37866,15 @@

- + - + - + - -
- no additional properties is valid + number is invalid
- an additional property is invalid + string is invalid
- ignores arrays + boolean true is invalid + class="text-center ">
- ignores strings + boolean false is invalid + class="text-center ">
- ignores other non-objects + null is invalid + class="text-center ">
- patternProperties are not additional properties + object is invalid + class="text-center ">
-
-
- -
- -
- -

- -

- -
-
- - - - - - + + + + + + - - + + + + + + + + + - + - + @@ -39563,27 +38032,21 @@

-

-

-
-
+

Tests - jsonoid - scala -
+ empty object is invalid + -
- matching the pattern is valid + array is invalid + class="text-center ">
- not matching the pattern is invalid + empty array is invalid
@@ -39598,24 +38061,23 @@

- + - @@ -39623,26 +38085,24 @@

- + - @@ -39650,26 +38110,47 @@

- + - + + + + + + + + + + @@ -39685,23 +38166,21 @@

-

-

-
-
+

- no additional properties is valid + shorter is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- an additional valid property is valid + exact length is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- an additional invalid property is invalid + too long is invalid + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> + + +
+ ignores non-arrays + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -39716,24 +38195,23 @@

- + - @@ -39741,24 +38219,25 @@

- + - @@ -39774,24 +38253,21 @@

-

-

-
-
+

- an additional valid property is valid + shorter is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- an additional invalid property is invalid + too long is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -39806,13 +38282,124 @@

- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -39840,30 +38427,21 @@

-

-

-
-
+

- additional properties are allowed + longer is valid + + + + + + + +
+ exact length is valid + + + + + + + +
+ too short is invalid + + + + + + + +
+ ignores arrays + + + + + + + +
+ ignores strings + + + + + + + +
+ ignores other non-objects
@@ -39878,25 +38456,46 @@

- - + + + + + + + + + + @@ -39912,23 +38511,21 @@

-

-

-
-
+

- properties defined in allOf are not examined + longer is valid + - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> + + +
+ too short is invalid + + + + + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -39943,11 +38540,34 @@

- + + + + + + + + + + + @@ -39976,26 +38596,21 @@

-

-

-
-
+

- allows null values + with no unevaluated items + + + + + + + + +
+ with unevaluated items
@@ -40010,11 +38625,9 @@

- + @@ -40035,12 +38648,11 @@

- + @@ -40069,32 +38681,23 @@

-

-

-
-
+

- Valid against both keywords + with no unevaluated items
- Valid against propertyNames, but not additionalProperties + with unevaluated items
@@ -40109,11 +38712,9 @@

- + @@ -40134,11 +38735,11 @@

- + @@ -40159,12 +38760,11 @@

- + @@ -40193,21 +38793,24 @@

-

-

-
-
+

- additionalProperties doesn't consider dependentSchemas + with no unevaluated items
- additionalProperties can't see bar + with valid unevaluated items
- additionalProperties can't see bar even when foo2 is present + with invalid unevaluated items
@@ -40222,21 +38825,25 @@

- + - @@ -40244,21 +38851,66 @@

- +
- above the minimum is valid + unevaluatedItems doesn't apply + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -40266,21 +38918,25 @@

- + - @@ -40288,21 +38944,68 @@

- +
Tests + jsonoid + scala +
- boundary point is valid + with no unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- below the minimum is invalid + with unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -40318,21 +39021,26 @@

-

-

-
-
+

Tests + jsonoid + scala +
- ignores non-numbers + unevaluatedItems doesn't apply + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -40347,21 +39055,27 @@

- + - @@ -40369,21 +39083,26 @@

- + - @@ -40391,21 +39110,77 @@

- +
- negative above the minimum is valid + valid under items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- positive above the minimum is valid + invalid under items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -40413,21 +39188,26 @@

- + - @@ -40435,21 +39215,72 @@

- +
Tests + jsonoid + scala +
- boundary point is valid + with no unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- boundary point with float is valid + with unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -40457,21 +39288,25 @@

- + - @@ -40479,21 +39314,25 @@

- + - @@ -40509,25 +39348,31 @@

-

-

-
-
+

Tests + jsonoid + scala +
- float below the minimum is invalid + with only (valid) additional items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- int below the minimum is invalid + with no additional items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- ignores non-numbers + with invalid additional item + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -40542,21 +39387,24 @@

- + - @@ -40564,21 +39412,26 @@

- + - @@ -40594,29 +39447,33 @@

-

-

-
-
+

- one of the enum is valid + with no additional items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- something else is invalid + with additional items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -40631,21 +39488,24 @@

- + - @@ -40653,21 +39513,26 @@

- + - @@ -40675,23 +39540,86 @@

- +
- one of the enum is valid + with no additional items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- something else is invalid + with additional items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - @@ -40699,23 +39627,26 @@

- + - @@ -40723,24 +39654,54 @@

- + - + + + + + + + + + + @@ -40756,24 +39717,44 @@

-

-

-
-
+

Tests + jsonoid + scala +
- objects are deep compared + when one schema matches and has no unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- valid object matches + when one schema matches and has unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- extra properties in object is invalid + when two schemas match and has no unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + + + +
+ when two schemas match and has unevaluated items + + + + + +
@@ -40788,43 +39769,25 @@

- + - - - - - - - - - - - @@ -40832,21 +39795,26 @@

- + - @@ -40862,36 +39830,36 @@

-

-

-
-
+

- null is valid + with no unevaluated items + - - - -
- number is valid - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- something else is invalid + with unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -40906,24 +39874,25 @@

- + - @@ -40931,49 +39900,95 @@

- - - - - -
- both properties are valid + with unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- wrong foo value - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + - @@ -40981,23 +39996,27 @@

- + - @@ -41005,23 +40024,27 @@

- + - @@ -41029,21 +40052,28 @@

- + - @@ -41059,24 +40089,24 @@

-

-

-
-
+

Tests
+ jsonoid + scala +
- wrong bar value + when if matches and it has no unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- missing optional property is valid + when if matches and it has unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- missing required property is invalid + when if doesn't match and it has no unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- missing all properties is invalid + when if doesn't match and it has unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -41091,21 +40121,22 @@

- + - @@ -41113,43 +40144,24 @@

- + - - - - - - - - - - - @@ -41165,23 +40177,37 @@

-

-

-
-
+

- member 1 is valid + with no unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- member 2 is valid + with unevaluated items + - - - -
- another string is invalid - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
@@ -41196,37 +40222,18 @@

- - - - - - - - - - - + - + @@ -41270,25 +40281,37 @@

-

-

-
-
+

- false is valid - - - - - - - -
- integer zero is invalid + with no unevaluated items + class="text-center text-bg-danger">
- float zero is invalid + with unevaluated items
@@ -41303,41 +40326,18 @@

- - - - - - - - - - - - @@ -41383,23 +40385,51 @@

- [false] is valid - - - - - - - -
- [0] is invalid + with no unevaluated items + class="text-center text-bg-danger">
- [0.0] is invalid + with unevaluated items
@@ -41414,43 +40444,25 @@

- + - - - - - - - - - - - @@ -41458,21 +40470,26 @@

- + - @@ -41488,25 +40505,30 @@

-

-

-
-
+

- true is valid + with no unevaluated items + - - - -
- integer one is invalid - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- float one is invalid + with unevaluated items + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -41521,71 +40543,24 @@

- - - - - - - - - - - - - - - - - - - - - - @@ -41601,23 +40576,44 @@

-

-

-
-
+

- [true] is valid - - - - - - - -
- [1] is invalid + always fails + - - - -
- [1.0] is invalid - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
@@ -41632,43 +40628,26 @@

- + - - - - - - - - - - - @@ -41676,21 +40655,27 @@

- + - @@ -41706,25 +40691,27 @@

-

-

-
-
+

- false is invalid + no extra items + - - - -
- integer zero is valid - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- float zero is valid + uncle keyword evaluation is not significant + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -41739,23 +40726,25 @@

- - @@ -41763,23 +40752,25 @@

- - @@ -41787,23 +40778,26 @@

- - @@ -41819,23 +40813,35 @@

-

-

-
-
+

- [false] is invalid + second item is evaluated by contains + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- [0] is valid + contains fails, second item is not evaluated + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- [0.0] is valid + contains passes, second item is not evaluated + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -41850,43 +40856,28 @@

- + - - - - - - - - - - - @@ -41894,21 +40885,28 @@

- + - @@ -41924,25 +40922,40 @@

-

-

-
-
+

- true is invalid + 5 not evaluated, passes unevaluatedItems + - - - -
- integer one is valid - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- float one is valid + 7 not evaluated, fails unevaluatedItems + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -41957,23 +40970,48 @@

- + + + + + + + + + + - @@ -41981,23 +41019,28 @@

- - @@ -42005,23 +41048,29 @@

- - @@ -42029,60 +41078,80 @@

-
+ empty array is valid + + + + + + + + +
- [true] is invalid + only a's are valid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- [1] is valid + a's and b's are valid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- [1.0] is valid + a's, b's and c's are valid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
-
-
- -
- -
- -

- -

- -
-
- - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + - + - @@ -42090,21 +41159,28 @@

- + - @@ -42120,28 +41196,21 @@

-

-

-
-
+

Tests
+ only b's are invalid + - - jsonoid - scala -
+ only c's are invalid + -
- match string with nul + only b's and c's are invalid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- do not match string lacking nul + only a's and c's are invalid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -42156,24 +41225,22 @@

- + - @@ -42181,24 +41248,22 @@

- + - @@ -42206,23 +41271,22 @@

- + - @@ -42230,25 +41294,22 @@

- + - @@ -42256,21 +41317,22 @@

- + - @@ -42278,25 +41340,22 @@

- + - @@ -42312,24 +41371,23 @@

-

-

-
-
+

- correct types + ignores booleans + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- wrong types + ignores integers + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- incomplete array of items + ignores floats + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- array with additional items + ignores objects + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- empty array + ignores strings + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- JavaScript pseudo-array is valid + ignores null + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -42344,23 +41402,24 @@

- - @@ -42368,24 +41427,68 @@

- + + unevaluatedItems can see annotations from if without then and else + + + + +
+
+
- array with one item is valid + allows null elements + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
+ + + + + + + + + + + - @@ -42393,21 +41496,24 @@

- - + - @@ -42423,25 +41529,28 @@

-

-

-
-
+

Tests + jsonoid + scala +
- array with two items is invalid + valid in case if is evaluated + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- empty array is valid +
+ invalid in case if is evaluated + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -42456,25 +41565,23 @@

- + @@ -42482,52 +41589,13 @@

-
- only the first item is validated + no additional properties is valid + class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -42536,10 +41604,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -42547,61 +41615,25 @@

-
Tests - jsonoid - scala -
- allows null elements + an additional property is invalid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - @@ -42609,23 +41641,21 @@

- + @@ -42633,15 +41663,15 @@

- + - + @@ -42685,21 +41718,24 @@

-

-

-
-
+

Tests - jsonoid - scala -
- longer is valid + ignores arrays + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- exact length is valid + ignores strings + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- too short is invalid + ignores other non-objects + class="text-center text-bg-danger">
- ignores non-arrays + patternProperties are not additional properties
@@ -42714,24 +41750,23 @@

- + @@ -42739,9 +41774,11 @@

- + @@ -42769,21 +41806,27 @@

-

-

-
-
+

- longer is valid + matching the pattern is valid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- too short is invalid + not matching the pattern is invalid
@@ -42798,48 +41841,24 @@

- - - - - - - - - - - - @@ -42847,51 +41866,26 @@

- - - - - - - - - - - - @@ -42899,43 +41893,26 @@

- + - - - - - - - - - - - @@ -42951,21 +41928,23 @@

-

-

-
-
+

- shorter is valid + no additional properties is valid + - - - -
- exact length is valid - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- too long is invalid + an additional valid property is valid + - - - -
- ignores arrays - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
- ignores strings + an additional invalid property is invalid + - - - -
- ignores other non-objects - - - - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> + d="M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z" />
@@ -42980,23 +41959,24 @@

- - @@ -43004,25 +41984,24 @@

- - @@ -43038,21 +42017,24 @@

-

-

-
-
+

- shorter is valid + an additional valid property is valid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- too long is invalid + an additional invalid property is invalid + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -43067,33 +42049,13 @@

- - - - - - - - - - - @@ -43102,10 +42064,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -43121,23 +42083,30 @@

-

-

-
-
+

- no properties is valid - - - - - - - -
- one property is invalid + additional properties are allowed
@@ -43152,32 +42121,12 @@

- - - - - - - - - - - + @@ -43206,23 +42155,23 @@

-

-

-
-
+

- valid when valid against lone if - - - - - - - - -
- valid when invalid against lone if + properties defined in allOf are not examined
@@ -43237,32 +42186,11 @@

- + - - - - - - - - - - @@ -43291,23 +42219,26 @@

-

-

-
-
+

- valid when valid against lone then - - - - - - - - -
- valid when invalid against lone then + allows null values
@@ -43322,21 +42253,24 @@

- + - @@ -43344,21 +42278,25 @@

- + - @@ -43374,26 +42312,32 @@

-

-

-
-
+

- valid when valid against lone else + Valid against both keywords + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
- valid when invalid against lone else + Valid against propertyNames, but not additionalProperties + - + d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z" /> +
@@ -43408,9 +42352,11 @@

- + @@ -43431,9 +42377,11 @@

- + @@ -43454,9 +42402,12 @@

- + @@ -43485,26 +42436,21 @@

-

-

-
-
+

- valid through then + additionalProperties doesn't consider dependentSchemas
- invalid through then + additionalProperties can't see bar
- valid when if test fails + additionalProperties can't see bar even when foo2 is present
@@ -43519,45 +42465,23 @@

- - - - - - - - - - - + - @@ -43565,22 +42489,24 @@

- + - @@ -43596,29 +42522,24 @@

-

-

-
-
+

- valid when if test passes - - - - - - - - -
- valid through else + one item valid against lone maxContains + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- invalid through else + two items still valid against lone maxContains + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -43633,32 +42554,9 @@

- - - - - - - - - - - + @@ -43679,9 +42577,11 @@

- + @@ -43702,9 +42602,12 @@

- + @@ -43725,62 +42628,12 @@

-
- valid through then - - - - - - - - -
- invalid through then + empty data
- valid through else + all elements match, valid maxContains
- invalid through else + all elements match, invalid maxContains
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -43801,9 +42654,13 @@

- + @@ -43832,27 +42689,24 @@

-

-

-
-
+

Tests - jsonoid - scala -
- valid, but would have been invalid through then + some elements match, valid maxContains
- valid, but would have been invalid through else + some elements match, invalid maxContains
@@ -43867,9 +42721,11 @@

- + @@ -43890,9 +42746,12 @@

- + @@ -43921,27 +42780,25 @@

-

-

-
-
+

- boolean schema true in if always chooses the then path (valid) + one element matches, valid maxContains
- boolean schema true in if always chooses the then path (invalid) + too many elements match, invalid maxContains
@@ -43956,9 +42813,9 @@

- + @@ -43979,9 +42836,40 @@

- + + + + + + + + + + + @@ -44010,29 +42898,28 @@

-

-

-
-
+

- boolean schema false in if always chooses the else path (invalid) + actual < minContains < maxContains
- boolean schema false in if always chooses the else path (valid) + minContains < actual < maxContains + + + + + + + + +
+ minContains < maxContains < actual
@@ -44047,22 +42934,21 @@

- + - @@ -44070,22 +42956,21 @@

- + - @@ -44093,22 +42978,21 @@

- + - @@ -44116,22 +43000,21 @@

- + - @@ -44147,21 +43030,29 @@

-

-

-
-
+

- yes redirects to then and passes + first anyOf valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- other redirects to else and passes + second anyOf valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- no redirects to then and fails + both anyOf valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- invalid redirects to else and fails + neither anyOf valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
@@ -44176,11 +43067,9 @@

- + @@ -44189,10 +43078,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -44200,12 +43089,9 @@

- + @@ -44225,6 +43111,28 @@

+ + + + + + + + + +
- one item valid against lone maxContains + mismatch base schema
- two items still valid against lone maxContains + one anyOf valid
+ both anyOf invalid + + + + + + + +
@@ -44233,24 +43141,24 @@

-

-

-
-
+
@@ -44265,118 +43173,14 @@

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + -
- empty data - - - - - - - - -
- all elements match, valid maxContains - - - - - - - - -
- all elements match, invalid maxContains - - - - - - - - -
- some elements match, valid maxContains - - - - - - - - -
- some elements match, invalid maxContains + any value is valid +
-

-

-
-
+
@@ -44432,42 +43236,14 @@

- - - - - - - - - - - + -
- one element matches, valid maxContains - - - - - - - - -
- too many elements match, invalid maxContains + any value is valid +
-

-

-
-
+
@@ -44524,68 +43299,14 @@

- - - - - - - - - - - - - - - - - - - - - + -
- actual < minContains < maxContains - - - - - - - - -
- minContains < actual < maxContains - - - - - - - - -
- minContains < maxContains < actual + any value is invalid +
-

-

-
-
+
@@ -44640,13 +43380,11 @@

- + @@ -44666,12 +43404,11 @@

- + @@ -44680,10 +43417,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -44691,11 +43428,12 @@

- @@ -44715,18 +43453,18 @@

-
- valid items + first anyOf valid (complex)
- wrong type of items + second anyOf valid (complex)
- ignores non-arrays + both anyOf valid (complex)
- JavaScript pseudo-array is valid + neither anyOf valid (complex) + class="text-center ">
-

-

-
-
+
@@ -44777,13 +43520,9 @@

- + @@ -44803,9 +43542,9 @@

- + @@ -44833,21 +43572,29 @@

-

-

-
-
+

- any array is valid + string is valid
- empty array is valid + number is valid
@@ -44862,13 +43609,9 @@

- + @@ -44877,10 +43620,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -44888,9 +43631,9 @@

- + @@ -44899,10 +43642,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -44918,53 +43661,21 @@

-

-

-
-
+

- any non-empty array is invalid + null is valid
- empty array is valid + anything non-null is invalid
@@ -44979,151 +43690,21 @@

- + - - - - - - - - - - - - - - - - - - - - @@ -45131,29 +43712,9 @@

- + @@ -45173,32 +43734,9 @@

- + @@ -45218,20 +43756,9 @@

- + @@ -45259,33 +43786,21 @@

-

-

-
-
+

- valid items + above the exclusiveMinimum is valid + class="text-center "> - - - -
- too many items - - - - - - - -
- too many sub-items - - - - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- wrong item + boundary point is invalid
- wrong sub-item + below the exclusiveMinimum is invalid
- fewer items is valid + ignores non-numbers
@@ -45300,38 +43815,9 @@

- + @@ -45351,38 +43837,9 @@

- + @@ -45391,10 +43848,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -45402,32 +43859,9 @@

- + @@ -45447,51 +43881,9 @@

-
- valid nested array + shorter is valid
- nested array with invalid type + exact length is valid
- not deep enough + too long is invalid
-
-
- -
- -
- -

- -

- -
-
- - - - - - - - - - - - + @@ -45511,11 +43903,9 @@

- + @@ -45535,38 +43925,46 @@

- - - - - -
Tests - jsonoid - scala -
- empty array + ignores non-strings
- fewer number of items present (1) + two graphemes is long enough
- fewer number of items present (2) - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + @@ -45586,14 +43984,9 @@

- + @@ -45621,32 +44014,31 @@

-

-

-
-
+

Tests
+ jsonoid + scala +
- equal number of items present + shorter is valid
- additional items are not permitted + too long is invalid
@@ -45661,12 +44053,12 @@

- @@ -45675,10 +44067,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -45686,12 +44078,12 @@

- @@ -45700,10 +44092,10 @@

class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" /> @@ -45719,28 +44111,31 @@

-

-

-
-
+

- prefixItems in allOf does not constrain items, invalid case + An array of strings is valid
- prefixItems in allOf does not constrain items, valid case + An array containing non-strings is invalid
@@ -45755,26 +44150,24 @@

- - @@ -45782,25 +44175,24 @@

- - @@ -45816,24 +44208,31 @@

-

-

-
-
+

- valid items + An array of strings is valid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
- wrong type of second item + An array containing non-strings is invalid + - - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" />
@@ -45848,19 +44247,18 @@

- - @@ -45887,10 +44286,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -45906,23 +44305,41 @@

- heterogeneous invalid instance + An array of strings is valid + class="text-center text-bg-danger">
- valid instance + An array containing non-strings is invalid
@@ -45937,11 +44354,37 @@

- + + + + + + + + + + @@ -45950,10 +44393,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -45969,21 +44412,42 @@

- allows null elements + An array of strings is valid + + + + + + + +
+ An array containing non-strings is invalid
@@ -45998,9 +44462,12 @@

- + @@ -46009,10 +44476,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -46020,15 +44487,18 @@

- + - +
- above the exclusiveMinimum is valid + An array of strings is invalid
- boundary point is invalid + An array of numbers is valid + class="text-center text-bg-danger">
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + - +
Tests + jsonoid + scala +
- below the exclusiveMinimum is invalid + An array of strings is valid + class="text-center text-bg-danger">
- ignores non-numbers + An array containing non-strings is invalid + class="text-center ">
-

-

-
-
+
@@ -46123,21 +44680,24 @@

- + @@ -46145,37 +44705,75 @@

- - - - - -
- below the maximum is valid + Any array is valid + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- boundary point is valid - +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + - - - - - - - - - + + + + + - + - +
Tests
+ jsonoid + scala +
- above the maximum is invalid + Any array is valid + class="text-center text-bg-danger">
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + @@ -46219,21 +44878,50 @@

-

-

-
-
+

Tests + jsonoid + scala +
- ignores non-numbers + Any array is valid
@@ -46248,21 +44936,28 @@

- + @@ -46270,9 +44965,16 @@

- + @@ -46281,10 +44983,10 @@

class="text-center "> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> @@ -46292,21 +44994,213 @@

- +
- below the maximum is invalid + The recursive part is valid against the root + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" />
- boundary point integer is valid + The recursive part is not valid against the root
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + + + + + +
Tests + jsonoid + scala +
- boundary point float is valid + The recursive part doesn't need to validate against the root + class="text-center text-bg-danger"> - + d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z" /> + + +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + + + + + + @@ -46314,9 +45208,279 @@

- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tests + jsonoid + scala +
+ number list with number values + + + + + +
- above the maximum is invalid + number list with string values + + + + + + + + +
+ string list with number values + + + + + + + + +
+ string list with string values + + + + + + + + +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tests + jsonoid + scala +
+ string matches /$defs/thingy, but the $dynamicRef does not stop here + + + + + + + + +
+ first_scope is not in dynamic scope for the $dynamicRef + + + + + + + + +
+ /then/$defs/thingy is the final stop for the $dynamicRef + + + + + + + + +
+
+
+ +
+ +
+ +

+ +

+ +
+
+ + + + + + + + + + + + + @@ -46325,6 +45489,34 @@

class="text-center "> + + + + + + + +

+ + + + + + +
Tests + jsonoid + scala +
+ instance with misspelled field
+ instance with correct field + + + - - - +
- -