[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