1268896Sbapt[
2268896Sbapt    {
3268896Sbapt        "description": "root pointer ref",
4268896Sbapt        "schema": {
5268896Sbapt            "properties": {
6268896Sbapt                "foo": {"$ref": "#"}
7268896Sbapt            },
8268896Sbapt            "additionalProperties": false
9268896Sbapt        },
10268896Sbapt        "tests": [
11268896Sbapt            {
12268896Sbapt                "description": "match",
13268896Sbapt                "data": {"foo": false},
14268896Sbapt                "valid": true
15268896Sbapt            },
16268896Sbapt            {
17268896Sbapt                "description": "recursive match",
18268896Sbapt                "data": {"foo": {"foo": false}},
19268896Sbapt                "valid": true
20268896Sbapt            },
21268896Sbapt            {
22268896Sbapt                "description": "mismatch",
23268896Sbapt                "data": {"bar": false},
24268896Sbapt                "valid": false
25268896Sbapt            },
26268896Sbapt            {
27268896Sbapt                "description": "recursive mismatch",
28268896Sbapt                "data": {"foo": {"bar": false}},
29268896Sbapt                "valid": false
30268896Sbapt            }
31268896Sbapt        ]
32268896Sbapt    },
33268896Sbapt    {
34268896Sbapt        "description": "relative pointer ref to object",
35268896Sbapt        "schema": {
36268896Sbapt            "properties": {
37268896Sbapt                "foo": {"type": "integer"},
38268896Sbapt                "bar": {"$ref": "#/properties/foo"}
39268896Sbapt            }
40268896Sbapt        },
41268896Sbapt        "tests": [
42268896Sbapt            {
43268896Sbapt                "description": "match",
44268896Sbapt                "data": {"bar": 3},
45268896Sbapt                "valid": true
46268896Sbapt            },
47268896Sbapt            {
48268896Sbapt                "description": "mismatch",
49268896Sbapt                "data": {"bar": true},
50268896Sbapt                "valid": false
51268896Sbapt            }
52268896Sbapt        ]
53268896Sbapt    },
54268896Sbapt    {
55268896Sbapt        "description": "relative pointer ref to array",
56268896Sbapt        "schema": {
57268896Sbapt            "items": [
58268896Sbapt                {"type": "integer"},
59268896Sbapt                {"$ref": "#/items/0"}
60268896Sbapt            ]
61268896Sbapt        },
62268896Sbapt        "tests": [
63268896Sbapt            {
64268896Sbapt                "description": "match array",
65268896Sbapt                "data": [1, 2],
66268896Sbapt                "valid": true
67268896Sbapt            },
68268896Sbapt            {
69268896Sbapt                "description": "mismatch array",
70268896Sbapt                "data": [1, "foo"],
71268896Sbapt                "valid": false
72268896Sbapt            }
73268896Sbapt        ]
74268896Sbapt    },
75268896Sbapt    {
76268896Sbapt        "description": "escaped pointer ref",
77268896Sbapt        "schema": {
78268896Sbapt            "tilda~field": {"type": "integer"},
79268896Sbapt            "slash/field": {"type": "integer"},
80268896Sbapt            "percent%field": {"type": "integer"},
81268896Sbapt            "properties": {
82268896Sbapt                "tilda": {"$ref": "#/tilda~0field"},
83268896Sbapt                "slash": {"$ref": "#/slash~1field"},
84268896Sbapt                "percent": {"$ref": "#/percent%25field"}
85268896Sbapt            }
86268896Sbapt        },
87268896Sbapt        "tests": [
88268896Sbapt            {
89268896Sbapt                "description": "slash",
90268896Sbapt                "data": {"slash": "aoeu"},
91268896Sbapt                "valid": false
92268896Sbapt            },
93268896Sbapt            {
94268896Sbapt                "description": "tilda",
95268896Sbapt                "data": {"tilda": "aoeu"},
96268896Sbapt                "valid": false
97268896Sbapt            },
98268896Sbapt            {
99268896Sbapt                "description": "percent",
100268896Sbapt                "data": {"percent": "aoeu"},
101268896Sbapt                "valid": false
102268896Sbapt            }
103268896Sbapt        ]
104268896Sbapt    },
105268896Sbapt    {
106268896Sbapt        "description": "nested refs",
107268896Sbapt        "schema": {
108268896Sbapt            "definitions": {
109268896Sbapt                "a": {"type": "integer"},
110268896Sbapt                "b": {"$ref": "#/definitions/a"},
111268896Sbapt                "c": {"$ref": "#/definitions/b"}
112268896Sbapt            },
113268896Sbapt            "$ref": "#/definitions/c"
114268896Sbapt        },
115268896Sbapt        "tests": [
116268896Sbapt            {
117268896Sbapt                "description": "nested ref valid",
118268896Sbapt                "data": 5,
119268896Sbapt                "valid": true
120268896Sbapt            },
121268896Sbapt            {
122268896Sbapt                "description": "nested ref invalid",
123268896Sbapt                "data": "a",
124268896Sbapt                "valid": false
125268896Sbapt            }
126268896Sbapt        ]
127268896Sbapt    },
128268896Sbapt/*
129268896Sbapt    {
130268896Sbapt        "description": "remote ref, containing refs itself",
131268896Sbapt        "schema": {"$ref": "http://json-schema.org/draft-04/schema#"},
132268896Sbapt        "tests": [
133268896Sbapt            {
134268896Sbapt                "description": "remote ref valid",
135268896Sbapt                "data": {"minLength": 1},
136268896Sbapt                "valid": true
137268896Sbapt            },
138268896Sbapt            {
139268896Sbapt                "description": "remote ref invalid",
140268896Sbapt                "data": {"minLength": -1},
141268896Sbapt                "valid": false
142268896Sbapt            }
143268896Sbapt        ]
144268896Sbapt    }
145268896Sbapt*/
146268896Sbapt]
147