Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(392)

Unified Diff: net/base/ip_address_unittest.cc

Issue 1810183002: Migrate net/proxy/* to net::IPAddress. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments eroman Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/base/ip_address_number_unittest.cc ('k') | net/proxy/proxy_bypass_rules.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/ip_address_unittest.cc
diff --git a/net/base/ip_address_unittest.cc b/net/base/ip_address_unittest.cc
index 2863c6b31a02f16b683e65d7e2618b84fcafc382..d78f6c342e97c3ab0bfd1b921e2b67febff55a73 100644
--- a/net/base/ip_address_unittest.cc
+++ b/net/base/ip_address_unittest.cc
@@ -238,6 +238,50 @@ TEST(IPAddressTest, ConvertIPv4MappedIPv6ToIPv4) {
EXPECT_EQ(expected, result);
}
+// Test parsing invalid CIDR notation literals.
+TEST(IPAddressTest, ParseCIDRBlock_Invalid) {
+ const char* const bad_literals[] = {"foobar",
+ "",
+ "192.168.0.1",
+ "::1",
+ "/",
+ "/1",
+ "1",
+ "192.168.1.1/-1",
+ "192.168.1.1/33",
+ "::1/-3",
+ "a::3/129",
+ "::1/x",
+ "192.168.0.1//11"};
+
+ for (const auto& bad_literal : bad_literals) {
+ IPAddress ip_address;
+ size_t prefix_length_in_bits;
+
+ EXPECT_FALSE(
+ ParseCIDRBlock(bad_literal, &ip_address, &prefix_length_in_bits));
+ }
+}
+
+// Test parsing a valid CIDR notation literal.
+TEST(IPAddressTest, ParseCIDRBlock_Valid) {
+ IPAddress ip_address;
+ size_t prefix_length_in_bits;
+
+ EXPECT_TRUE(
+ ParseCIDRBlock("192.168.0.1/11", &ip_address, &prefix_length_in_bits));
+
+ EXPECT_EQ("192,168,0,1", DumpIPAddress(ip_address));
+ EXPECT_EQ(11u, prefix_length_in_bits);
+
+ EXPECT_TRUE(ParseCIDRBlock("::ffff:192.168.0.1/112", &ip_address,
+ &prefix_length_in_bits));
+
+ EXPECT_EQ("0,0,0,0,0,0,0,0,0,0,255,255,192,168,0,1",
+ DumpIPAddress(ip_address));
+ EXPECT_EQ(112u, prefix_length_in_bits);
+}
+
TEST(IPAddressTest, IPAddressStartsWith) {
IPAddress ipv4_address(192, 168, 10, 5);
« no previous file with comments | « net/base/ip_address_number_unittest.cc ('k') | net/proxy/proxy_bypass_rules.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698