Browse Source

[1626] Add some more testcases

Mukund Sivaraman 13 years ago
parent
commit
9a56eb7ebb
1 changed files with 10 additions and 0 deletions
  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) {