1#include "json_utils.h" 2 3#include "gtest/gtest.h" 4 5TEST(JSONUtilsTest, EscapeJsonChars) { 6 using node::EscapeJsonChars; 7 EXPECT_EQ("abc", EscapeJsonChars("abc")); 8 EXPECT_EQ("abc\\n", EscapeJsonChars("abc\n")); 9 EXPECT_EQ("abc\\nabc", EscapeJsonChars("abc\nabc")); 10 EXPECT_EQ("abc\\\\", EscapeJsonChars("abc\\")); 11 EXPECT_EQ("abc\\\"", EscapeJsonChars("abc\"")); 12 13 const std::string expected[0x20] = { 14 "\\u0000", "\\u0001", "\\u0002", "\\u0003", "\\u0004", "\\u0005", 15 "\\u0006", "\\u0007", "\\b", "\\t", "\\n", "\\u000b", 16 "\\f", "\\r", "\\u000e", "\\u000f", "\\u0010", "\\u0011", 17 "\\u0012", "\\u0013", "\\u0014", "\\u0015", "\\u0016", "\\u0017", 18 "\\u0018", "\\u0019", "\\u001a", "\\u001b", "\\u001c", "\\u001d", 19 "\\u001e", "\\u001f"}; 20 for (int i = 0; i < 0x20; ++i) { 21 char symbols[1] = { static_cast<char>(i) }; 22 std::string input(symbols, 1); 23 EXPECT_EQ(expected[i], EscapeJsonChars(input)); 24 EXPECT_EQ("a" + expected[i], EscapeJsonChars("a" + input)); 25 } 26} 27