1*97bd480fSBaptiste Daroussin[ 2*97bd480fSBaptiste Daroussin { 3*97bd480fSBaptiste Daroussin "description": "root pointer ref", 4*97bd480fSBaptiste Daroussin "schema": { 5*97bd480fSBaptiste Daroussin "properties": { 6*97bd480fSBaptiste Daroussin "foo": {"$ref": "#"} 7*97bd480fSBaptiste Daroussin }, 8*97bd480fSBaptiste Daroussin "additionalProperties": false 9*97bd480fSBaptiste Daroussin }, 10*97bd480fSBaptiste Daroussin "tests": [ 11*97bd480fSBaptiste Daroussin { 12*97bd480fSBaptiste Daroussin "description": "match", 13*97bd480fSBaptiste Daroussin "data": {"foo": false}, 14*97bd480fSBaptiste Daroussin "valid": true 15*97bd480fSBaptiste Daroussin }, 16*97bd480fSBaptiste Daroussin { 17*97bd480fSBaptiste Daroussin "description": "recursive match", 18*97bd480fSBaptiste Daroussin "data": {"foo": {"foo": false}}, 19*97bd480fSBaptiste Daroussin "valid": true 20*97bd480fSBaptiste Daroussin }, 21*97bd480fSBaptiste Daroussin { 22*97bd480fSBaptiste Daroussin "description": "mismatch", 23*97bd480fSBaptiste Daroussin "data": {"bar": false}, 24*97bd480fSBaptiste Daroussin "valid": false 25*97bd480fSBaptiste Daroussin }, 26*97bd480fSBaptiste Daroussin { 27*97bd480fSBaptiste Daroussin "description": "recursive mismatch", 28*97bd480fSBaptiste Daroussin "data": {"foo": {"bar": false}}, 29*97bd480fSBaptiste Daroussin "valid": false 30*97bd480fSBaptiste Daroussin } 31*97bd480fSBaptiste Daroussin ] 32*97bd480fSBaptiste Daroussin }, 33*97bd480fSBaptiste Daroussin { 34*97bd480fSBaptiste Daroussin "description": "relative pointer ref to object", 35*97bd480fSBaptiste Daroussin "schema": { 36*97bd480fSBaptiste Daroussin "properties": { 37*97bd480fSBaptiste Daroussin "foo": {"type": "integer"}, 38*97bd480fSBaptiste Daroussin "bar": {"$ref": "#/properties/foo"} 39*97bd480fSBaptiste Daroussin } 40*97bd480fSBaptiste Daroussin }, 41*97bd480fSBaptiste Daroussin "tests": [ 42*97bd480fSBaptiste Daroussin { 43*97bd480fSBaptiste Daroussin "description": "match", 44*97bd480fSBaptiste Daroussin "data": {"bar": 3}, 45*97bd480fSBaptiste Daroussin "valid": true 46*97bd480fSBaptiste Daroussin }, 47*97bd480fSBaptiste Daroussin { 48*97bd480fSBaptiste Daroussin "description": "mismatch", 49*97bd480fSBaptiste Daroussin "data": {"bar": true}, 50*97bd480fSBaptiste Daroussin "valid": false 51*97bd480fSBaptiste Daroussin } 52*97bd480fSBaptiste Daroussin ] 53*97bd480fSBaptiste Daroussin }, 54*97bd480fSBaptiste Daroussin { 55*97bd480fSBaptiste Daroussin "description": "relative pointer ref to array", 56*97bd480fSBaptiste Daroussin "schema": { 57*97bd480fSBaptiste Daroussin "items": [ 58*97bd480fSBaptiste Daroussin {"type": "integer"}, 59*97bd480fSBaptiste Daroussin {"$ref": "#/items/0"} 60*97bd480fSBaptiste Daroussin ] 61*97bd480fSBaptiste Daroussin }, 62*97bd480fSBaptiste Daroussin "tests": [ 63*97bd480fSBaptiste Daroussin { 64*97bd480fSBaptiste Daroussin "description": "match array", 65*97bd480fSBaptiste Daroussin "data": [1, 2], 66*97bd480fSBaptiste Daroussin "valid": true 67*97bd480fSBaptiste Daroussin }, 68*97bd480fSBaptiste Daroussin { 69*97bd480fSBaptiste Daroussin "description": "mismatch array", 70*97bd480fSBaptiste Daroussin "data": [1, "foo"], 71*97bd480fSBaptiste Daroussin "valid": false 72*97bd480fSBaptiste Daroussin } 73*97bd480fSBaptiste Daroussin ] 74*97bd480fSBaptiste Daroussin }, 75*97bd480fSBaptiste Daroussin { 76*97bd480fSBaptiste Daroussin "description": "escaped pointer ref", 77*97bd480fSBaptiste Daroussin "schema": { 78*97bd480fSBaptiste Daroussin "tilda~field": {"type": "integer"}, 79*97bd480fSBaptiste Daroussin "slash/field": {"type": "integer"}, 80*97bd480fSBaptiste Daroussin "percent%field": {"type": "integer"}, 81*97bd480fSBaptiste Daroussin "properties": { 82*97bd480fSBaptiste Daroussin "tilda": {"$ref": "#/tilda~0field"}, 83*97bd480fSBaptiste Daroussin "slash": {"$ref": "#/slash~1field"}, 84*97bd480fSBaptiste Daroussin "percent": {"$ref": "#/percent%25field"} 85*97bd480fSBaptiste Daroussin } 86*97bd480fSBaptiste Daroussin }, 87*97bd480fSBaptiste Daroussin "tests": [ 88*97bd480fSBaptiste Daroussin { 89*97bd480fSBaptiste Daroussin "description": "slash", 90*97bd480fSBaptiste Daroussin "data": {"slash": "aoeu"}, 91*97bd480fSBaptiste Daroussin "valid": false 92*97bd480fSBaptiste Daroussin }, 93*97bd480fSBaptiste Daroussin { 94*97bd480fSBaptiste Daroussin "description": "tilda", 95*97bd480fSBaptiste Daroussin "data": {"tilda": "aoeu"}, 96*97bd480fSBaptiste Daroussin "valid": false 97*97bd480fSBaptiste Daroussin }, 98*97bd480fSBaptiste Daroussin { 99*97bd480fSBaptiste Daroussin "description": "percent", 100*97bd480fSBaptiste Daroussin "data": {"percent": "aoeu"}, 101*97bd480fSBaptiste Daroussin "valid": false 102*97bd480fSBaptiste Daroussin } 103*97bd480fSBaptiste Daroussin ] 104*97bd480fSBaptiste Daroussin }, 105*97bd480fSBaptiste Daroussin { 106*97bd480fSBaptiste Daroussin "description": "nested refs", 107*97bd480fSBaptiste Daroussin "schema": { 108*97bd480fSBaptiste Daroussin "definitions": { 109*97bd480fSBaptiste Daroussin "a": {"type": "integer"}, 110*97bd480fSBaptiste Daroussin "b": {"$ref": "#/definitions/a"}, 111*97bd480fSBaptiste Daroussin "c": {"$ref": "#/definitions/b"} 112*97bd480fSBaptiste Daroussin }, 113*97bd480fSBaptiste Daroussin "$ref": "#/definitions/c" 114*97bd480fSBaptiste Daroussin }, 115*97bd480fSBaptiste Daroussin "tests": [ 116*97bd480fSBaptiste Daroussin { 117*97bd480fSBaptiste Daroussin "description": "nested ref valid", 118*97bd480fSBaptiste Daroussin "data": 5, 119*97bd480fSBaptiste Daroussin "valid": true 120*97bd480fSBaptiste Daroussin }, 121*97bd480fSBaptiste Daroussin { 122*97bd480fSBaptiste Daroussin "description": "nested ref invalid", 123*97bd480fSBaptiste Daroussin "data": "a", 124*97bd480fSBaptiste Daroussin "valid": false 125*97bd480fSBaptiste Daroussin } 126*97bd480fSBaptiste Daroussin ] 127*97bd480fSBaptiste Daroussin }, 128*97bd480fSBaptiste Daroussin/* 129*97bd480fSBaptiste Daroussin { 130*97bd480fSBaptiste Daroussin "description": "remote ref, containing refs itself", 131*97bd480fSBaptiste Daroussin "schema": {"$ref": "http://json-schema.org/draft-04/schema#"}, 132*97bd480fSBaptiste Daroussin "tests": [ 133*97bd480fSBaptiste Daroussin { 134*97bd480fSBaptiste Daroussin "description": "remote ref valid", 135*97bd480fSBaptiste Daroussin "data": {"minLength": 1}, 136*97bd480fSBaptiste Daroussin "valid": true 137*97bd480fSBaptiste Daroussin }, 138*97bd480fSBaptiste Daroussin { 139*97bd480fSBaptiste Daroussin "description": "remote ref invalid", 140*97bd480fSBaptiste Daroussin "data": {"minLength": -1}, 141*97bd480fSBaptiste Daroussin "valid": false 142*97bd480fSBaptiste Daroussin } 143*97bd480fSBaptiste Daroussin ] 144*97bd480fSBaptiste Daroussin } 145*97bd480fSBaptiste Daroussin*/ 146*97bd480fSBaptiste Daroussin] 147