mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-02 04:04:19 +00:00
* Clean-up nested_parser on all paths (#5179) * Added test for parsing json with invalid nested flatbuffer * Removed utf-8 BOM from test.cpp
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
2e865f4d4e
commit
1c7d91cc55
@@ -1996,6 +1996,26 @@ void ParseUnionTest() {
|
||||
true);
|
||||
}
|
||||
|
||||
void InvalidNestedFlatbufferTest() {
|
||||
// First, load and parse FlatBuffer schema (.fbs)
|
||||
std::string schemafile;
|
||||
TEST_EQ(flatbuffers::LoadFile((test_data_path + "monster_test.fbs").c_str(),
|
||||
false, &schemafile),
|
||||
true);
|
||||
auto include_test_path =
|
||||
flatbuffers::ConCatPathFileName(test_data_path, "include_test");
|
||||
const char *include_directories[] = { test_data_path.c_str(),
|
||||
include_test_path.c_str(), nullptr };
|
||||
flatbuffers::Parser parser1;
|
||||
TEST_EQ(parser1.Parse(schemafile.c_str(), include_directories), true);
|
||||
|
||||
// "color" inside nested flatbuffer contains invalid enum value
|
||||
TEST_EQ(parser1.Parse("{ name: \"Bender\", testnestedflatbuffer: { name: "
|
||||
"\"Leela\", color: \"nonexistent\"}}"),
|
||||
false);
|
||||
// Check that Parser is destroyed correctly after parsing invalid json
|
||||
}
|
||||
|
||||
void UnionVectorTest() {
|
||||
// load FlatBuffer fbs schema.
|
||||
// TODO: load a JSON file with such a vector when JSON support is ready.
|
||||
@@ -2524,6 +2544,7 @@ int FlatBufferTests() {
|
||||
InvalidUTF8Test();
|
||||
UnknownFieldsTest();
|
||||
ParseUnionTest();
|
||||
InvalidNestedFlatbufferTest();
|
||||
ConformTest();
|
||||
ParseProtoBufAsciiTest();
|
||||
TypeAliasesTest();
|
||||
|
||||
Reference in New Issue
Block a user