diff --git a/JsonGeneratorTests/StringBuilder.cpp b/JsonGeneratorTests/StringBuilder.cpp index af4b2b98..ff67d5a9 100644 --- a/JsonGeneratorTests/StringBuilder.cpp +++ b/JsonGeneratorTests/StringBuilder.cpp @@ -39,6 +39,25 @@ void StringBuilder::appendEscaped(const char* s) append("\\\\"); break; + case '\b': + append("\\b"); + break; + + case '\f': + append("\\f"); + break; + + case '\n': + append("\\n"); + break; + + case '\r': + append("\\r"); + break; + + case '\t': + append("\\t"); + break; default: buffer[length++] = *s; diff --git a/JsonGeneratorTests/StringBuilderAppendEscapedTests.cpp b/JsonGeneratorTests/StringBuilderAppendEscapedTests.cpp index 010b58db..a4bc29c8 100644 --- a/JsonGeneratorTests/StringBuilderAppendEscapedTests.cpp +++ b/JsonGeneratorTests/StringBuilderAppendEscapedTests.cpp @@ -7,7 +7,7 @@ namespace JsonGeneratorTests { TEST_CLASS(StringBuilderAppendEscapedTests) { - char buffer[16]; + char buffer[20]; StringBuilder* sb; public: @@ -44,15 +44,15 @@ namespace JsonGeneratorTests TEST_METHOD(OverCapacity) { append("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); - assertResultIs("\"ABCDEFGHIJKLM\""); + assertResultIs("\"ABCDEFGHIJKLMNOPQ\""); } - /* + TEST_METHOD(SpecialChars) { - append("\\\"\b\f\n\r"); - assertResultIs("\\\\\\\"\\\b\\\f\\\n\\\r"); + append("\\\"\b\f\n\r\t"); + assertResultIs("\"\\\\\\\"\\b\\f\\n\\r\\t\""); } - */ + void append(const char* s) { sb->appendEscaped(s);