OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/base/ip_address_number.h" | 5 #include "net/base/ip_address_number.h" |
6 | 6 |
7 #include "base/format_macros.h" | 7 #include "base/format_macros.h" |
8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "net/base/net_util.h" | 10 #include "net/base/net_util.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 | 27 |
28 TEST(IpAddressNumberTest, IPAddressToString) { | 28 TEST(IpAddressNumberTest, IPAddressToString) { |
29 uint8_t addr1[4] = {0, 0, 0, 0}; | 29 uint8_t addr1[4] = {0, 0, 0, 0}; |
30 EXPECT_EQ("0.0.0.0", IPAddressToString(addr1, sizeof(addr1))); | 30 EXPECT_EQ("0.0.0.0", IPAddressToString(addr1, sizeof(addr1))); |
31 | 31 |
32 uint8_t addr2[4] = {192, 168, 0, 1}; | 32 uint8_t addr2[4] = {192, 168, 0, 1}; |
33 EXPECT_EQ("192.168.0.1", IPAddressToString(addr2, sizeof(addr2))); | 33 EXPECT_EQ("192.168.0.1", IPAddressToString(addr2, sizeof(addr2))); |
34 | 34 |
35 uint8_t addr3[16] = {0xFE, 0xDC, 0xBA, 0x98}; | 35 uint8_t addr3[16] = {0xFE, 0xDC, 0xBA, 0x98}; |
36 EXPECT_EQ("fedc:ba98::", IPAddressToString(addr3, sizeof(addr3))); | 36 EXPECT_EQ("fedc:ba98::", IPAddressToString(addr3, sizeof(addr3))); |
37 | |
38 // IPAddressToString() shouldn't crash on invalid addresses. | |
39 uint8_t addr4[2]; | |
40 EXPECT_EQ("", IPAddressToString(addr4, sizeof(addr4))); | |
41 } | 37 } |
42 | 38 |
43 TEST(IpAddressNumberTest, IPAddressToStringWithPort) { | 39 TEST(IpAddressNumberTest, IPAddressToStringWithPort) { |
44 uint8_t addr1[4] = {0, 0, 0, 0}; | 40 uint8_t addr1[4] = {0, 0, 0, 0}; |
45 EXPECT_EQ("0.0.0.0:3", IPAddressToStringWithPort(addr1, sizeof(addr1), 3)); | 41 EXPECT_EQ("0.0.0.0:3", IPAddressToStringWithPort(addr1, sizeof(addr1), 3)); |
46 | 42 |
47 uint8_t addr2[4] = {192, 168, 0, 1}; | 43 uint8_t addr2[4] = {192, 168, 0, 1}; |
48 EXPECT_EQ("192.168.0.1:99", | 44 EXPECT_EQ("192.168.0.1:99", |
49 IPAddressToStringWithPort(addr2, sizeof(addr2), 99)); | 45 IPAddressToStringWithPort(addr2, sizeof(addr2), 99)); |
50 | 46 |
51 uint8_t addr3[16] = {0xFE, 0xDC, 0xBA, 0x98}; | 47 uint8_t addr3[16] = {0xFE, 0xDC, 0xBA, 0x98}; |
52 EXPECT_EQ("[fedc:ba98::]:8080", | 48 EXPECT_EQ("[fedc:ba98::]:8080", |
53 IPAddressToStringWithPort(addr3, sizeof(addr3), 8080)); | 49 IPAddressToStringWithPort(addr3, sizeof(addr3), 8080)); |
54 | |
55 // IPAddressToStringWithPort() shouldn't crash on invalid addresses. | |
56 uint8_t addr4[2]; | |
57 EXPECT_EQ("", IPAddressToStringWithPort(addr4, sizeof(addr4), 8080)); | |
58 } | 50 } |
59 | 51 |
60 // Test that invalid IP literals fail to parse. | 52 // Test that invalid IP literals fail to parse. |
61 TEST(IpAddressNumberTest, ParseIPLiteralToNumber_FailParse) { | 53 TEST(IpAddressNumberTest, ParseIPLiteralToNumber_FailParse) { |
62 IPAddressNumber number; | 54 IPAddressNumber number; |
63 | 55 |
64 EXPECT_FALSE(ParseIPLiteralToNumber("bad value", &number)); | 56 EXPECT_FALSE(ParseIPLiteralToNumber("bad value", &number)); |
65 EXPECT_FALSE(ParseIPLiteralToNumber("bad:value", &number)); | 57 EXPECT_FALSE(ParseIPLiteralToNumber("bad:value", &number)); |
66 EXPECT_FALSE(ParseIPLiteralToNumber(std::string(), &number)); | 58 EXPECT_FALSE(ParseIPLiteralToNumber(std::string(), &number)); |
67 EXPECT_FALSE(ParseIPLiteralToNumber("192.168.0.1:30", &number)); | 59 EXPECT_FALSE(ParseIPLiteralToNumber("192.168.0.1:30", &number)); |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 EXPECT_EQ(tests[i].expected_to_match, | 257 EXPECT_EQ(tests[i].expected_to_match, |
266 IPNumberMatchesPrefix(ip_number, | 258 IPNumberMatchesPrefix(ip_number, |
267 ip_prefix, | 259 ip_prefix, |
268 prefix_length_in_bits)); | 260 prefix_length_in_bits)); |
269 } | 261 } |
270 } | 262 } |
271 | 263 |
272 } // anonymous namespace | 264 } // anonymous namespace |
273 | 265 |
274 } // namespace net | 266 } // namespace net |
OLD | NEW |