Add T_EOF

This commit is contained in:
2025-05-17 17:15:01 -04:00
parent 37c860ce62
commit 925429f8e4
3 changed files with 44 additions and 41 deletions

View File

@@ -544,15 +544,24 @@ TEST_CASE("parser2") {
for (; i < copy.length() - 1; ++i) {
REQUIRE(parser.parse(copy.data() + i, 1) == Parser2::S_AGAIN);
}
CHECK(parser.parse(copy.data() + i, 1) == Parser2::S_OK);
CHECK(parser.parse(copy.data() + i, 1) == Parser2::S_AGAIN);
CHECK(parser.parse(nullptr, 0) == Parser2::S_OK);
puts("");
}
{
std::string copy = "{\"x\": [], \"y\": {}}";
Parser2 parser(&c, &state);
CHECK(parser.parse(copy.data(), copy.length()) == Parser2::S_OK);
CHECK(parser.parse(copy.data(), copy.length()) == Parser2::S_AGAIN);
CHECK(parser.parse(nullptr, 0) == Parser2::S_OK);
puts("");
}
{
auto c = noopCallbacks();
std::string copy = "{\"a\":\"a";
Parser2 parser(&c, &state);
CHECK(parser.parse(copy.data(), copy.length()) == Parser2::S_AGAIN);
CHECK(parser.parse(nullptr, 0) == Parser2::S_REJECT);
}
}
TEST_CASE("bench1") {