Parcourir la source

[1626] move some more json tests around

Jelte Jansen il y a 13 ans
Parent
commit
9ee14145b2
1 fichiers modifiés avec 9 ajouts et 9 suppressions
  1. 9 9
      src/lib/cc/tests/data_unittests.cc

+ 9 - 9
src/lib/cc/tests/data_unittests.cc

@@ -91,7 +91,7 @@ TEST(Element, from_and_to_json) {
     sv.push_back("-1");
     sv.push_back("-1.234");
     sv.push_back("-123.456");
-    
+
     BOOST_FOREACH(const std::string& s, sv) {
         // test << operator, which uses Element::str()
         std::ostringstream stream;
@@ -127,8 +127,12 @@ TEST(Element, from_and_to_json) {
     sv.push_back("\"foobar\"hello");
     sv.push_back("[]hello");
     sv.push_back("{}hello");
+    // String not delimited correctly
+    sv.push_back("\"hello");
+    sv.push_back("hello\"");
+
+
     BOOST_FOREACH(std::string s, sv) {
-        
         EXPECT_THROW(el = Element::fromJSON(s), isc::data::JSONError);
     }
 
@@ -155,6 +159,9 @@ TEST(Element, from_and_to_json) {
     EXPECT_EQ("false", Element::fromJSON("FALSE")->str());
     EXPECT_EQ("true", Element::fromJSON("True")->str());
     EXPECT_EQ("true", Element::fromJSON("TRUE")->str());
+    EXPECT_EQ("\"\"", Element::fromJSON("  \n \t \r \f \b \"\" \n \f \t \r \b")->str());
+    EXPECT_EQ("{  }", Element::fromJSON("{  \n  \r \t  \b \f }")->str());
+    EXPECT_EQ("[  ]", Element::fromJSON("[  \n  \r \f \t  \b  ]")->str());
 
     // number overflows
     EXPECT_THROW(Element::fromJSON("12345678901234567890")->str(), JSONError);
@@ -337,15 +344,8 @@ TEST(Element, escape) {
     EXPECT_THROW(Element::fromJSON("\\\"\\\""), JSONError);
     // Inside strings is OK
     EXPECT_NO_THROW(Element::fromJSON("\"\\\"\\\"\""));
-    // String not delimited correctly
-    EXPECT_THROW(Element::fromJSON("\"hello"), JSONError);
-    EXPECT_THROW(Element::fromJSON("hello\""), JSONError);
     // A whitespace test
     EXPECT_NO_THROW(Element::fromJSON("\"  \n  \r \t \f  \n \n    \t\""));
-    // Whitespace outside of json element
-    EXPECT_NO_THROW(Element::fromJSON("  \n \t \r \f \b \"\" \n \f \t \r \b"));
-    EXPECT_NO_THROW(Element::fromJSON("{  \n  \r \t  \b \f }"));
-    EXPECT_NO_THROW(Element::fromJSON("[  \n  \r \f \t  \b  ]"));
 }
 
 TEST(Element, ListElement) {