diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/cctest/test_report_util.cc | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/cctest/test_report_util.cc b/test/cctest/test_report_util.cc new file mode 100644 index 0000000000..e32558ef75 --- /dev/null +++ b/test/cctest/test_report_util.cc @@ -0,0 +1,26 @@ +#include "node_report.h" + +#include "gtest/gtest.h" + +TEST(ReportUtilTest, EscapeJsonChars) { + using report::EscapeJsonChars; + EXPECT_EQ("abc", EscapeJsonChars("abc")); + EXPECT_EQ("abc\\n", EscapeJsonChars("abc\n")); + EXPECT_EQ("abc\\nabc", EscapeJsonChars("abc\nabc")); + EXPECT_EQ("abc\\\\", EscapeJsonChars("abc\\")); + EXPECT_EQ("abc\\\"", EscapeJsonChars("abc\"")); + + const std::string expected[0x20] = { + "\\u0000", "\\u0001", "\\u0002", "\\u0003", "\\u0004", "\\u0005", + "\\u0006", "\\u0007", "\\b", "\\t", "\\n", "\\v", "\\f", "\\r", + "\\u000e", "\\u000f", "\\u0010", "\\u0011", "\\u0012", "\\u0013", + "\\u0014", "\\u0015", "\\u0016", "\\u0017", "\\u0018", "\\u0019", + "\\u001a", "\\u001b", "\\u001c", "\\u001d", "\\u001e", "\\u001f" + }; + for (int i = 0; i < 0x20; ++i) { + char symbols[1] = { static_cast<char>(i) }; + std::string input(symbols, 1); + EXPECT_EQ(expected[i], EscapeJsonChars(input)); + EXPECT_EQ("a" + expected[i], EscapeJsonChars("a" + input)); + } +} |