[ { "description": "propertyNames validation", "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "propertyNames": { "maxLength": 3 } }, "tests": [ { "description": "all property names valid", "data": {}, "valid": true }, { "description": "some property names invalid", "data": {}, "valid": false }, { "description": "object without properties is valid", "data": {}, "valid": true } ] }, { "description": "propertyNames validation with pattern", "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "propertyNames": { "pattern": "^a+$" } }, "tests": [ { "description": "matching property names valid", "data": {}, "valid": true }, { "description": "non-matching property name is invalid", "data": {}, "valid": false }, { "description": "object without properties is valid", "data": {}, "valid": true } ] }, { "description": "propertyNames with boolean schema true", "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "propertyNames": true }, "tests": [ { "description": "object with any properties is valid", "data": {}, "valid": true }, { "description": "empty object is valid", "data": {}, "valid": true } ] }, { "description": "propertyNames with boolean schema false", "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "propertyNames": false }, "tests": [ { "description": "object with any properties is invalid", "data": {}, "valid": false }, { "description": "empty object is valid", "data": {}, "valid": true } ] }, { "description": "propertyNames with const", "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "propertyNames": { "const": "foo" } }, "tests": [ { "description": "object with property foo is valid", "data": {}, "valid": true }, { "description": "object with any other property is invalid", "data": {}, "valid": false }, { "description": "empty object is valid", "data": {}, "valid": true } ] }, { "description": "propertyNames with enum", "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "propertyNames": { "enum": [ "foo", "bar" ] } }, "tests": [ { "description": "object with property foo is valid", "data": {}, "valid": true }, { "description": "object with property foo and bar is valid", "data": {}, "valid": true }, { "description": "object with any other property is invalid", "data": {}, "valid": false }, { "description": "empty object is valid", "data": {}, "valid": true } ] } ]