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

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: 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
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..df29d28979f83797fc045f785767c0e5201cd7f8 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) {
martijnc 2016/03/18 18:58:30 These tests are copies from the ones that were in
+ 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 (size_t i = 0; i < arraysize(bad_literals); ++i) {
+ IPAddress ip_address;
+ size_t prefix_length_in_bits;
+
+ EXPECT_FALSE(
+ ParseCIDRBlock(bad_literals[i], 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,
martijnc 2016/03/18 18:58:30 Except for this one.
+ 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);

Powered by Google App Engine
This is Rietveld 408576698