Index: net/dns/dns_util_unittest.cc |
diff --git a/net/dns/dns_util_unittest.cc b/net/dns/dns_util_unittest.cc |
index 1d534716b6afead994e02d9789c3ef0f130371ed..c18c7427f9ce448e9263013955348df4e609559e 100644 |
--- a/net/dns/dns_util_unittest.cc |
+++ b/net/dns/dns_util_unittest.cc |
@@ -69,4 +69,26 @@ TEST_F(DNSUtilTest, DNSDomainToString) { |
EXPECT_EQ("", DNSDomainToString("\x06")); |
} |
+TEST_F(DNSUtilTest, IsValidDNSDomain) { |
+ const char* const bad_hostnames[] = { |
+ "%20%20noodles.blorg", "noo dles.blorg ", "noo dles.blorg. ", |
+ "^noodles.blorg", "noodles^.blorg", "noo&dles.blorg", |
+ "noodles.blorg`", "www.-noodles.blorg", |
+ }; |
+ |
+ for (size_t i = 0; i < arraysize(bad_hostnames); ++i) { |
+ EXPECT_FALSE(IsValidDNSDomain(bad_hostnames[i])); |
+ } |
+ |
+ const char* const good_hostnames[] = { |
+ "www.noodles.blorg", "1www.noodles.blorg", "www.2noodles.blorg", |
+ "www.n--oodles.blorg", "www.noodl_es.blorg", "www.no-_odles.blorg", |
+ "www_.noodles.blorg", "www.noodles.blorg.", "_privet._tcp.local", |
+ }; |
+ |
+ for (size_t i = 0; i < arraysize(good_hostnames); ++i) { |
+ EXPECT_TRUE(IsValidDNSDomain(good_hostnames[i])); |
+ } |
+} |
+ |
} // namespace net |