summaryrefslogtreecommitdiff
path: root/json/tests/draft4/optional/non-bmp-regex.json
diff options
context:
space:
mode:
Diffstat (limited to 'json/tests/draft4/optional/non-bmp-regex.json')
-rw-r--r--json/tests/draft4/optional/non-bmp-regex.json82
1 files changed, 82 insertions, 0 deletions
diff --git a/json/tests/draft4/optional/non-bmp-regex.json b/json/tests/draft4/optional/non-bmp-regex.json
new file mode 100644
index 0000000..dd67af2
--- /dev/null
+++ b/json/tests/draft4/optional/non-bmp-regex.json
@@ -0,0 +1,82 @@
+[
+ {
+ "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
+ }
+ ]
+ }
+]