idl_gen_json_schema Fix generation of arrays of enums (#6184)

* idl_gen_json_schema.cpp: Fixed generation of arrays of enums
#6175

* Fixed failing unit tests

* GenBaseType generate "integer".
Fixes #6066

* Ran tests/generate_code.

* Removed modern R"()" strings

* changed std::to_string to NumToString
This commit is contained in:
schoetbi
2020-10-16 19:43:09 +02:00
committed by GitHub
parent 0e1415b996
commit a402b3abae
3 changed files with 111 additions and 89 deletions

View File

@@ -9,7 +9,7 @@
"type" : "object",
"properties" : {
"a" : {
"type" : "array", "items" : { "type" : "number" },
"type" : "array", "items" : {"type" : "integer", "minimum" : -2147483648, "maximum" : 2147483647},
"minItems": 2,
"maxItems": 2
},
@@ -22,7 +22,7 @@
"maxItems": 2
},
"d" : {
"type" : "array", "items" : { "type" : "number" },
"type" : "array", "items" : {"type" : "integer", "minimum" : -9223372036854775808, "maximum" : 9223372036854775807},
"minItems": 2,
"maxItems": 2
}
@@ -36,23 +36,23 @@
"type" : "number"
},
"b" : {
"type" : "array", "items" : { "type" : "number" },
"type" : "array", "items" : {"type" : "integer", "minimum" : -2147483648, "maximum" : 2147483647},
"minItems": 15,
"maxItems": 15
},
"c" : {
"type" : "number"
"type" : "integer", "minimum" : -128, "maximum" : 127"
},
"d" : {
"type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_NestedStruct" },
"$ref" : "#/definitions/MyGame_Example_NestedStruct",
"minItems": 2,
"maxItems": 2
},
"e" : {
"type" : "number"
"type" : "integer", "minimum" : -2147483648, "maximum" : 2147483647
},
"f" : {
"type" : "array", "items" : { "type" : "number" },
"type" : "array", "items" : {"type" : "integer", "minimum" : -9223372036854775808, "maximum" : 9223372036854775807},
"minItems": 2,
"maxItems": 2
}

View File

