Parcourir la source

[1626] Add some more testcases

Mukund Sivaraman il y a 13 ans
Parent
commit
9a56eb7ebb
1 fichiers modifiés avec 10 ajouts et 0 suppressions
  1. 10 0
      src/lib/cc/tests/data_unittests.cc

+ 10 - 0
src/lib/cc/tests/data_unittests.cc

@@ -329,6 +329,16 @@ TEST(Element, escape) {
     // Bad escapes
     EXPECT_THROW(Element::fromJSON("\\a"), JSONError);
     EXPECT_THROW(Element::fromJSON("\\"), JSONError);
+    // Can't have escaped quotes outside strings
+    EXPECT_THROW(Element::fromJSON("\\\"\\\""), JSONError);
+    // Inside strings is OK
+    EXPECT_NO_THROW(Element::fromJSON("\"\\\"\\\"\""));
+    // String not terminated
+    EXPECT_THROW(Element::fromJSON("\"hello"), JSONError);
+    // Bad string
+    EXPECT_THROW(Element::fromJSON("hello\"foobar\""), JSONError);
+    // A whitespace test
+    EXPECT_NO_THROW(Element::fromJSON("  \n  \r \t  \n \n    \t"));
 }
 
 TEST(Element, ListElement) {