Added RawNumber() to fix unit tests

This commit is contained in:
Sergey Kosarevsky 2016-02-29 18:05:05 +01:00
parent 3dba370486
commit 1ffb335915
2 changed files with 29 additions and 25 deletions

View File

@ -1351,12 +1351,13 @@ struct TerminateHandler {
bool Int64(int64_t) { return e != 4; } bool Int64(int64_t) { return e != 4; }
bool Uint64(uint64_t) { return e != 5; } bool Uint64(uint64_t) { return e != 5; }
bool Double(double) { return e != 6; } bool Double(double) { return e != 6; }
bool String(const char*, SizeType, bool) { return e != 7; } bool RawNumber(const char*, SizeType, bool) { return e != 7; }
bool StartObject() { return e != 8; } bool String(const char*, SizeType, bool) { return e != 8; }
bool Key(const char*, SizeType, bool) { return e != 9; } bool StartObject() { return e != 9; }
bool EndObject(SizeType) { return e != 10; } bool Key(const char*, SizeType, bool) { return e != 10; }
bool StartArray() { return e != 11; } bool EndObject(SizeType) { return e != 11; }
bool EndArray(SizeType) { return e != 12; } bool StartArray() { return e != 12; }
bool EndArray(SizeType) { return e != 13; }
}; };
#define TEST_TERMINATION(e, json)\ #define TEST_TERMINATION(e, json)\
@ -1377,14 +1378,15 @@ TEST(Reader, ParseTerminationByHandler) {
TEST_TERMINATION(4, "[-1234567890123456789"); TEST_TERMINATION(4, "[-1234567890123456789");
TEST_TERMINATION(5, "[1234567890123456789"); TEST_TERMINATION(5, "[1234567890123456789");
TEST_TERMINATION(6, "[0.5]"); TEST_TERMINATION(6, "[0.5]");
TEST_TERMINATION(7, "[\"a\""); // RawNumber() is never called
TEST_TERMINATION(8, "[{"); TEST_TERMINATION(8, "[\"a\"");
TEST_TERMINATION(9, "[{\"a\""); TEST_TERMINATION(9, "[{");
TEST_TERMINATION(10, "[{}"); TEST_TERMINATION(10, "[{\"a\"");
TEST_TERMINATION(10, "[{\"a\":1}"); // non-empty object TEST_TERMINATION(11, "[{}");
TEST_TERMINATION(11, "{\"a\":["); TEST_TERMINATION(11, "[{\"a\":1}"); // non-empty object
TEST_TERMINATION(12, "{\"a\":[]"); TEST_TERMINATION(12, "{\"a\":[");
TEST_TERMINATION(12, "{\"a\":[1]"); // non-empty array TEST_TERMINATION(13, "{\"a\":[]");
TEST_TERMINATION(13, "{\"a\":[1]"); // non-empty array
} }
TEST(Reader, ParseComments) { TEST(Reader, ParseComments) {

View File

@ -1644,12 +1644,13 @@ struct TerminateHandler {
bool Int64(int64_t) { return e != 4; } bool Int64(int64_t) { return e != 4; }
bool Uint64(uint64_t) { return e != 5; } bool Uint64(uint64_t) { return e != 5; }
bool Double(double) { return e != 6; } bool Double(double) { return e != 6; }
bool String(const char*, SizeType, bool) { return e != 7; } bool RawNumber(const char*, SizeType, bool) { return e != 7; }
bool StartObject() { return e != 8; } bool String(const char*, SizeType, bool) { return e != 8; }
bool Key(const char*, SizeType, bool) { return e != 9; } bool StartObject() { return e != 9; }
bool EndObject(SizeType) { return e != 10; } bool Key(const char*, SizeType, bool) { return e != 10; }
bool StartArray() { return e != 11; } bool EndObject(SizeType) { return e != 11; }
bool EndArray(SizeType) { return e != 12; } bool StartArray() { return e != 12; }
bool EndArray(SizeType) { return e != 13; }
}; };
#define TEST_TERMINATION(e, json)\ #define TEST_TERMINATION(e, json)\
@ -1670,12 +1671,13 @@ TEST(Value, AcceptTerminationByHandler) {
TEST_TERMINATION(4, "[-1234567890123456789]"); TEST_TERMINATION(4, "[-1234567890123456789]");
TEST_TERMINATION(5, "[9223372036854775808]"); TEST_TERMINATION(5, "[9223372036854775808]");
TEST_TERMINATION(6, "[0.5]"); TEST_TERMINATION(6, "[0.5]");
TEST_TERMINATION(7, "[\"a\"]"); // RawNumber() is never called
TEST_TERMINATION(8, "[{}]"); TEST_TERMINATION(8, "[\"a\"]");
TEST_TERMINATION(9, "[{\"a\":1}]"); TEST_TERMINATION(9, "[{}]");
TEST_TERMINATION(10, "[{}]"); TEST_TERMINATION(10, "[{\"a\":1}]");
TEST_TERMINATION(11, "{\"a\":[]}"); TEST_TERMINATION(11, "[{}]");
TEST_TERMINATION(12, "{\"a\":[]}"); TEST_TERMINATION(12, "{\"a\":[]}");
TEST_TERMINATION(13, "{\"a\":[]}");
} }
struct ValueIntComparer { struct ValueIntComparer {