[ { "description": "maxProperties validation", "database": { "schemas": [ { "maxProperties": 2, "extensible": true, "$id": "maxProperties_0_0" } ] }, "tests": [ { "description": "shorter is valid", "data": { "foo": 1 }, "valid": true, "schema_id": "maxProperties_0_0" }, { "description": "exact length is valid", "data": { "foo": 1, "bar": 2 }, "valid": true, "schema_id": "maxProperties_0_0" }, { "description": "too long is invalid", "data": { "foo": 1, "bar": 2, "baz": 3 }, "valid": false, "schema_id": "maxProperties_0_0" }, { "description": "ignores arrays", "data": [ 1, 2, 3 ], "valid": true, "schema_id": "maxProperties_0_0" }, { "description": "ignores strings", "data": "foobar", "valid": true, "schema_id": "maxProperties_0_0" }, { "description": "ignores other non-objects", "data": 12, "valid": true, "schema_id": "maxProperties_0_0" } ] }, { "description": "maxProperties validation with a decimal", "database": { "schemas": [ { "maxProperties": 2, "extensible": true, "$id": "maxProperties_1_0" } ] }, "tests": [ { "description": "shorter is valid", "data": { "foo": 1 }, "valid": true, "schema_id": "maxProperties_1_0" }, { "description": "too long is invalid", "data": { "foo": 1, "bar": 2, "baz": 3 }, "valid": false, "schema_id": "maxProperties_1_0" } ] }, { "description": "maxProperties = 0 means the object is empty", "database": { "schemas": [ { "maxProperties": 0, "extensible": true, "$id": "maxProperties_2_0" } ] }, "tests": [ { "description": "no properties is valid", "data": {}, "valid": true, "schema_id": "maxProperties_2_0" }, { "description": "one property is invalid", "data": { "foo": 1 }, "valid": false, "schema_id": "maxProperties_2_0" } ] }, { "description": "extensible: true allows extra properties in maxProperties (though maxProperties still counts them!)", "database": { "schemas": [ { "maxProperties": 2, "extensible": true, "$id": "maxProperties_3_0" } ] }, "tests": [ { "description": "extra property is counted towards maxProperties", "data": { "foo": 1, "bar": 2, "baz": 3 }, "valid": false, "schema_id": "maxProperties_3_0" }, { "description": "extra property is valid if below maxProperties", "data": { "foo": 1 }, "valid": true, "schema_id": "maxProperties_3_0" } ] } ]