Просмотр исходного кода

Added a test with special chars

Benoît Blanchon 11 лет назад
Родитель
Сommit
d12e25bd8a

+ 19 - 0
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;

+ 6 - 6
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);