summaryrefslogtreecommitdiff
path: root/tests/draft7/optional/unicode.json
blob: 1dc5940dca212eae0cb984207be7f067cc99fd7d (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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
[
    {
        "description": "unicode semantics should be used for all pattern matching",
        "schema": { "pattern": "\\wcole" },
        "tests": [
            {
                "description": "literal unicode character in json string",
                "data": "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire.",
                "valid": true
            },
            {
                "description": "unicode character in hex format in string",
                "data": "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'\u00e9cole, l'église et la patinoire; mais la vraie vie était sur la patinoire.",
                "valid": true
            },
            {
                "description": "unicode matching is case-sensitive",
                "data": "LES HIVERS DE MON ENFANCE ÉTAIENT DES SAISONS LONGUES, LONGUES. NOUS VIVIONS EN TROIS LIEUX: L'ÉCOLE, L'ÉGLISE ET LA PATINOIRE; MAIS LA VRAIE VIE ÉTAIT SUR LA PATINOIRE.",
                "valid": false
            }
        ]
    },
    {
        "description": "unicode characters do not match ascii ranges",
        "schema": { "pattern": "[a-z]cole" },
        "tests": [
            {
                "description": "literal unicode character in json string",
                "data": "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire.",
                "valid": false
            },
            {
                "description": "unicode character in hex format in string",
                "data": "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'\u00e9cole, l'église et la patinoire; mais la vraie vie était sur la patinoire.",
                "valid": false
            },
            {
                "description": "ascii characters match",
                "data": "Les hivers de mon enfance etaient des saisons longues, longues. Nous vivions en trois lieux: l'ecole, l'eglise et la patinoire; mais la vraie vie etait sur la patinoire.",
                "valid": true
            }
        ]
    },
    {
        "description": "unicode digits are more than 0 through 9",
        "schema": { "pattern": "^\\d+$" },
        "tests": [
            {
                "description": "ascii digits",
                "data": "42",
                "valid": true
            },
            {
                "description": "ascii non-digits",
                "data": "-%#",
                "valid": false
            },
            {
                "description": "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)",
                "data": "৪২",
                "valid": true
            }
        ]
    },
    {
        "description": "unicode semantics should be used for all patternProperties matching",
        "schema": {
            "type": "object",
            "patternProperties": {
                "\\wcole": true
            },
            "additionalProperties": false
        },
        "tests": [
            {
                "description": "literal unicode character in json string",
                "data": { "l'école": "pas de vraie vie" },
                "valid": true
            },
            {
                "description": "unicode character in hex format in string",
                "data": { "l'\u00e9cole": "pas de vraie vie" },
                "valid": true
            },
            {
                "description": "unicode matching is case-sensitive",
                "data": { "L'ÉCOLE": "PAS DE VRAIE VIE" },
                "valid": false
            }
        ]
    },
    {
        "description": "unicode characters do not match ascii ranges",
        "schema": {
            "type": "object",
            "patternProperties": {
                "[a-z]cole": true
            },
            "additionalProperties": false
        },
        "tests": [
            {
                "description": "literal unicode character in json string",
                "data": { "l'école": "pas de vraie vie" },
                "valid": false
            },
            {
                "description": "unicode character in hex format in string",
                "data": { "l'\u00e9cole": "pas de vraie vie" },
                "valid": false
            },
            {
                "description": "ascii characters match",
                "data": { "l'ecole": "pas de vraie vie" },
                "valid": true
            }
        ]
    },
    {
        "description": "unicode digits are more than 0 through 9",
        "schema": {
            "type": "object",
            "patternProperties": {
                "^\\d+$": true
            },
            "additionalProperties": false
        },
        "tests": [
            {
                "description": "ascii digits",
                "data": { "42": "life, the universe, and everything" },
                "valid": true
            },
            {
                "description": "ascii non-digits",
                "data": { "-%#": "spending the year dead for tax reasons" },
                "valid": false
            },
            {
                "description": "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)",
                "data": { "৪২": "khajit has wares if you have coin" },
                "valid": true
            }
        ]
    }
]