[svn] commit: r1809 - in /branches/trac49/src/lib/dns: ./ name.cc name.h tests/name_unittest.cc
BIND 10 source code commits
bind10-changes at lists.isc.org
Tue May 11 08:11:05 UTC 2010
Author: jinmei
Date: Tue May 11 08:11:04 2010
New Revision: 1809
Log:
added unit tests for two new utility functions. they currently fail.
Modified:
branches/trac49/src/lib/dns/ (props changed)
branches/trac49/src/lib/dns/name.cc
branches/trac49/src/lib/dns/name.h
branches/trac49/src/lib/dns/tests/name_unittest.cc
Modified: branches/trac49/src/lib/dns/name.cc
==============================================================================
--- branches/trac49/src/lib/dns/name.cc (original)
+++ branches/trac49/src/lib/dns/name.cc Tue May 11 08:11:04 2010
@@ -730,6 +730,18 @@
return (*this);
}
+Name
+createAncestorNameOf(const Name& source, const unsigned int level) {
+ // return something that never matches "expected" one in unit tests
+ return (source.concatenate(level == 0 ? Name("dummy") : Name("DUMMY")));
+}
+
+Name
+createSuffixNameOf(const Name& source, const unsigned int labels) {
+ // return something that never matches "expected" one in unit tests
+ return (source.concatenate(labels == 0 ? Name("dummy") : Name("DUMMY")));
+}
+
std::ostream&
operator<<(std::ostream& os, const Name& name) {
os << name.toText();
Modified: branches/trac49/src/lib/dns/name.h
==============================================================================
--- branches/trac49/src/lib/dns/name.h (original)
+++ branches/trac49/src/lib/dns/name.h Tue May 11 08:11:04 2010
@@ -609,6 +609,12 @@
return (root_name);
}
+Name
+createAncestorNameOf(const Name& source, unsigned int level);
+
+Name
+createSuffixNameOf(const Name& source, unsigned int labels);
+
///
/// \brief Insert the name as a string into stream.
///
Modified: branches/trac49/src/lib/dns/tests/name_unittest.cc
==============================================================================
--- branches/trac49/src/lib/dns/tests/name_unittest.cc (original)
+++ branches/trac49/src/lib/dns/tests/name_unittest.cc Tue May 11 08:11:04 2010
@@ -500,6 +500,27 @@
OutOfRange);
}
+TEST_F(NameTest, createAncestorNameOf) {
+ EXPECT_EQ(Name("example.com"), createAncestorNameOf(example_name, 1));
+ EXPECT_EQ(example_name, createAncestorNameOf(example_name, 0));
+ EXPECT_EQ(Name("."), createAncestorNameOf(example_name, 3));
+
+ // Invalid case: the level must be less than the original label count.
+ EXPECT_THROW(createAncestorNameOf(example_name, 4), OutOfRange);
+}
+
+TEST_F(NameTest, createSuffixNameOf) {
+ EXPECT_EQ(Name("."), createSuffixNameOf(example_name, 1));
+ EXPECT_EQ(Name("example.com"), createSuffixNameOf(example_name, 3));
+ EXPECT_EQ(example_name, createSuffixNameOf(example_name,
+ example_name.getLabelCount()));
+ // Invalid cases
+ EXPECT_THROW(createSuffixNameOf(example_name, 0), OutOfRange);
+ EXPECT_THROW(createSuffixNameOf(example_name,
+ example_name.getLabelCount() + 1),
+ OutOfRange);
+}
+
TEST_F(NameTest, downcase) {
// usual case: all-upper case name to all-lower case
compareInWireFormat(example_name_upper.downcase(), example_name);
More information about the bind10-changes
mailing list