Add utf-8 unescaping test
This commit is contained in:
13
src/test.cpp
13
src/test.cpp
@@ -208,7 +208,7 @@ TEST_CASE("parser3") {
|
|||||||
|
|
||||||
TEST_CASE("streaming") { testStreaming(json); }
|
TEST_CASE("streaming") { testStreaming(json); }
|
||||||
|
|
||||||
TEST_CASE("unescaping") {
|
TEST_CASE("unescaping basic") {
|
||||||
auto c = noopCallbacks();
|
auto c = noopCallbacks();
|
||||||
c.on_string_data = +[](void *, const char *buf, int len) {
|
c.on_string_data = +[](void *, const char *buf, int len) {
|
||||||
CHECK(std::string(buf, len) == "\n");
|
CHECK(std::string(buf, len) == "\n");
|
||||||
@@ -219,6 +219,17 @@ TEST_CASE("unescaping") {
|
|||||||
CHECK(parser.parse(nullptr, 0) == parser3::S_OK);
|
CHECK(parser.parse(nullptr, 0) == parser3::S_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_CASE("unescaping utf-8") {
|
||||||
|
auto c = noopCallbacks();
|
||||||
|
c.on_string_data = +[](void *, const char *buf, int len) {
|
||||||
|
CHECK(std::string(buf, len) == "\uaB34");
|
||||||
|
};
|
||||||
|
std::string copy = "\"\\uaB34\"";
|
||||||
|
parser3::Parser3 parser(&c, nullptr);
|
||||||
|
CHECK(parser.parse(copy.data(), copy.length()) == parser3::S_AGAIN);
|
||||||
|
CHECK(parser.parse(nullptr, 0) == parser3::S_OK);
|
||||||
|
}
|
||||||
|
|
||||||
TEST_CASE("bench3") {
|
TEST_CASE("bench3") {
|
||||||
auto c = noopCallbacks();
|
auto c = noopCallbacks();
|
||||||
ankerl::nanobench::Bench bench;
|
ankerl::nanobench::Bench bench;
|
||||||
|
|||||||
Reference in New Issue
Block a user