[ { "description": "maxProperties validation", "schema": { "$schema": "https://json-schema.org/draft/2019-09/schema", "maxProperties": 2 }, "tests": [ { "description": "shorter is valid", "data": {"foo": 1}, "valid": true }, { "description": "exact length is valid", "data": {"foo": 1, "bar": 2}, "valid": true }, { "description": "too long is invalid", "data": {"foo": 1, "bar": 2, "baz": 3}, "valid": false }, { "description": "ignores arrays", "data": [1, 2, 3], "valid": true }, { "description": "ignores strings", "data": "foobar", "valid": true }, { "description": "ignores other non-objects", "data": 12, "valid": true } ] }, { "description": "maxProperties validation with a decimal", "schema": { "$schema": "https://json-schema.org/draft/2019-09/schema", "maxProperties": 2.0 }, "tests": [ { "description": "shorter is valid", "data": {"foo": 1}, "valid": true }, { "description": "too long is invalid", "data": {"foo": 1, "bar": 2, "baz": 3}, "valid": false } ] }, { "description": "maxProperties = 0 means the object is empty", "schema": { "$schema": "https://json-schema.org/draft/2019-09/schema", "maxProperties": 0 }, "tests": [ { "description": "no properties is valid", "data": {}, "valid": true }, { "description": "one property is invalid", "data": { "foo": 1 }, "valid": false } ] } ]