Переглянути джерело

Added more test of escaped chars

Benoit Blanchon 11 роки тому
батько
коміт
1f6bd5c04d
2 змінених файлів з 52 додано та 4 видалено
  1. 4 4
      JsonParserTests/JsonStringTests.cpp
  2. 48 0
      test/JsonParser_String_Tests.cpp

+ 4 - 4
JsonParserTests/JsonStringTests.cpp

@@ -1,6 +1,6 @@
-/*
-* Arduino JSON library
-* Benoit Blanchon 2014 - MIT License
+/*
+* Arduino JSON library
+* Benoit Blanchon 2014 - MIT License
 */
 
 #include "CppUnitTest.h"
@@ -14,7 +14,7 @@ namespace ArduinoJsonParserTests
     TEST_CLASS(JsonStringTests)
     {
         const char* actual;
-        char json[256];
+        char json[256];
         JsonParser<32> parser;
 
     public:

+ 48 - 0
test/JsonParser_String_Tests.cpp

@@ -56,4 +56,52 @@ TEST_F(JsonParser_String_Tests, EscapedSingleQuote)
 {
     whenInputIs("\"hello \\\'world\\\'\"");
     outputMustBe("hello 'world'");
+}
+
+TEST_F(JsonParser_String_Tests, EscapedSolidus)
+{
+    whenInputIs("\"hello \\/world\\/\"");
+    outputMustBe("hello /world/");
+}
+
+TEST_F(JsonParser_String_Tests, EscapedReverseSolidus)
+{
+    whenInputIs("\"hello \\\\world\\\\\"");
+    outputMustBe("hello \\world\\");
+}
+
+TEST_F(JsonParser_String_Tests, EscapedBackspace)
+{
+    whenInputIs("\"hello \\bworld\\b");
+    outputMustBe("hello \bworld\b");
+}
+
+TEST_F(JsonParser_String_Tests, EscapedFormfeed)
+{
+    whenInputIs("\"hello \\fworld\\f");
+    outputMustBe("hello \fworld\f");
+}
+
+TEST_F(JsonParser_String_Tests, EscapedNewline)
+{
+    whenInputIs("\"hello \\nworld\\n");
+    outputMustBe("hello \nworld\n");
+}
+
+TEST_F(JsonParser_String_Tests, EscapedCarriageReturn)
+{
+    whenInputIs("\"hello \\rworld\\r");
+    outputMustBe("hello \rworld\r");
+}
+
+TEST_F(JsonParser_String_Tests, EscapedTab)
+{
+    whenInputIs("\"hello \\tworld\\t");
+    outputMustBe("hello \tworld\t");
+}
+
+TEST_F(JsonParser_String_Tests, AllEscapedCharsTogether)
+{
+    whenInputIs("\"1\\\"2\\\\3\\/4\\b5\\f6\\n7\\r8\\t9\"");
+    outputMustBe("1\"2\\3/4\b5\f6\n7\r8\t9");
 }