1[ 2 { 3 "description": "propertyNames validation", 4 "schema": { 5 "$schema": "https://json-schema.org/draft/2020-12/schema", 6 "propertyNames": {"maxLength": 3} 7 }, 8 "tests": [ 9 { 10 "description": "all property names valid", 11 "data": { 12 "f": {}, 13 "foo": {} 14 }, 15 "valid": true 16 }, 17 { 18 "description": "some property names invalid", 19 "data": { 20 "foo": {}, 21 "foobar": {} 22 }, 23 "valid": false 24 }, 25 { 26 "description": "object without properties is valid", 27 "data": {}, 28 "valid": true 29 }, 30 { 31 "description": "ignores arrays", 32 "data": [1, 2, 3, 4], 33 "valid": true 34 }, 35 { 36 "description": "ignores strings", 37 "data": "foobar", 38 "valid": true 39 }, 40 { 41 "description": "ignores other non-objects", 42 "data": 12, 43 "valid": true 44 } 45 ] 46 }, 47 { 48 "description": "propertyNames with boolean schema true", 49 "schema": { 50 "$schema": "https://json-schema.org/draft/2020-12/schema", 51 "propertyNames": true 52 }, 53 "tests": [ 54 { 55 "description": "object with any properties is valid", 56 "data": {"foo": 1}, 57 "valid": true 58 }, 59 { 60 "description": "empty object is valid", 61 "data": {}, 62 "valid": true 63 } 64 ] 65 }, 66 { 67 "description": "propertyNames with boolean schema false", 68 "schema": { 69 "$schema": "https://json-schema.org/draft/2020-12/schema", 70 "propertyNames": false 71 }, 72 "tests": [ 73 { 74 "description": "object with any properties is invalid", 75 "data": {"foo": 1}, 76 "valid": false 77 }, 78 { 79 "description": "empty object is valid", 80 "data": {}, 81 "valid": true 82 } 83 ] 84 } 85] 86