[svn] commit: r3778 - /branches/trac423/src/lib/dns/tests/master_unittest.cc

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Dec 9 03:23:32 UTC 2010


Author: jinmei
Date: Thu Dec  9 03:23:28 2010
New Revision: 3778

Log:
one more test case: member function callback with boost.bind.

Modified:
    branches/trac423/src/lib/dns/tests/master_unittest.cc

Modified: branches/trac423/src/lib/dns/tests/master_unittest.cc
==============================================================================
--- branches/trac423/src/lib/dns/tests/master_unittest.cc (original)
+++ branches/trac423/src/lib/dns/tests/master_unittest.cc Thu Dec  9 03:23:28 2010
@@ -19,6 +19,8 @@
 #include <string>
 #include <vector>
 
+#include <boost/bind.hpp>
+
 #include <gtest/gtest.h>
 
 #include <dns/master.h>
@@ -49,10 +51,15 @@
 protected:
     MasterTest() : origin("example.com"), zclass(RRClass::IN()),
                    callback(results) {}
+public:
+    void rrsetCallback(ConstRRsetPtr rrset) {
+        results.push_back(rrset);
+    }
+protected:
     Name origin;
     RRClass zclass;
+    stringstream rr_stream;
     vector<ConstRRsetPtr> results;
-    stringstream rr_stream;
     TestCallback callback;
 };
 
@@ -79,6 +86,18 @@
     rr_stream << txt_rr << a_rr1 << soa_rr;
     masterLoad(rr_stream, origin, zclass,
                bind2nd(ptr_fun(testCallback), &results));
+    ASSERT_EQ(3, results.size());
+    EXPECT_EQ(txt_rr, results[0]->toText());
+    EXPECT_EQ(a_rr1, results[1]->toText());
+    EXPECT_EQ(soa_rr, results[2]->toText());
+}
+
+TEST_F(MasterTest, loadWithMemFunctionCallback) {
+    // The same test as loadRRs but using a class member function (with a
+    // help of Boost.bind)
+    rr_stream << txt_rr << a_rr1 << soa_rr;
+    masterLoad(rr_stream, origin, zclass,
+               boost::bind(&MasterTest::rrsetCallback, this, _1));
     ASSERT_EQ(3, results.size());
     EXPECT_EQ(txt_rr, results[0]->toText());
     EXPECT_EQ(a_rr1, results[1]->toText());




More information about the bind10-changes mailing list