@@ -29,7 +29,7 @@
"type" : "object",
"properties" : {
"a" : {
"type" : "number"
"type" : "integer", "minimum" : -2147483648, "maximum" : 2147483647
}
},
"additionalProperties" : false
@@ -68,10 +68,10 @@
"type" : "object",
"properties" : {
"a" : {
"type" : "number"
"type" : "integer", "minimum" : -32768, "maximum" : 32767
},
"b" : {
"type" : "number"
"type" : "integer", "minimum" : -128, "maximum" : 127"
}
},
"additionalProperties" : false
@@ -113,10 +113,10 @@
"type" : "object",
"properties" : {
"id" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" : 4294967295
},
"distance" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" : 4294967295
}
},
"additionalProperties" : false
@@ -128,10 +128,10 @@
"type" : "string"
},
"val" : {
"type" : "number"
"type" : "integer", "minimum" : -9223372036854775808, "maximum" : 9223372036854775807
},
"count" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" : 65535
}
},
"additionalProperties" : false
@@ -140,7 +140,7 @@
"type" : "object",
"properties" : {
"id" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615
}
},
"additionalProperties" : false
@@ -153,10 +153,10 @@
"$ref" : "#/definitions/MyGame_Example_Vec3"
},
"mana" : {
"type" : "number"
"type" : "integer", "minimum" : -32768, "maximum" : 32767
},
"hp" : {
"type" : "number"
"type" : "integer", "minimum" : -32768, "maximum" : 32767
},
"name" : {
"type" : "string"
@@ -166,7 +166,7 @@
"deprecated" : true,
},
"inventory" : {
"type" : "array", "items" : { "type" : "number" }
"type" : "array", "items" : {"type" : "integer", "minimum" : 0, "maximum" :255"}
},
"color" : {
"$ref" : "#/definitions/MyGame_Example_Color"
@@ -178,19 +178,19 @@
"anyOf": [{ "$ref" : "#/definitions/MyGame_Example_Monster" },{ "$ref" : "#/definitions/MyGame_Example_TestSimpleTableWithEnum" },{ "$ref" : "#/definitions/MyGame_Example2_Monster" }]
},
"test4" : {
"type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Test" }
"$ref" : "#/definitions/MyGame_Example_Test"
},
"testarrayofstring" : {
"type" : "array", "items" : { "type" : "string" }
"type" : "array", "items" : {"type" : "string"}
},
"testarrayoftables" : {
"type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Monster" }
"$ref" : "#/definitions/MyGame_Example_Monster"
},
"enemy" : {
"$ref" : "#/definitions/MyGame_Example_Monster"
},
"testnestedflatbuffer" : {
"type" : "array", "items" : { "type" : "number" }
"type" : "array", "items" : {"type" : "integer", "minimum" : 0, "maximum" :255"}
},
"testempty" : {
"$ref" : "#/definitions/MyGame_Example_Stat"
@@ -199,31 +199,31 @@
"type" : "boolean"
},
"testhashs32_fnv1" : {
"type" : "number"
"type" : "integer", "minimum" : -2147483648, "maximum" : 2147483647
},
"testhashu32_fnv1" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" : 4294967295
},
"testhashs64_fnv1" : {
"type" : "number"
"type" : "integer", "minimum" : -9223372036854775808, "maximum" : 9223372036854775807
},
"testhashu64_fnv1" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615
},
"testhashs32_fnv1a" : {
"type" : "number"
"type" : "integer", "minimum" : -2147483648, "maximum" : 2147483647
},
"testhashu32_fnv1a" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" : 4294967295
},
"testhashs64_fnv1a" : {
"type" : "number"
"type" : "integer", "minimum" : -9223372036854775808, "maximum" : 9223372036854775807
},
"testhashu64_fnv1a" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615
},
"testarrayofbools" : {
"type" : "array", "items" : { "type" : "boolean" }
"type" : "array", "items" : {"type" : "boolean"}
},
"testf" : {
"type" : "number"
@@ -235,49 +235,49 @@
"type" : "number"
},
"testarrayofstring2" : {
"type" : "array", "items" : { "type" : "string" }
"type" : "array", "items" : {"type" : "string"}
},
"testarrayofsortedstruct" : {
"type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Ability" }
"$ref" : "#/definitions/MyGame_Example_Ability"
},
"flex" : {
"type" : "array", "items" : { "type" : "number" }
"type" : "array", "items" : {"type" : "integer", "minimum" : 0, "maximum" :255"}
},
"test5" : {
"type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Test" }
"$ref" : "#/definitions/MyGame_Example_Test"
},
"vector_of_longs" : {
"type" : "array", "items" : { "type" : "number" }
"type" : "array", "items" : {"type" : "integer", "minimum" : -9223372036854775808, "maximum" : 9223372036854775807}
},
"vector_of_doubles" : {
"type" : "array", "items" : { "type" : "number" }
"type" : "array", "items" : {"type" : "number"}
},
"parent_namespace_test" : {
"$ref" : "#/definitions/MyGame_InParentNamespace"
},
"vector_of_referrables" : {
"type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Referrable" }
"$ref" : "#/definitions/MyGame_Example_Referrable"
},
"single_weak_reference" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615
},
"vector_of_weak_references" : {
"type" : "array", "items" : { "type" : "number" }
"type" : "array", "items" : {"type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615}
},
"vector_of_strong_referrables" : {
"type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Referrable" }
"$ref" : "#/definitions/MyGame_Example_Referrable"
},
"co_owning_reference" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615
},
"vector_of_co_owning_references" : {
"type" : "array", "items" : { "type" : "number" }
"type" : "array", "items" : {"type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615}
},
"non_owning_reference" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615
},
"vector_of_non_owning_references" : {
"type" : "array", "items" : { "type" : "number" }
"type" : "array", "items" : {"type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615}
},
"any_unique_type" : {
"$ref" : "#/definitions/MyGame_Example_AnyUniqueAliases"
@@ -305,28 +305,28 @@
"type" : "object",
"properties" : {
"i8" : {
"type" : "number"
"type" : "integer", "minimum" : -128, "maximum" : 127"
},
"u8" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" :255"
},
"i16" : {
"type" : "number"
"type" : "integer", "minimum" : -32768, "maximum" : 32767
},
"u16" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" : 65535
},
"i32" : {
"type" : "number"
"type" : "integer", "minimum" : -2147483648, "maximum" : 2147483647
},
"u32" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" : 4294967295
},
"i64" : {
"type" : "number"
"type" : "integer", "minimum" : -9223372036854775808, "maximum" : 9223372036854775807
},
"u64" : {
"type" : "number"
"type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615
},
"f32" : {
"type" : "number"
@@ -335,10 +335,10 @@
"type" : "number"
},
"v8" : {
"type" : "array", "items" : { "type" : "number" }
"type" : "array", "items" : {"type" : "integer", "minimum" : -128, "maximum" : 127"}
},
"vf64" : {
"type" : "array", "items" : { "type" : "number" }
"type" : "array", "items" : {"type" : "number"}
}
},
"additionalProperties" : false