summaryrefslogtreecommitdiff
path: root/json/tests/draft-next/content.json
blob: 37e1f0951b8d60bf5baf4651b632cc3aa55b227e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
[
    {
        "description": "validation of string-encoded content based on media type",
        "schema": {
            "$schema": "https://json-schema.org/draft/next/schema",
            "contentMediaType": "application/json"
        },
        "tests": [
            {
                "description": "a valid JSON document",
                "data": "{\"foo\": \"bar\"}",
                "valid": true
            },
            {
                "description": "an invalid JSON document; validates true",
                "data": "{:}",
                "valid": true
            },
            {
                "description": "ignores non-strings",
                "data": 100,
                "valid": true
            }
        ]
    },
    {
        "description": "validation of binary string-encoding",
        "schema": {
            "$schema": "https://json-schema.org/draft/next/schema",
            "contentEncoding": "base64"
        },
        "tests": [
            {
                "description": "a valid base64 string",
                "data": "eyJmb28iOiAiYmFyIn0K",
                "valid": true
            },
            {
                "description": "an invalid base64 string (% is not a valid character); validates true",
                "data": "eyJmb28iOi%iYmFyIn0K",
                "valid": true
            },
            {
                "description": "ignores non-strings",
                "data": 100,
                "valid": true
            }
        ]
    },
    {
        "description": "validation of binary-encoded media type documents",
        "schema": {
            "$schema": "https://json-schema.org/draft/next/schema",
            "contentMediaType": "application/json",
            "contentEncoding": "base64"
        },
        "tests": [
            {
                "description": "a valid base64-encoded JSON document",
                "data": "eyJmb28iOiAiYmFyIn0K",
                "valid": true
            },
            {
                "description": "a validly-encoded invalid JSON document; validates true",
                "data": "ezp9Cg==",
                "valid": true
            },
            {
                "description": "an invalid base64 string that is valid JSON; validates true",
                "data": "{}",
                "valid": true
            },
            {
                "description": "ignores non-strings",
                "data": 100,
                "valid": true
            }
        ]
    },
    {
        "description": "validation of binary-encoded media type documents with schema",
        "schema": {
            "$schema": "https://json-schema.org/draft/next/schema",
            "contentMediaType": "application/json",
            "contentEncoding": "base64",
            "contentSchema": { "type": "object", "required": ["foo"], "properties": { "foo": { "type": "string" } } }
        },
        "tests": [
            {
                "description": "a valid base64-encoded JSON document",
                "data": "eyJmb28iOiAiYmFyIn0K",
                "valid": true
            },
            {
                "description": "another valid base64-encoded JSON document",
                "data": "eyJib28iOiAyMCwgImZvbyI6ICJiYXoifQ==",
                "valid": true
            },
            {
                "description": "an invalid base64-encoded JSON document; validates true",
                "data": "eyJib28iOiAyMH0=",
                "valid": true
            },
            {
                "description": "an empty object as a base64-encoded JSON document; validates true",
                "data": "e30=",
                "valid": true
            },
            {
                "description": "an empty array as a base64-encoded JSON document",
                "data": "W10=",
                "valid": true
            },
            {
                "description": "a validly-encoded invalid JSON document; validates true",
                "data": "ezp9Cg==",
                "valid": true
            },
            {
                "description": "an invalid base64 string that is valid JSON; validates true",
                "data": "{}",
                "valid": true
            },
            {
                "description": "ignores non-strings",
                "data": 100,
                "valid": true
            }
        ]
    }
]