Chromium Code Reviews| 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); |