]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#65,!96] Now both MapElement and ListElement have functional empty()
authorTomek Mrugalski <tomasz@isc.org>
Thu, 25 Oct 2018 10:47:53 +0000 (12:47 +0200)
committerTomek Mrugalski <tomasz@isc.org>
Thu, 25 Oct 2018 10:47:53 +0000 (12:47 +0200)
src/lib/cc/data.h
src/lib/cc/tests/data_unittests.cc

index 2730a1a791674e1196180d337b2377323bc2e4ed..a8989f09faa3c010e66ec0712517e0729b0cd09b 100644 (file)
@@ -697,6 +697,8 @@ public:
     }
 
     bool equals(const Element& other) const;
+
+    bool empty() const { return (m.empty()); }
 };
 
 /// Checks whether the given ElementPtr is a NULL pointer
index e26363e79c13e55306aaec9f19a5099dc92188be..f8d60a96bfde5bbf6ff9893db084489b6b7a414e 100644 (file)
@@ -650,6 +650,8 @@ TEST(Element, MapElement) {
 
     EXPECT_TRUE(isNull(el->get("value3")));
 
+    EXPECT_FALSE(el->empty());
+
     el->set("value3", Element::create(56176));
     EXPECT_EQ(el->get("value3")->intValue(), 56176);
 
@@ -1340,4 +1342,23 @@ TEST(Element, getPositionCommented) {
     EXPECT_EQ(14, level2_el->getPosition().pos_);
     EXPECT_EQ("kea.conf", level2_el->getPosition().file_);
 }
+
+TEST(Element, empty) {
+
+    // Let's try Map first
+    ElementPtr m = Element::createMap();
+    EXPECT_TRUE(m->empty());
+    m->set("something", Element::create(123));
+    EXPECT_FALSE(m->empty());
+    m->remove("something");
+    EXPECT_TRUE(m->empty());
+
+    // Now do the same with list
+    ElementPtr l = Element::createList();
+    EXPECT_TRUE(l->empty());
+    l->add(Element::create(123));
+    EXPECT_FALSE(l->empty());
+    l->remove(0);
+    EXPECT_TRUE(l->empty());
+}
 }