From f21b8c360e66527911258828a86c280c842202f4 Mon Sep 17 00:00:00 2001 From: Antonio Cervone Date: Mon, 30 Nov 2015 12:43:40 +0100 Subject: [PATCH] add malformed comment tests. add 3 testes for: - unended multi-line comment, - malformed single-line comment, - trailing slash --- test.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/test.cpp b/test.cpp index 87f27ed..ba786d8 100644 --- a/test.cpp +++ b/test.cpp @@ -80,6 +80,45 @@ int main(int argc, char **argv) { printf("Result: %s\n", json_comment.dump().c_str()); } + string failing_comment_test = R"({ + /* bad comment + "a": 1, + })"; + + string err_failing_comment; + auto json_failing_comment = Json::parse( + failing_comment_test, err_failing_comment, /*detect_comments=*/ true); + if (!err_failing_comment.empty()) { + printf("Failed: %s\n", err_failing_comment.c_str()); + } else { + printf("Result: %s\n", json_failing_comment.dump().c_str()); + } + + failing_comment_test = R"({ + / / bad comment + "a": 1, + })"; + + json_failing_comment = Json::parse( + failing_comment_test, err_failing_comment, /*detect_comments=*/ true); + if (!err_failing_comment.empty()) { + printf("Failed: %s\n", err_failing_comment.c_str()); + } else { + printf("Result: %s\n", json_failing_comment.dump().c_str()); + } + + failing_comment_test = R"({ + "a": 1, + }/)"; + + json_failing_comment = Json::parse( + failing_comment_test, err_failing_comment, /*detect_comments=*/ true); + if (!err_failing_comment.empty()) { + printf("Failed: %s\n", err_failing_comment.c_str()); + } else { + printf("Result: %s\n", json_failing_comment.dump().c_str()); + } + std::list l1 { 1, 2, 3 }; std::vector l2 { 1, 2, 3 }; std::set l3 { 1, 2, 3 };