Browse Source

[2535] Add a datasrc test for escaping txt-like rdata

Mukund Sivaraman 12 years ago
parent
commit
376b3b0760
1 changed files with 12 additions and 0 deletions
  1. 12 0
      src/lib/datasrc/tests/database_unittest.cc

+ 12 - 0
src/lib/datasrc/tests/database_unittest.cc

@@ -226,6 +226,9 @@ const char* const TEST_RECORDS[][5] = {
     {"invalidrdata2.example.org.", "A", "3600", "", "192.0.2.1"},
     {"invalidrdata2.example.org.", "RRSIG", "3600", "", "Nonsense"},
 
+    // TXT-like rdata that should be escaped
+    {"escapetxt.example.org.", "TXT", "3600", "", "Hello~World\\;\\\""},
+
     {NULL, NULL, NULL, NULL, NULL},
 };
 
@@ -2003,6 +2006,15 @@ TYPED_TEST(DatabaseClientTest, find) {
 
     this->expected_rdatas_.clear();
     this->expected_sig_rdatas_.clear();
+    this->expected_rdatas_.push_back("Hello~World\\;\\\"");
+    doFindTest(*finder, isc::dns::Name("escapetxt.example.org."),
+               isc::dns::RRType::TXT(), isc::dns::RRType::TXT(),
+               this->rrttl_,
+               ZoneFinder::SUCCESS,
+               this->expected_rdatas_, this->expected_sig_rdatas_);
+
+    this->expected_rdatas_.clear();
+    this->expected_sig_rdatas_.clear();
     this->expected_rdatas_.push_back("192.0.2.1");
     this->expected_rdatas_.push_back("192.0.2.2");
     doFindTest(*finder, isc::dns::Name("ttldiff2.example.org."),