| [ |
| { |
| "description": "maxProperties validation", |
| "schema": { |
| "$schema": "https://json-schema.org/draft/2020-12/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/2020-12/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/2020-12/schema", |
| "maxProperties": 0 |
| }, |
| "tests": [ |
| { |
| "description": "no properties is valid", |
| "data": {}, |
| "valid": true |
| }, |
| { |
| "description": "one property is invalid", |
| "data": { "foo": 1 }, |
| "valid": false |
| } |
| ] |
| } |
| ] |