mirror of
https://github.com/Tencent/rapidjson.git
synced 2025-03-09 19:24:23 +01:00
Added insitu parsing test for kParseStopWhenDoneFlag
Related to discussion in #83
This commit is contained in:
parent
e6f344637b
commit
fdd380bbc0
@ -578,6 +578,29 @@ TEST(Reader, ParseIterative_MultipleRoot) {
|
||||
TestMultipleRoot<kParseIterativeFlag | kParseStopWhenDoneFlag>();
|
||||
}
|
||||
|
||||
template <unsigned parseFlags>
|
||||
void TestInsituMultipleRoot() {
|
||||
char* buffer = strdup("{}[] a");
|
||||
InsituStringStream s(buffer);
|
||||
ParseMultipleRootHandler h;
|
||||
Reader reader;
|
||||
EXPECT_TRUE(reader.Parse<kParseInsituFlag | parseFlags>(s, h));
|
||||
EXPECT_EQ(2u, h.step_);
|
||||
EXPECT_TRUE(reader.Parse<kParseInsituFlag | parseFlags>(s, h));
|
||||
EXPECT_EQ(4u, h.step_);
|
||||
EXPECT_EQ(' ', s.Take());
|
||||
EXPECT_EQ('a', s.Take());
|
||||
free(buffer);
|
||||
}
|
||||
|
||||
TEST(Reader, ParseInsitu_MultipleRoot) {
|
||||
TestInsituMultipleRoot<kParseStopWhenDoneFlag>();
|
||||
}
|
||||
|
||||
TEST(Reader, ParseInsituIterative_MultipleRoot) {
|
||||
TestInsituMultipleRoot<kParseIterativeFlag | kParseStopWhenDoneFlag>();
|
||||
}
|
||||
|
||||
#define TEST_ERROR(errorCode, str) \
|
||||
{ \
|
||||
char buffer[1001]; \
|
||||
|
Loading…
x
Reference in New Issue
Block a user