Generated on Monday, November 03, 2014 in 195.65 minutes
themis[minimal] themis[default] json-model z-schema 3 tv4 jjv jsonschema jayschema
basicObject 100% (93590) 71% (66872) 32% (30722) 18% (16967) 13% (12834) 4% (3842) 0% (428) 0% (231)
advancedObject 100% (8656) 53% (4627) 50% (4348) 32% (2806) 1% (116) 11% (956) 1% (91) 0% (26)
additionalItems as schema, additional items match schema 100% (618598) 68% (423817) 28% (177162) 15% (97338) 8% (53596) 3% (22677) 0% (2136) 0% (741)
additionalItems as schema, additional items do not match schema 100% (350844) 68% (238849) 52% (184502) 24% (86338) 0% (1545) 7% (26287) 0% (2037) 0% (666)
items is schema, no additionalItems, all items match schema 100% (648817) 74% (483157) 22% (146814) 17% (110596) 10% (67259) 3% (23214) 0% (2059) 0% (843)
array of items with no additionalItems, no additional items present 100% (329937) 96% (316860) 87% (287845) 45% (151238) 18% (61151) 11% (36934) 0% (3106) 0% (870)
array of items with no additionalItems, additional items are not permitted 100% (296542) 35% (104144) 94% (279445) 42% (124715) 0% (1604) 12% (37723) 1% (3112) 0% (813)
additionalItems as false without items, items defaults to empty schema so everything is valid 100% (2155283) 99% (2154793) 31% (688418) 23% (506634) 5% (119896) 24% (522613) 0% (15341) 0% (1008)
additionalItems as false without items, ignores non-arrays 100% (2454987) 84% (2062836) 28% (706949) 10% (251876) 3% (77931) 18% (465654) 0% (13702) 0% (895)
additionalItems are allowed by default, only the first item is validated 100% (719778) 82% (593718) 63% (453505) 37% (268805) 10% (76456) 10% (76189) 0% (5704) 0% (913)
additionalProperties being false does not allow other properties, no additional properties is valid 100% (1208369) 55% (674431) 22% (268667) 6% (79521) 3% (41178) 4% (57574) 0% (3945) 0% (796)
additionalProperties being false does not allow other properties, an additional property is invalid 100% (481538) 38% (184018) 31% (151179) 9% (45975) 0% (1699) 5% (28215) 0% (3213) 0% (731)
additionalProperties being false does not allow other properties, ignores non-objects 100% (2275501) 55% (1253482) 32% (743582) 18% (410271) 2% (65541) 17% (389015) 0% (4279) 0% (1054)
additionalProperties being false does not allow other properties, patternProperties are not additional properties 100% (471248) 62% (295123) 28% (134232) 13% (64322) 6% (31675) 6% (31902) 0% (2909) 0% (749)
additionalProperties allows a schema which should validate, no additional properties is valid 100% (1314241) 56% (740896) 19% (260756) 12% (162076) 5% (66702) 5% (75970) 0% (4362) 0% (808)
additionalProperties allows a schema which should validate, an additional valid property is valid 100% (435079) 58% (254547) 26% (114584) 22% (98037) 11% (47883) 6% (29566) 0% (2757) 0% (796)
additionalProperties allows a schema which should validate, an additional invalid property is invalid 100% (304827) 49% (151467) 34% (105289) 24% (75890) 0% (1550) 11% (35374) 0% (2845) 0% (776)
additionalProperties are allowed by default, additional properties are allowed 100% (1109439) 85% (944218) 23% (257072) 10% (117154) 4% (54809) 4% (45965) 0% (4253) 0% (873)
allOf, allOf 100% (550121) 54% (301071) 41% (226593) 9% (54013) 4% (25577) 4% (22684) 0% (3169) 0% (573)
allOf, mismatch second 100% (472079) 32% (155578) 52% (248343) 12% (57780) 0% (1591) 22% (108340) 1% (4786) 0% (517)
allOf, mismatch first 100% (443760) 35% (158096) 54% (240711) 22% (101490) 0% (1762) 8% (37420) 0% (2994) 0% (518)
allOf, wrong type 100% (387819) 30% (118192) 51% (199659) 11% (45469) 0% (1521) 13% (51929) 0% (3859) 0% (480)
allOf with base schema, valid 100% (364292) 54% (198241) 44% (161996) 11% (41991) 6% (21916) 4% (17974) 0% (2509) 0% (445)
allOf with base schema, mismatch base schema 100% (349264) 34% (120404) 58% (205469) 12% (44943) 0% (1505) 6% (21489) 0% (2393) 0% (444)
allOf with base schema, mismatch first allOf 100% (335938) 25% (85338) 55% (185730) 12% (40505) 0% (1530) 32% (108677) 1% (3376) 0% (438)
allOf with base schema, mismatch second allOf 100% (360334) 29% (107029) 50% (181871) 18% (67789) 0% (1487) 8% (29067) 0% (2334) 0% (453)
allOf with base schema, mismatch both 100% (369600) 27% (103318) 44% (163211) 9% (35660) 0% (966) 20% (76272) 0% (3089) 0% (372)
allOf simple types, valid 93% (943453) 100% (1010787) 27% (277145) 16% (169907) 6% (66635) 5% (52981) 0% (9886) 0% (731)
allOf simple types, mismatch one 100% (798954) 29% (231818) 47% (377960) 15% (120097) 0% (1612) 12% (96931) 1% (8452) 0% (693)
anyOf, first anyOf valid 100% (1529946) 84% (1290301) 7% (113992) 7% (111265) 4% (69240) 5% (83081) 0% (9762) 0% (898)
anyOf, second anyOf valid 100% (905806) 39% (360927) 13% (120532) 25% (226959) 0% (1644) 6% (59744) 0% (7816) 0% (759)
anyOf, both anyOf valid 100% (1528996) 71% (1092745) 6% (93588) 15% (230539) 4% (69248) 5% (76722) 0% (8968) 0% (866)
anyOf, neither anyOf valid 100% (643013) 27% (173910) 23% (152363) 7% (50773) 0% (353) 6% (39226) 0% (4384) 0% (523)
anyOf with base schema, mismatch base schema 100% (830405) 39% (329204) 5% (49652) 15% (127664) 0% (1005) 48% (399862) 0% (6098) 0% (955)
anyOf with base schema, one anyOf valid 100% (469420) 62% (292007) 15% (74028) 43% (205689) 0% (1583) 6% (30447) 1% (8462) 0% (854)
anyOf with base schema, both anyOf invalid 100% (506400) 45% (228350) 26% (132467) 15% (78197) 0% (563) 7% (35985) 1% (7897) 0% (640)
dependencies, neither 100% (1589507) 83% (1320181) 40% (637564) 14% (237674) 5% (84913) 24% (385440) 0% (13705) 0% (968)
dependencies, nondependant 100% (2106338) 84% (1780271) 29% (631463) 8% (185160) 3% (63366) 16% (349741) 0% (14024) 0% (972)
dependencies, with dependency 100% (1415921) 73% (1047372) 40% (580046) 9% (140823) 4% (63991) 19% (271785) 0% (6923) 0% (1044)
dependencies, missing dependency 100% (957963) 80% (770010) 56% (540739) 11% (111915) 0% (1813) 53% (511622) 0% (6804) 0% (905)
dependencies, ignores non-objects 100% (2209881) 60% (1335177) 33% (744034) 19% (426954) 4% (89846) 6% (144645) 0% (12505) 0% (1199)
multiple dependencies, neither 100% (2307331) 82% (1912596) 27% (643404) 12% (287639) 3% (84197) 18% (427253) 0% (13588) 0% (838)
multiple dependencies, nondependants 100% (1491710) 65% (981646) 33% (502441) 9% (136772) 3% (55434) 24% (367319) 0% (11484) 0% (881)
multiple dependencies, with dependencies 100% (1100700) 80% (881476) 42% (467664) 11% (125758) 4% (54781) 20% (222135) 0% (5650) 0% (744)
multiple dependencies, missing dependency 100% (612468) 70% (429778) 65% (398335) 13% (85333) 0% (1401) 60% (370267) 0% (5778) 0% (936)
multiple dependencies, missing other dependency 100% (882933) 71% (633770) 54% (478131) 13% (116429) 0% (1657) 60% (537187) 0% (6283) 0% (916)
multiple dependencies, missing both dependencies 100% (1005247) 61% (617814) 39% (399843) 8% (84053) 0% (1297) 48% (484808) 0% (6294) 0% (889)
multiple dependencies subschema, valid 100% (823207) 56% (466930) 27% (225849) 7% (65610) 5% (41400) 3% (30315) 0% (2474) 0% (620)
multiple dependencies subschema, no dependency 100% (1886769) 82% (1558590) 33% (635060) 9% (172893) 3% (62895) 17% (336534) 0% (13284) 0% (973)
multiple dependencies subschema, wrong type 100% (576320) 58% (338040) 38% (219049) 11% (64037) 0% (1691) 6% (36678) 0% (2628) 0% (653)
multiple dependencies subschema, wrong type other 100% (492592) 51% (254709) 43% (214557) 11% (55774) 0% (1720) 7% (36169) 0% (2631) 0% (685)
multiple dependencies subschema, wrong type both 100% (453565) 46% (208742) 50% (229860) 11% (53987) 0% (1780) 9% (43806) 0% (2410) 0% (595)
simple enum validation, one of the enum is valid 100% (2125628) 93% (1982868) 34% (728547) 15% (320419) 5% (107525) 10% (216007) 0% (8947) 0% (811)
simple enum validation, something else is invalid 100% (1163726) 9% (115642) 0% (-1) 15% (180192) 0% (1537) 18% (216444) 0% (8471) 0% (776)
heterogeneous enum validation, one of the enum is valid 100% (900398) 98% (888802) 69% (628893) 32% (290333) 11% (100580) 27% (249300) 1% (9339) 0% (833)
heterogeneous enum validation, something else is invalid 100% (587315) 11% (69145) 0% (-1) 28% (169404) 0% (-1) 22% (129512) 1% (11275) 0% (804)
heterogeneous enum validation, objects are deep compared 100% (278485) 17% (48282) 0% (-1) 31% (88299) 0% (1400) 35% (99804) 3% (9087) 0% (971)
enums in properties, both properties are valid 100% (906060) 43% (398040) 27% (246609) 13% (121442) 4% (41689) 2% (21124) 0% (3588) 0% (678)
enums in properties, missing optional property is valid 100% (1005308) 56% (569231) 35% (353540) 14% (143277) 5% (51914) 4% (49253) 0% (3401) 0% (705)
enums in properties, missing required property is invalid 100% (818979) 81% (663379) 39% (319461) 13% (110062) 0% (1794) 6% (51481) 0% (3591) 0% (741)
enums in properties, missing all properties is invalid 100% (1043375) 75% (787045) 47% (499421) 13% (144538) 0% (1637) 26% (272801) 0% (3321) 0% (794)
a schema given for items, valid items 100% (871066) 79% (692631) 26% (234732) 13% (120490) 8% (69750) 3% (31226) 0% (2365) 0% (766)
a schema given for items, wrong type of items 100% (712373) 62% (447819) 37% (270441) 16% (118032) 0% (1629) 6% (46158) 0% (3312) 0% (782)
a schema given for items, ignores non-arrays 100% (2202554) 89% (1978016) 34% (755957) 9% (219294) 3% (77109) 20% (442822) 0% (12736) 0% (1124)
an array of schemas for items, correct types 100% (444640) 96% (430279) 82% (368456) 36% (163419) 14% (62399) 8% (38430) 0% (3538) 0% (910)
an array of schemas for items, wrong types 88% (317371) 43% (154565) 100% (357851) 28% (101420) 0% (1624) 17% (63884) 0% (3189) 0% (722)
maxItems validation, shorter is valid 98% (1821802) 100% (1843808) 33% (624070) 17% (328580) 7% (131873) 24% (449418) 0% (12943) 0% (961)
maxItems validation, exact length is valid 100% (2094859) 91% (1912803) 31% (664553) 16% (350389) 5% (109715) 19% (415388) 0% (13114) 0% (945)
maxItems validation, too long is invalid 100% (1452803) 10% (151486) 43% (627067) 12% (177854) 0% (1642) 26% (384147) 0% (12846) 0% (869)
maxItems validation, ignores non-arrays 100% (2289900) 67% (1543512) 31% (714995) 18% (412539) 5% (121106) 5% (119650) 0% (12879) 0% (1138)
maxLength validation, shorter is valid 100% (1231612) 99% (1229373) 40% (494202) 34% (425143) 9% (120007) 14% (175140) 1% (13694) 0% (964)
maxLength validation, exact length is valid 100% (1253545) 93% (1169194) 42% (538231) 33% (422016) 9% (125113) 12% (158947) 1% (13353) 0% (1041)
maxLength validation, too long is invalid 100% (859483) 69% (593660) 51% (445643) 22% (193753) 0% (1588) 15% (133993) 1% (12320) 0% (903)
maxLength validation, ignores non-strings 100% (2127262) 84% (1804747) 28% (616350) 20% (432737) 5% (123538) 11% (237050) 0% (13513) 0% (1019)
maxLength validation, two supplementary Unicode code points is long enough 90% (714207) 100% (790252) 47% (371924) 0% (-1) 0% (-1) 0% (-1) 0% (-1) 0% (-1)
maxProperties validation, shorter is valid 100% (1968471) 90% (1783817) 18% (366010) 10% (200916) 3% (75289) 14% (287568) 0% (11349) 0% (838)
maxProperties validation, exact length is valid 100% (1813633) 92% (1679876) 22% (409174) 8% (150244) 4% (72841) 14% (271774) 0% (11617) 0% (850)
maxProperties validation, too long is invalid 100% (1255942) 14% (183421) 29% (374154) 7% (90651) 0% (1460) 17% (223304) 0% (11323) 0% (814)
maxProperties validation, ignores non-objects 100% (1932239) 59% (1158893) 33% (642847) 20% (394819) 5% (105532) 5% (103318) 0% (12013) 0% (933)
maximum validation, below the maximum is valid 92% (1554233) 100% (1673182) 38% (640449) 21% (354583) 6% (110514) 14% (244198) 0% (11805) 0% (881)
maximum validation, above the maximum is invalid 100% (1108176) 30% (340401) 50% (562659) 11% (128726) 0% (1436) 17% (194687) 0% (10686) 0% (822)
maximum validation, ignores non-numbers 100% (2047864) 70% (1443182) 30% (629428) 19% (401519) 5% (108067) 6% (134276) 0% (11621) 0% (935)
exclusiveMaximum validation, below the maximum is still valid 100% (1670197) 71% (1195299) 36% (617589) 19% (322389) 5% (98935) 13% (230184) 0% (11694) 0% (818)
exclusiveMaximum validation, boundary point is invalid 100% (1236892) 32% (407146) 46% (570577) 14% (173405) 0% (1618) 15% (197015) 0% (11258) 0% (783)
minItems validation, longer is valid 100% (2004025) 87% (1745304) 30% (610962) 17% (349160) 5% (104007) 17% (356242) 0% (12535) 0% (884)
minItems validation, exact length is valid 100% (1919996) 90% (1745162) 32% (633006) 17% (337574) 5% (104858) 18% (347888) 0% (11626) 0% (895)
minItems validation, too short is invalid 100% (1245971) 49% (613650) 46% (579537) 12% (159839) 0% (1509) 25% (322055) 0% (11273) 0% (844)
minItems validation, ignores non-arrays 100% (2068282) 91% (1899782) 29% (606193) 19% (395595) 5% (107516) 8% (174894) 0% (11691) 0% (932)
minLength validation, longer is valid 93% (1014219) 100% (1080999) 40% (437441) 39% (428893) 10% (111359) 11% (122846) 1% (11449) 0% (842)
minLength validation, exact length is valid 100% (1043105) 99% (1034124) 39% (416359) 37% (395426) 9% (104221) 12% (128679) 1% (12254) 0% (883)
minLength validation, too short is invalid 100% (690471) 75% (518831) 55% (380197) 24% (171957) 0% (1488) 17% (123915) 1% (11335) 0% (810)
minLength validation, ignores non-strings 100% (1659508) 95% (1580457) 34% (575191) 23% (394173) 6% (106456) 11% (185330) 0% (11929) 0% (927)
minLength validation, one supplementary Unicode code point is not long enough 100% (495053) 49% (244894) 63% (314726) 0% (-1) 0% (-1) 0% (-1) 0% (-1) 0% (-1)
minProperties validation, longer is valid 89% (1445931) 100% (1619175) 23% (378675) 9% (158483) 4% (71177) 16% (259450) 0% (11349) 0% (877)
minProperties validation, exact length is valid 100% (1638195) 89% (1466298) 24% (394003) 11% (184846) 4% (75756) 17% (282582) 0% (12315) 0% (898)
minProperties validation, too short is invalid 100% (1168689) 48% (568064) 34% (400029) 12% (146413) 0% (1412) 24% (284558) 0% (11066) 0% (826)
minProperties validation, ignores non-objects 100% (1991760) 52% (1042842) 32% (655555) 19% (379653) 5% (105201) 8% (175206) 0% (11811) 0% (928)
minimum validation, above the minimum is valid 100% (1705417) 78% (1333285) 36% (627140) 19% (329889) 5% (98152) 13% (225669) 0% (11861) 0% (882)
minimum validation, below the minimum is invalid 100% (1181622) 32% (387077) 45% (538406) 10% (127535) 0% (1572) 18% (217436) 0% (10868) 0% (845)
minimum validation, ignores non-numbers 100% (2123793) 73% (1558228) 27% (592113) 16% (358809) 4% (102614) 6% (130020) 0% (11453) 0% (905)
exclusiveMinimum validation, above the minimum is still valid 100% (1838066) 87% (1601000) 34% (632423) 16% (312036) 5% (103816) 11% (216526) 0% (11814) 0% (786)
exclusiveMinimum validation, boundary point is invalid 100% (1151964) 31% (361552) 49% (571029) 13% (156198) 0% (1533) 16% (190943) 0% (11021) 0% (782)
by int, int by int 100% (1492882) 87% (1299001) 42% (641484) 23% (351878) 7% (108833) 15% (227193) 0% (12062) 0% (833)
by int, int by int fail 100% (1048937) 37% (397348) 48% (505358) 14% (148366) 0% (1440) 19% (202911) 1% (11384) 0% (789)
by int, ignores non-numbers 100% (2125271) 85% (1812513) 27% (582303) 16% (344725) 5% (111056) 5% (107852) 0% (11658) 0% (900)
by number, zero is multiple of anything 100% (1393284) 86% (1203851) 40% (560155) 22% (319644) 7% (103591) 17% (237423) 0% (11321) 0% (848)
by number, 4.5 is multiple of 1.5 100% (1203600) 97% (1178217) 42% (512617) 28% (341955) 8% (104210) 19% (230608) 0% (11607) 0% (886)
by number, 35 is not multiple of 1.5 100% (929640) 41% (389759) 54% (505263) 13% (123018) 0% (1438) 24% (227937) 1% (11713) 0% (828)
by small number, 0.0075 is multiple of 0.0001 97% (1210605) 100% (1239434) 44% (552002) 26% (328867) 0% (-1) 17% (222923) 0% (11371) 0% (846)
by small number, 0.00751 is not multiple of 0.0001 100% (927865) 40% (373678) 52% (489503) 16% (152918) 0% (1468) 22% (212094) 1% (12062) 0% (852)
not, allowed 100% (1152441) 54% (631073) 47% (551155) 11% (136013) 0% (1471) 5% (67464) 0% (7529) 0% (755)
not, disallowed 100% (911192) 35% (326117) 0% (-1) 17% (161703) 0% (1481) 9% (87178) 0% (8099) 0% (754)
not multiple types, valid 100% (1251454) 19% (249780) 42% (531444) 7% (89247) 0% (1594) 4% (60289) 0% (7799) 0% (730)
not multiple types, mismatch 100% (902989) 38% (350494) 0% (-1) 18% (171145) 0% (1492) 9% (81430) 0% (7605) 0% (715)
not multiple types, other mismatch 100% (932640) 39% (366796) 0% (-1) 17% (160526) 0% (1405) 8% (78260) 0% (7650) 0% (722)
not more complex schema, match 100% (1009487) 25% (261247) 52% (526972) 13% (134030) 0% (1481) 9% (96229) 0% (7422) 0% (751)
not more complex schema, other match 100% (626015) 41% (259165) 83% (525841) 10% (66856) 0% (1456) 7% (47306) 0% (3763) 0% (617)
not more complex schema, mismatch 100% (583832) 27% (157860) 0% (-1) 12% (74977) 0% (1461) 5% (34796) 0% (3951) 0% (603)
forbidden property, property present 100% (535666) 45% (241843) 0% (-1) 16% (87503) 0% (1436) 9% (51599) 0% (4873) 0% (622)
forbidden property, property absent 100% (1591828) 53% (858488) 30% (488766) 9% (154937) 3% (61078) 23% (366330) 0% (6544) 0% (1007)
oneOf, first oneOf valid 100% (785339) 44% (350623) 13% (109850) 13% (102109) 0% (1593) 6% (48544) 1% (8583) 0% (698)
oneOf, second oneOf valid 100% (776607) 42% (330906) 13% (105002) 12% (95409) 0% (1550) 7% (56652) 0% (7738) 0% (765)
oneOf, both oneOf valid 100% (826368) 40% (337529) 13% (110498) 15% (128541) 0% (1748) 6% (56035) 0% (7639) 0% (763)
oneOf, neither oneOf valid 100% (718848) 26% (191581) 26% (189567) 8% (61688) 0% (582) 8% (61456) 1% (7286) 0% (651)
oneOf with base schema, mismatch base schema 100% (740037) 36% (267034) 14% (109590) 27% (205641) 0% (1538) 84% (624911) 0% (7288) 0% (883)
oneOf with base schema, one oneOf valid 100% (508384) 67% (340794) 20% (102529) 18% (95994) 0% (1570) 5% (27001) 1% (8319) 0% (657)
oneOf with base schema, both oneOf valid 100% (524357) 64% (336012) 17% (93702) 24% (130836) 0% (1747) 6% (35393) 1% (7202) 0% (688)
integer, a bignum is an integer 100% (1605631) 87% (1408957) 42% (686987) 18% (295354) 6% (107911) 14% (228459) 0% (9796) 0% (1057)
number, a bignum is a number 100% (1706907) 80% (1365745) 40% (697201) 18% (320111) 7% (122645) 14% (245721) 0% (9734) 0% (1051)
integer, a negative bignum is an integer 100% (1687207) 91% (1545604) 35% (601334) 18% (317639) 5% (96232) 12% (213345) 0% (11474) 0% (1148)
number, a negative bignum is a number 100% (1787938) 99% (1784268) 37% (667953) 19% (349051) 6% (115307) 15% (269030) 0% (11113) 0% (1054)
string, a bignum is not a string 100% (1158536) 35% (413050) 56% (651328) 19% (230049) 0% (1655) 61% (711913) 0% (9491) 0% (938)
integer comparison, comparison works for high numbers 100% (1663313) 83% (1384350) 38% (648480) 18% (301803) 7% (121654) 16% (270040) 0% (14123) 0% (962)
float comparison with high precision, comparison works for high numbers 100% (1126576) 35% (404054) 53% (602741) 13% (152897) 0% (1721) 19% (222359) 1% (12275) 0% (809)
integer comparison, comparison works for very negative numbers 100% (1632173) 96% (1582612) 38% (632793) 21% (347268) 6% (104302) 15% (251711) 0% (12203) 0% (1072)
float comparison with high precision on negative numbers, comparison works for very negative numbers 100% (1045085) 44% (464118) 51% (539000) 13% (137065) 0% (1589) 19% (208603) 1% (12572) 0% (782)
validation of date-time strings, a valid date-time string 55% (359079) 55% (360238) 100% (649014) 20% (132225) 15% (100289) 7% (48575) 0% (-1) 0% (945)
validation of date-time strings, an invalid date-time string 100% (385380) 55% (214013) 0% (-1) 24% (96302) 0% (-1) 11% (44109) 3% (12889) 0% (879)
validation of date-time strings, only RFC3339 not all of ISO 8601 are valid 100% (370175) 66% (245837) 0% (-1) 27% (103227) 0% (-1) 17% (66602) 3% (13179) 0% (916)
validation of URIs, a valid URI 15% (100774) 15% (105714) 100% (671403) 23% (158929) 16% (108121) 7% (52384) 1% (11592) 0% (913)
validation of URIs, an invalid URI 100% (95044) 81% (77097) 0% (-1) 0% (-1) 0% (-1) 59% (56274) 13% (12501) 0% (875)
validation of URIs, an invalid URI though valid URI reference 99% (100484) 98% (99819) 0% (-1) 0% (-1) 0% (-1) 100% (100839) 12% (12305) 0% (-1)
validation of e-mail addresses, a valid e-mail address 100% (1265503) 87% (1110479) 47% (601932) 20% (254021) 8% (105906) 4% (55933) 0% (11845) 0% (965)
validation of e-mail addresses, an invalid e-mail address 100% (851120) 73% (621748) 0% (-1) 13% (114040) 0% (-1) 12% (102600) 1% (12688) 0% (920)
validation of IP addresses, a valid IP address 100% (990422) 98% (980194) 58% (575559) 20% (201508) 10% (107837) 4% (40117) 1% (12760) 0% (919)
validation of IP addresses, an IP address with too many components 100% (590795) 46% (277012) 0% (-1) 19% (113326) 0% (-1) 12% (74440) 2% (12057) 0% (833)
validation of IP addresses, an IP address with out-of-range values 100% (693954) 43% (303980) 0% (-1) 15% (105567) 0% (-1) 6% (45029) 1% (12194) 0% (937)
validation of IP addresses, an IP address without 4 components 100% (765445) 66% (510457) 0% (-1) 15% (117634) 0% (-1) 13% (103528) 1% (12580) 0% (956)
validation of IP addresses, an IP address as an integer 100% (1029301) 64% (666026) 0% (-1) 12% (132425) 0% (-1) 8% (88612) 1% (12412) 0% (915)
validation of IPv6 addresses, a valid IPv6 address 67% (455519) 59% (400297) 100% (675304) 24% (167540) 18% (121607) 17% (116223) 1% (12442) 0% (915)
validation of IPv6 addresses, an IPv6 address with out-of-range values 100% (413011) 66% (273421) 0% (-1) 22% (92379) 0% (-1) 20% (83276) 2% (11661) 0% (885)
validation of IPv6 addresses, an IPv6 address with too many components 100% (275039) 61% (169793) 0% (-1) 28% (79590) 0% (-1) 14% (40993) 4% (12320) 0% (907)
validation of IPv6 addresses, an IPv6 address containing illegal characters 100% (433696) 71% (312030) 0% (-1) 19% (83087) 0% (-1) 19% (86490) 2% (11988) 0% (959)
validation of host names, a valid host name 78% (510756) 71% (460581) 100% (647505) 25% (163016) 16% (108553) 11% (71993) 0% (-1) 0% (998)
validation of host names, a host name starting with an illegal character 100% (861963) 44% (382516) 0% (-1) 13% (118197) 0% (-1) 4% (42355) 1% (12493) 0% (934)
validation of host names, a host name containing illegal characters 100% (691922) 51% (356511) 0% (-1) 16% (111613) 0% (-1) 7% (54939) 1% (13630) 0% (872)
validation of host names, a host name with a component too long 100% (476165) 53% (253393) 0% (-1) 21% (103253) 0% (-1) 4% (20250) 2% (12673) 0% (887)
some languages do not distinguish between different types of numeric value, a float is not an integer even without fractional part 0% (-1) 0% (-1) 0% (-1) 0% (-1) 0% (-1) 0% (-1) 0% (-1) 0% (-1)
pattern validation, a matching pattern is valid 100% (1693213) 81% (1378144) 33% (565194) 12% (206781) 5% (100469) 6% (111385) 0% (11897) 0% (968)
pattern validation, a non-matching pattern is invalid 100% (1060795) 61% (656270) 50% (535920) 12% (127424) 0% (1645) 11% (119070) 1% (12710) 0% (964)
pattern validation, ignores non-strings 100% (2206000) 72% (1610179) 30% (672766) 15% (350790) 5% (122401) 11% (249322) 0% (12140) 0% (955)
patternProperties validates properties matching a regex, a single valid match is valid 100% (630524) 66% (420940) 29% (182945) 15% (98117) 5% (34238) 7% (47973) 0% (5058) 0% (971)
patternProperties validates properties matching a regex, multiple valid matches is valid 100% (273774) 76% (209209) 44% (122079) 30% (82692) 9% (26870) 8% (24377) 1% (3840) 0% (745)
patternProperties validates properties matching a regex, a single invalid match is invalid 100% (204944) 71% (145560) 48% (100181) 28% (58575) 0% (1450) 13% (27548) 1% (3200) 0% (787)
patternProperties validates properties matching a regex, multiple invalid matches is invalid 100% (183366) 62% (113811) 53% (98540) 31% (57913) 0% (1651) 15% (28652) 1% (2821) 0% (680)
patternProperties validates properties matching a regex, ignores non-objects 100% (1946144) 77% (1509144) 32% (629274) 15% (310111) 3% (64600) 16% (323731) 0% (13950) 0% (844)
multiple simultaneous patternProperties are validated, a single valid match is valid 100% (477315) 71% (342022) 37% (181251) 21% (100879) 8% (38718) 9% (47474) 1% (5155) 0% (823)
multiple simultaneous patternProperties are validated, a simultaneous match is valid 100% (381382) 79% (302763) 34% (132515) 23% (88114) 9% (36448) 7% (27168) 0% (3734) 0% (742)
multiple simultaneous patternProperties are validated, multiple matches is valid 100% (201607) 77% (157089) 44% (89876) 30% (60550) 14% (29978) 9% (18633) 1% (2609) 0% (619)
multiple simultaneous patternProperties are validated, an invalid due to one is invalid 100% (389068) 66% (257689) 34% (134561) 17% (66206) 0% (1483) 13% (52685) 1% (4711) 0% (768)
multiple simultaneous patternProperties are validated, an invalid due to the other is invalid 100% (265487) 45% (120780) 44% (118324) 22% (60602) 0% (1680) 12% (32891) 1% (3721) 0% (671)
multiple simultaneous patternProperties are validated, an invalid due to both is invalid 100% (115225) 61% (71140) 62% (72205) 38% (44469) 1% (1512) 13% (15063) 1% (2098) 0% (632)
regexes are not anchored by default and are case sensitive, non recognized members are ignored 100% (300927) 94% (284569) 82% (247891) 29% (87571) 12% (36246) 36% (109864) 1% (5517) 0% (882)
regexes are not anchored by default and are case sensitive, recognized members are accounted for 100% (360631) 68% (247457) 33% (122340) 20% (75184) 0% (1563) 14% (51078) 1% (4879) 0% (747)
regexes are not anchored by default and are case sensitive, regexes are case sensitive 98% (938893) 100% (954097) 32% (306976) 10% (104459) 4% (38234) 10% (103093) 0% (5435) 0% (933)
regexes are not anchored by default and are case sensitive, regexes are case sensitive, 2 100% (343492) 48% (167545) 37% (128196) 19% (68254) 0% (1558) 15% (51636) 1% (3770) 0% (723)
object properties validation, both properties present and valid is valid 100% (958598) 80% (775598) 28% (272499) 9% (94718) 4% (47844) 3% (35647) 0% (3498) 0% (825)
object properties validation, one property invalid is invalid 100% (644536) 59% (385878) 39% (255657) 11% (76535) 0% (1708) 6% (42497) 0% (3081) 0% (608)
object properties validation, both properties invalid is invalid 100% (380989) 66% (254742) 71% (271315) 16% (62289) 0% (1683) 12% (46342) 0% (2939) 0% (663)
object properties validation, doesn't invalidate other properties 100% (1536748) 57% (883871) 38% (595432) 10% (159934) 4% (72210) 24% (373488) 0% (3581) 0% (959)
object properties validation, ignores non-objects 100% (2013152) 77% (1562829) 32% (645697) 19% (383134) 4% (97746) 26% (540235) 0% (4279) 0% (971)
properties, patternProperties, additionalProperties interaction, property validates property 100% (534903) 85% (457356) 22% (118441) 11% (58958) 5% (30004) 6% (33342) 0% (2722) 0% (598)
properties, patternProperties, additionalProperties interaction, property invalidates property 100% (326448) 23% (75867) 41% (136320) 16% (52843) 0% (1538) 10% (34187) 0% (2808) 0% (583)
properties, patternProperties, additionalProperties interaction, patternProperty invalidates property 100% (332493) 63% (209803) 39% (130083) 17% (59055) 0% (1657) 10% (34603) 0% (2867) 0% (584)
properties, patternProperties, additionalProperties interaction, patternProperty validates nonproperty 100% (466627) 82% (387011) 33% (158652) 19% (93227) 7% (36982) 10% (50743) 0% (2934) 0% (646)
properties, patternProperties, additionalProperties interaction, patternProperty invalidates nonproperty 100% (421963) 50% (211867) 35% (148366) 14% (60952) 0% (1482) 12% (54801) 0% (2728) 0% (608)
properties, patternProperties, additionalProperties interaction, additionalProperty ignores property 100% (962370) 96% (926123) 23% (228068) 8% (84507) 3% (32482) 5% (56716) 0% (3503) 0% (692)
properties, patternProperties, additionalProperties interaction, additionalProperty validates others 100% (527908) 74% (393343) 29% (155256) 20% (108642) 6% (33765) 8% (46711) 0% (2596) 0% (651)
properties, patternProperties, additionalProperties interaction, additionalProperty invalidates others 100% (319440) 82% (263522) 41% (133585) 19% (62185) 0% (1497) 16% (53839) 0% (2400) 0% (695)
root pointer ref, match 100% (965643) 90% (878165) 29% (285172) 9% (94467) 2% (22372) 7% (68157) 0% (3220) 0% (505)
root pointer ref, recursive match 100% (763513) 83% (634677) 23% (176176) 7% (60197) 2% (17785) 5% (41276) 0% (1958) 0% (305)
root pointer ref, mismatch 100% (686857) 29% (201521) 48% (333840) 12% (83556) 0% (1569) 55% (378786) 0% (3451) 0% (713)
root pointer ref, recursive mismatch 100% (507060) 39% (199606) 40% (206669) 9% (47497) 0% (1570) 15% (78564) 0% (2252) 0% (444)
relative pointer ref to object, match 100% (1206856) 69% (838435) 30% (364908) 10% (129246) 1% (14673) 4% (51242) 0% (2345) 0% (473)
relative pointer ref to object, mismatch 100% (664578) 50% (336905) 51% (342036) 14% (94357) 0% (1500) 9% (60117) 0% (2208) 0% (434)
relative pointer ref to array, match array 100% (444171) 96% (427722) 90% (399928) 26% (118653) 3% (14546) 7% (33330) 0% (2241) 0% (477)
relative pointer ref to array, mismatch array 84% (319526) 70% (265673) 100% (376973) 22% (83541) 0% (1389) 10% (39256) 0% (2295) 0% (454)
escaped pointer ref, slash 33% (107200) 22% (72771) 100% (324543) 20% (66384) 0% (1311) 21% (70930) 0% (1188) 0% (441)
escaped pointer ref, tilda 40% (102023) 32% (83060) 100% (252438) 24% (61780) 0% (1356) 30% (78092) 0% (1206) 0% (412)
escaped pointer ref, percent 31% (96706) 25% (77963) 100% (302408) 20% (60838) 0% (1386) 22% (69447) 0% (1062) 0% (428)
nested refs, nested ref valid 100% (799296) 91% (729232) 63% (508620) 19% (156734) 1% (8617) 6% (55789) 0% (1720) 0% (240)
nested refs, nested ref invalid 100% (749912) 55% (419947) 58% (436316) 18% (141089) 0% (1331) 10% (82108) 0% (1680) 0% (221)
required validation, present required property is valid 100% (710517) 90% (639547) 34% (245771) 16% (114842) 7% (54172) 10% (76887) 0% (3807) 0% (837)
required validation, non-present required property is invalid 100% (610849) 78% (479763) 45% (280955) 17% (104760) 0% (1601) 9% (57916) 0% (2856) 0% (799)
required default validation, not required by default 100% (1391703) 98% (1373892) 41% (575891) 15% (220477) 5% (80568) 31% (440154) 0% (5959) 0% (885)
integer type matches integers, an integer is an integer 98% (1322009) 100% (1345865) 49% (671190) 25% (349364) 7% (102582) 17% (234525) 0% (10679) 0% (1082)
integer type matches integers, a float is not an integer 100% (913225) 39% (360379) 65% (596026) 23% (215168) 0% (1509) 71% (656245) 1% (9516) 0% (1111)
integer type matches integers, a string is not an integer 100% (1174175) 56% (666740) 51% (600663) 18% (211355) 0% (1591) 56% (658931) 0% (7648) 0% (1007)
integer type matches integers, an object is not an integer 100% (1062795) 57% (610934) 56% (595645) 19% (211275) 0% (1617) 65% (697437) 0% (8708) 0% (974)
integer type matches integers, an array is not an integer 100% (1158053) 43% (505232) 41% (477424) 17% (197664) 0% (1619) 61% (712674) 0% (8905) 0% (918)
integer type matches integers, a boolean is not an integer 100% (1047269) 42% (441740) 51% (537382) 20% (212923) 0% (1647) 77% (815271) 0% (8816) 0% (1059)
integer type matches integers, null is not an integer 100% (998808) 67% (670744) 59% (597462) 20% (208921) 0% (1505) 76% (761968) 0% (8972) 0% (800)
number type matches numbers, an integer is a number 87% (1202759) 100% (1368153) 47% (650350) 21% (292884) 7% (101730) 15% (216593) 0% (9554) 0% (1075)
number type matches numbers, a float is a number 100% (1314134) 86% (1134288) 51% (673978) 27% (366583) 8% (108558) 16% (219191) 0% (10317) 0% (1006)
number type matches numbers, a string is not a number 100% (1093152) 59% (647124) 53% (590249) 21% (231403) 0% (1802) 74% (817824) 0% (8598) 0% (1018)
number type matches numbers, an object is not a number 100% (1133969) 53% (610597) 55% (630030) 21% (243052) 0% (1770) 71% (812341) 0% (9116) 0% (1030)
number type matches numbers, an array is not a number 100% (988232) 55% (544348) 65% (650575) 21% (214293) 0% (1592) 70% (695095) 0% (9404) 0% (1012)
number type matches numbers, a boolean is not a number 100% (973121) 47% (461412) 57% (557739) 22% (217292) 0% (1640) 82% (803894) 0% (9470) 0% (932)
number type matches numbers, null is not a number 100% (1232733) 54% (672748) 46% (577557) 17% (215941) 0% (1557) 63% (782519) 0% (10054) 0% (931)
string type matches strings, 1 is not a string 100% (1023573) 32% (331871) 51% (523576) 21% (217250) 0% (1643) 71% (728116) 0% (9303) 0% (950)
string type matches strings, a float is not a string 100% (941219) 43% (409086) 60% (572581) 21% (198064) 0% (1666) 78% (736629) 1% (9757) 0% (916)
string type matches strings, a string is a string 93% (1334422) 100% (1434461) 42% (614325) 20% (294529) 7% (107669) 9% (130341) 0% (10408) 0% (940)
string type matches strings, an object is not a string 100% (929198) 70% (656969) 53% (498538) 24% (226121) 0% (1642) 77% (722649) 0% (9107) 0% (1055)
string type matches strings, an array is not a string 100% (1044368) 50% (531976) 53% (560190) 21% (222624) 0% (1639) 74% (777514) 0% (8845) 0% (935)
string type matches strings, a boolean is not a string 100% (1112374) 35% (391122) 49% (555535) 22% (246198) 0% (1613) 68% (758219) 0% (9676) 0% (975)
string type matches strings, null is not a string 100% (1099112) 62% (682408) 55% (609115) 21% (235203) 0% (1671) 60% (661510) 0% (8577) 0% (892)
object type matches objects, an integer is not an object 100% (1079000) 36% (390550) 56% (613669) 20% (224802) 0% (1830) 70% (759893) 0% (10280) 0% (1024)
object type matches objects, a float is not an object 100% (988927) 38% (379102) 62% (613562) 21% (209688) 0% (1651) 70% (699022) 1% (11374) 0% (1034)
object type matches objects, a string is not an object 100% (1129841) 57% (646164) 58% (663912) 18% (205942) 0% (1689) 61% (700007) 0% (9656) 0% (876)
object type matches objects, an object is an object 100% (1570943) 90% (1418691) 39% (617138) 15% (242937) 5% (88134) 22% (352986) 0% (9998) 0% (817)
object type matches objects, an array is not an object 100% (1088157) 44% (483710) 53% (577966) 18% (204364) 0% (1576) 62% (676458) 0% (6914) 0% (995)
object type matches objects, a boolean is not an object 100% (1176091) 29% (351155) 39% (467052) 16% (195034) 0% (1531) 67% (790214) 0% (10273) 0% (1066)
object type matches objects, null is not an object 100% (1218716) 55% (681509) 54% (665215) 19% (235888) 0% (1850) 66% (813805) 0% (9624) 0% (1029)
array type matches arrays, an integer is not an array 100% (1155932) 34% (404036) 47% (548859) 21% (243575) 0% (1614) 65% (752176) 0% (9189) 0% (942)
array type matches arrays, a float is not an array 100% (1068289) 31% (341014) 51% (552716) 19% (211080) 0% (1608) 74% (793790) 0% (9509) 0% (1000)
array type matches arrays, a string is not an array 100% (1242023) 51% (640932) 53% (664458) 17% (222060) 0% (1656) 65% (813397) 0% (9876) 0% (1049)
array type matches arrays, an object is not an array 100% (1213461) 50% (609752) 52% (639792) 21% (256871) 0% (1726) 65% (796955) 0% (9828) 0% (1110)
array type matches arrays, an array is not an array 100% (1930789) 79% (1541766) 39% (762157) 16% (316772) 5% (102942) 24% (467107) 0% (11143) 0% (1009)
array type matches arrays, a boolean is not an array 100% (1022952) 40% (411940) 54% (556291) 23% (235432) 0% (1707) 78% (799483) 0% (9693) 0% (972)
array type matches arrays, null is not an array 100% (1429444) 48% (688120) 44% (629001) 14% (203976) 0% (1813) 60% (862697) 0% (9417) 0% (1068)
boolean type matches booleans, an integer is not a boolean 100% (1070073) 33% (353780) 54% (579260) 22% (238520) 0% (1569) 45% (486147) 0% (9264) 0% (987)
boolean type matches booleans, a float is not a boolean 100% (1048125) 33% (353187) 56% (591319) 19% (207129) 0% (1553) 78% (825251) 0% (9276) 0% (984)
boolean type matches booleans, a string is not a boolean 100% (1203622) 49% (590664) 49% (597803) 18% (225113) 0% (1650) 60% (723186) 0% (9055) 0% (976)
boolean type matches booleans, an object is not a boolean 100% (1210934) 47% (581054) 46% (568190) 17% (207591) 0% (1614) 62% (759035) 0% (9054) 0% (959)
boolean type matches booleans, an array is not a boolean 100% (1141948) 47% (542506) 57% (655957) 18% (215543) 0% (1501) 65% (749634) 0% (9317) 0% (892)
boolean type matches booleans, a boolean is not a boolean 100% (1717957) 95% (1645557) 43% (751644) 20% (357774) 6% (112551) 14% (248661) 0% (11559) 0% (1046)
boolean type matches booleans, null is not a boolean 100% (1118122) 53% (600150) 58% (651892) 18% (212112) 0% (1568) 71% (803827) 0% (9454) 0% (1119)
null type matches only the null object, an integer is not null 100% (1012220) 38% (392409) 68% (691114) 23% (239835) 0% (1832) 78% (792153) 1% (10125) 0% (1126)
null type matches only the null object, a float is not null 100% (1003741) 38% (382463) 57% (578516) 22% (222905) 0% (1855) 80% (805473) 0% (8218) 0% (903)
null type matches only the null object, a string is not null 100% (940887) 63% (598876) 66% (623263) 22% (215273) 0% (1711) 86% (816673) 1% (9898) 0% (984)
null type matches only the null object, an object is not null 100% (1145620) 49% (572609) 53% (612812) 20% (229971) 0% (1614) 67% (775248) 0% (8951) 0% (968)
null type matches only the null object, an array is not null 100% (1089372) 48% (532634) 57% (622130) 21% (237993) 0% (1674) 63% (695457) 0% (9081) 0% (929)
null type matches only the null object, a boolean is not null 100% (1241355) 27% (344353) 44% (557958) 18% (233075) 0% (1724) 67% (832386) 0% (9233) 0% (1015)
null type matches only the null object, null is null 100% (1458684) 94% (1379901) 47% (695879) 24% (352519) 7% (105070) 26% (392363) 0% (10254) 0% (1127)
multiple types can be specified in an array, an integer is valid 100% (1201518) 98% (1184804) 50% (610814) 27% (325334) 6% (75540) 19% (235499) 0% (10439) 0% (1037)
multiple types can be specified in an array, a string is valid 100% (1757750) 83% (1460048) 36% (639863) 19% (344983) 4% (79725) 6% (117375) 0% (10183) 0% (942)
multiple types can be specified in an array, a float is invalid 100% (957156) 20% (194983) 51% (496440) 13% (126408) 0% (1557) 55% (533693) 0% (8910) 0% (1031)
multiple types can be specified in an array, an object is invalid 100% (1165527) 19% (228968) 48% (570601) 10% (124028) 0% (1597) 52% (610704) 0% (8459) 0% (935)
multiple types can be specified in an array, an array is invalid 100% (1004259) 22% (228660) 57% (575577) 12% (126884) 0% (1608) 58% (583651) 0% (8841) 0% (938)
multiple types can be specified in an array, a boolean is invalid 100% (1009147) 19% (201397) 55% (559442) 14% (143771) 0% (1639) 52% (530660) 0% (8794) 0% (975)
multiple types can be specified in an array, null is invalid 100% (1038251) 26% (273975) 58% (605148) 12% (127294) 0% (1605) 54% (569572) 0% (8472) 0% (956)
uniqueItems validation, unique array of integers is valid 97% (924811) 100% (952615) 69% (663529) 36% (346787) 12% (114693) 22% (210458) 1% (12781) 0% (836)
uniqueItems validation, non-unique array of integers is invalid 100% (869965) 15% (132172) 0% (-1) 16% (145050) 0% (1576) 24% (212898) 1% (11544) 0% (877)
uniqueItems validation, numbers are unique if mathematically unequal 100% (888401) 13% (122728) 0% (-1) 16% (145678) 0% (1389) 24% (213506) 1% (11046) 0% (646)
uniqueItems validation, unique array of objects is valid 52% (375291) 51% (365784) 100% (709322) 33% (240274) 15% (109120) 11% (80787) 1% (10812) 0% (867)
uniqueItems validation, non-unique array of objects is invalid 100% (379468) 20% (78099) 0% (-1) 30% (114774) 0% (1474) 21% (80567) 3% (11451) 0% (684)
uniqueItems validation, unique array of nested objects is valid 25% (173155) 29% (202633) 100% (680025) 20% (140504) 13% (91607) 9% (61337) 1% (11714) 0% (1016)
uniqueItems validation, non-unique array of nested objects is invalid 100% (173996) 29% (51571) 0% (-1) 54% (94940) 0% (1548) 17% (31138) 6% (11193) 0% (838)
uniqueItems validation, unique array of arrays is valid 100% (1241277) 83% (1032499) 52% (652713) 26% (323814) 8% (102367) 7% (98121) 0% (11250) 0% (932)
uniqueItems validation, non-unique array of arrays is invalid 100% (799952) 15% (126836) 0% (-1) 17% (143252) 0% (1446) 13% (106886) 1% (11804) 0% (926)
uniqueItems validation, 1 and true are unique 100% (1097755) 95% (1046237) 59% (657288) 25% (277979) 9% (107046) 20% (220334) 1% (12428) 0% (999)
uniqueItems validation, 0 and false are unique 100% (1095938) 99% (1095128) 57% (626192) 27% (299101) 9% (104605) 18% (198510) 1% (13312) 0% (1023)
uniqueItems validation, unique heterogeneous types are valid 71% (444899) 71% (442643) 100% (622408) 35% (218412) 0% (-1) 11% (68938) 1% (11960) 0% (1007)
uniqueItems validation, non-unique heterogeneous types are invalid 100% (241520) 25% (61208) 0% (-1) 46% (111955) 0% (1623) 15% (36863) 4% (11526) 0% (890)