83 lines
2.3 KiB
JSON
83 lines
2.3 KiB
JSON
[
|
|
{
|
|
"description": "Proper UTF-16 surrogate pair handling: pattern",
|
|
"comment": "Optional because .Net doesn't correctly handle 32-bit Unicode characters",
|
|
"schema": { "pattern": "^🐲*$" },
|
|
"tests": [
|
|
{
|
|
"description": "matches empty",
|
|
"data": "",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "matches single",
|
|
"data": "🐲",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "matches two",
|
|
"data": "🐲🐲",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "doesn't match one",
|
|
"data": "🐉",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "doesn't match two",
|
|
"data": "🐉🐉",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "doesn't match one ASCII",
|
|
"data": "D",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "doesn't match two ASCII",
|
|
"data": "DD",
|
|
"valid": false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Proper UTF-16 surrogate pair handling: patternProperties",
|
|
"comment": "Optional because .Net doesn't correctly handle 32-bit Unicode characters",
|
|
"schema": {
|
|
"patternProperties": {
|
|
"^🐲*$": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "matches empty",
|
|
"data": { "": 1 },
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "matches single",
|
|
"data": { "🐲": 1 },
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "matches two",
|
|
"data": { "🐲🐲": 1 },
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "doesn't match one",
|
|
"data": { "🐲": "hello" },
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "doesn't match two",
|
|
"data": { "🐲🐲": "hello" },
|
|
"valid": false
|
|
}
|
|
]
|
|
}
|
|
]
|