• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[
2    {
3        "description": "Proper UTF-16 surrogate pair handling: pattern",
4        "comment": "Optional because .Net doesn't correctly handle 32-bit Unicode characters",
5        "schema": {
6            "$schema": "https://json-schema.org/draft/next/schema",
7            "pattern": "^��*$"
8        },
9        "tests": [
10            {
11                "description": "matches empty",
12                "data": "",
13                "valid": true
14            },
15            {
16                "description": "matches single",
17                "data": "��",
18                "valid": true
19            },
20            {
21                "description": "matches two",
22                "data": "����",
23                "valid": true
24            },
25            {
26                "description": "doesn't match one",
27                "data": "��",
28                "valid": false
29            },
30            {
31                "description": "doesn't match two",
32                "data": "����",
33                "valid": false
34            },
35            {
36                "description": "doesn't match one ASCII",
37                "data": "D",
38                "valid": false
39            },
40            {
41                "description": "doesn't match two ASCII",
42                "data": "DD",
43                "valid": false
44            }
45        ]
46    },
47    {
48        "description": "Proper UTF-16 surrogate pair handling: patternProperties",
49        "comment": "Optional because .Net doesn't correctly handle 32-bit Unicode characters",
50        "schema": {
51            "$schema": "https://json-schema.org/draft/next/schema",
52            "patternProperties": {
53                "^��*$": {
54                    "type": "integer"
55                }
56            }
57        },
58        "tests": [
59            {
60                "description": "matches empty",
61                "data": { "": 1 },
62                "valid": true
63            },
64            {
65                "description": "matches single",
66                "data": { "��": 1 },
67                "valid": true
68            },
69            {
70                "description": "matches two",
71                "data": { "����": 1 },
72                "valid": true
73            },
74            {
75                "description": "doesn't match one",
76                "data": { "��": "hello" },
77                "valid": false
78            },
79            {
80                "description": "doesn't match two",
81                "data": { "����": "hello" },
82                "valid": false
83            }
84        ]
85    }
86]
87