json: don't use c++20 designated initializers
This commit is contained in:
parent
3b3ad949f5
commit
235ff6858d
1 changed files with 42 additions and 42 deletions
|
@ -82,8 +82,8 @@ static void run_all(const TestCase& tc) {
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
run_all({
|
run_all({
|
||||||
.name = "exotic formats",
|
"exotic formats",
|
||||||
.schema = R"""({
|
R"""({
|
||||||
"items": [
|
"items": [
|
||||||
{ "format": "date" },
|
{ "format": "date" },
|
||||||
{ "format": "uuid" },
|
{ "format": "uuid" },
|
||||||
|
@ -91,7 +91,7 @@ int main() {
|
||||||
{ "format": "date-time" }
|
{ "format": "date-time" }
|
||||||
]
|
]
|
||||||
})""",
|
})""",
|
||||||
.expected = R"""(
|
R"""(
|
||||||
date ::= [0-9] [0-9] [0-9] [0-9] "-" ( "0" [1-9] | "1" [0-2] ) "-" ( [0-2] [0-9] | "3" [0-1] )
|
date ::= [0-9] [0-9] [0-9] [0-9] "-" ( "0" [1-9] | "1" [0-2] ) "-" ( [0-2] [0-9] | "3" [0-1] )
|
||||||
date-string ::= "\"" date "\"" space
|
date-string ::= "\"" date "\"" space
|
||||||
date-time ::= date "T" time
|
date-time ::= date "T" time
|
||||||
|
@ -105,11 +105,11 @@ int main() {
|
||||||
});
|
});
|
||||||
|
|
||||||
run_all({
|
run_all({
|
||||||
.name = "string",
|
"string",
|
||||||
.schema = R"""({
|
R"""({
|
||||||
"type": "string"
|
"type": "string"
|
||||||
})""",
|
})""",
|
||||||
.expected = R"""(
|
R"""(
|
||||||
root ::= "\"" (
|
root ::= "\"" (
|
||||||
[^"\\] |
|
[^"\\] |
|
||||||
"\\" (["\\/bfnrt] | "u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F])
|
"\\" (["\\/bfnrt] | "u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F])
|
||||||
|
@ -119,33 +119,33 @@ int main() {
|
||||||
});
|
});
|
||||||
|
|
||||||
run_all({
|
run_all({
|
||||||
.name = "boolean",
|
"boolean",
|
||||||
.schema = R"""({
|
R"""({
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
})""",
|
})""",
|
||||||
.expected = R"""(
|
R"""(
|
||||||
root ::= ("true" | "false") space
|
root ::= ("true" | "false") space
|
||||||
space ::= " "?
|
space ::= " "?
|
||||||
)"""
|
)"""
|
||||||
});
|
});
|
||||||
|
|
||||||
run_all({
|
run_all({
|
||||||
.name = "integer",
|
"integer",
|
||||||
.schema = R"""({
|
R"""({
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
})""",
|
})""",
|
||||||
.expected = R"""(
|
R"""(
|
||||||
root ::= ("-"? ([0-9] | [1-9] [0-9]*)) space
|
root ::= ("-"? ([0-9] | [1-9] [0-9]*)) space
|
||||||
space ::= " "?
|
space ::= " "?
|
||||||
)"""
|
)"""
|
||||||
});
|
});
|
||||||
|
|
||||||
run_all({
|
run_all({
|
||||||
.name = "tuple1",
|
"tuple1",
|
||||||
.schema = R"""({
|
R"""({
|
||||||
"prefixItems": [{ "type": "string" }]
|
"prefixItems": [{ "type": "string" }]
|
||||||
})""",
|
})""",
|
||||||
.expected = R"""(
|
R"""(
|
||||||
root ::= "[" space string "]" space
|
root ::= "[" space string "]" space
|
||||||
space ::= " "?
|
space ::= " "?
|
||||||
string ::= "\"" (
|
string ::= "\"" (
|
||||||
|
@ -156,11 +156,11 @@ int main() {
|
||||||
});
|
});
|
||||||
|
|
||||||
run_all({
|
run_all({
|
||||||
.name = "tuple2",
|
"tuple2",
|
||||||
.schema = R"""({
|
R"""({
|
||||||
"prefixItems": [{ "type": "string" }, { "type": "number" }]
|
"prefixItems": [{ "type": "string" }, { "type": "number" }]
|
||||||
})""",
|
})""",
|
||||||
.expected = R"""(
|
R"""(
|
||||||
number ::= ("-"? ([0-9] | [1-9] [0-9]*)) ("." [0-9]+)? ([eE] [-+]? [0-9]+)? space
|
number ::= ("-"? ([0-9] | [1-9] [0-9]*)) ("." [0-9]+)? ([eE] [-+]? [0-9]+)? space
|
||||||
root ::= "[" space string "," space number "]" space
|
root ::= "[" space string "," space number "]" space
|
||||||
space ::= " "?
|
space ::= " "?
|
||||||
|
@ -172,25 +172,25 @@ int main() {
|
||||||
});
|
});
|
||||||
|
|
||||||
run_all({
|
run_all({
|
||||||
.name = "number",
|
"number",
|
||||||
.schema = R"""({
|
R"""({
|
||||||
"type": "number"
|
"type": "number"
|
||||||
})""",
|
})""",
|
||||||
.expected = R"""(
|
R"""(
|
||||||
root ::= ("-"? ([0-9] | [1-9] [0-9]*)) ("." [0-9]+)? ([eE] [-+]? [0-9]+)? space
|
root ::= ("-"? ([0-9] | [1-9] [0-9]*)) ("." [0-9]+)? ([eE] [-+]? [0-9]+)? space
|
||||||
space ::= " "?
|
space ::= " "?
|
||||||
)"""
|
)"""
|
||||||
});
|
});
|
||||||
|
|
||||||
run_all({
|
run_all({
|
||||||
.name = "minItems",
|
"minItems",
|
||||||
.schema = R"""({
|
R"""({
|
||||||
"items": {
|
"items": {
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
"minItems": 2
|
"minItems": 2
|
||||||
})""",
|
})""",
|
||||||
.expected = R"""(
|
R"""(
|
||||||
boolean ::= ("true" | "false") space
|
boolean ::= ("true" | "false") space
|
||||||
root ::= "[" space boolean ( "," space boolean )( "," space boolean )* "]" space
|
root ::= "[" space boolean ( "," space boolean )( "," space boolean )* "]" space
|
||||||
space ::= " "?
|
space ::= " "?
|
||||||
|
@ -198,14 +198,14 @@ int main() {
|
||||||
});
|
});
|
||||||
|
|
||||||
run_all({
|
run_all({
|
||||||
.name = "maxItems 1",
|
"maxItems 1",
|
||||||
.schema = R"""({
|
R"""({
|
||||||
"items": {
|
"items": {
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
"maxItems": 1
|
"maxItems": 1
|
||||||
})""",
|
})""",
|
||||||
.expected = R"""(
|
R"""(
|
||||||
boolean ::= ("true" | "false") space
|
boolean ::= ("true" | "false") space
|
||||||
root ::= "[" space ( boolean )? "]" space
|
root ::= "[" space ( boolean )? "]" space
|
||||||
space ::= " "?
|
space ::= " "?
|
||||||
|
@ -213,14 +213,14 @@ int main() {
|
||||||
});
|
});
|
||||||
|
|
||||||
run_all({
|
run_all({
|
||||||
.name = "maxItems 2",
|
"maxItems 2",
|
||||||
.schema = R"""({
|
R"""({
|
||||||
"items": {
|
"items": {
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
"maxItems": 2
|
"maxItems": 2
|
||||||
})""",
|
})""",
|
||||||
.expected = R"""(
|
R"""(
|
||||||
boolean ::= ("true" | "false") space
|
boolean ::= ("true" | "false") space
|
||||||
root ::= "[" space ( boolean ( "," space boolean )? )? "]" space
|
root ::= "[" space ( boolean ( "," space boolean )? )? "]" space
|
||||||
space ::= " "?
|
space ::= " "?
|
||||||
|
@ -228,15 +228,15 @@ int main() {
|
||||||
});
|
});
|
||||||
|
|
||||||
run_all({
|
run_all({
|
||||||
.name = "min + maxItems",
|
"min + maxItems",
|
||||||
.schema = R"""({
|
R"""({
|
||||||
"items": {
|
"items": {
|
||||||
"type": ["number", "integer"]
|
"type": ["number", "integer"]
|
||||||
},
|
},
|
||||||
"minItems": 3,
|
"minItems": 3,
|
||||||
"maxItems": 5
|
"maxItems": 5
|
||||||
})""",
|
})""",
|
||||||
.expected = R"""(
|
R"""(
|
||||||
integer ::= ("-"? ([0-9] | [1-9] [0-9]*)) space
|
integer ::= ("-"? ([0-9] | [1-9] [0-9]*)) space
|
||||||
item ::= number | integer
|
item ::= number | integer
|
||||||
number ::= ("-"? ([0-9] | [1-9] [0-9]*)) ("." [0-9]+)? ([eE] [-+]? [0-9]+)? space
|
number ::= ("-"? ([0-9] | [1-9] [0-9]*)) ("." [0-9]+)? ([eE] [-+]? [0-9]+)? space
|
||||||
|
@ -246,12 +246,12 @@ int main() {
|
||||||
});
|
});
|
||||||
|
|
||||||
run_all({
|
run_all({
|
||||||
.name = "regexp",
|
"regexp",
|
||||||
.schema = R"""({
|
R"""({
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"pattern": "^(\\([0-9]{1,3}\\))?[0-9]{3}-[0-9]{4} and...$"
|
"pattern": "^(\\([0-9]{1,3}\\))?[0-9]{3}-[0-9]{4} and...$"
|
||||||
})""",
|
})""",
|
||||||
.expected = R"""(
|
R"""(
|
||||||
dot ::= [\U00000000-\x09\x0B\x0C\x0E-\U0010FFFF]
|
dot ::= [\U00000000-\x09\x0B\x0C\x0E-\U0010FFFF]
|
||||||
root ::= ("(" root-1 root-1? root-1? ")")? root-1 root-1 root-1 "-" root-1 root-1 root-1 root-1 " and" dot dot dot
|
root ::= ("(" root-1 root-1? root-1? ")")? root-1 root-1 root-1 "-" root-1 root-1 root-1 root-1 " and" dot dot dot
|
||||||
root-1 ::= [0-9]
|
root-1 ::= [0-9]
|
||||||
|
@ -260,8 +260,8 @@ int main() {
|
||||||
});
|
});
|
||||||
|
|
||||||
run_all({
|
run_all({
|
||||||
.name = "optionals",
|
"optionals",
|
||||||
.schema = R"""({
|
R"""({
|
||||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -307,7 +307,7 @@ int main() {
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"definitions": {}
|
"definitions": {}
|
||||||
})""",
|
})""",
|
||||||
.expected = R"""(
|
R"""(
|
||||||
a-kv ::= "\"a\"" space ":" space string
|
a-kv ::= "\"a\"" space ":" space string
|
||||||
b-kv ::= "\"b\"" space ":" space string
|
b-kv ::= "\"b\"" space ":" space string
|
||||||
c ::= number | string
|
c ::= number | string
|
||||||
|
@ -331,8 +331,8 @@ int main() {
|
||||||
});
|
});
|
||||||
|
|
||||||
run_all({
|
run_all({
|
||||||
.name = "top-level $ref",
|
"top-level $ref",
|
||||||
.schema = R"""({
|
R"""({
|
||||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||||
"$ref": "#/definitions/MyType",
|
"$ref": "#/definitions/MyType",
|
||||||
"definitions": {
|
"definitions": {
|
||||||
|
@ -350,7 +350,7 @@ int main() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})""",
|
})""",
|
||||||
.expected = R"""(
|
R"""(
|
||||||
MyType ::= "{" space MyType-a-kv "}" space
|
MyType ::= "{" space MyType-a-kv "}" space
|
||||||
MyType-a-kv ::= "\"a\"" space ":" space string
|
MyType-a-kv ::= "\"a\"" space ":" space string
|
||||||
root ::= MyType
|
root ::= MyType
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue