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]; | |
Nico
2016/02/17 02:27:43
Doesn't this have to be 4 bytes? Also, should it b
martijnc
2016/02/17 08:29:53
The length of 2 bytes is correct. This tests if IP
| |
40 EXPECT_EQ("", IPAddressToString(addr4, sizeof(addr4))); | |
37 } | 41 } |
38 | 42 |
39 TEST(IpAddressNumberTest, IPAddressToStringWithPort) { | 43 TEST(IpAddressNumberTest, IPAddressToStringWithPort) { |
40 uint8_t addr1[4] = {0, 0, 0, 0}; | 44 uint8_t addr1[4] = {0, 0, 0, 0}; |
41 EXPECT_EQ("0.0.0.0:3", IPAddressToStringWithPort(addr1, sizeof(addr1), 3)); | 45 EXPECT_EQ("0.0.0.0:3", IPAddressToStringWithPort(addr1, sizeof(addr1), 3)); |
42 | 46 |
43 uint8_t addr2[4] = {192, 168, 0, 1}; | 47 uint8_t addr2[4] = {192, 168, 0, 1}; |
44 EXPECT_EQ("192.168.0.1:99", | 48 EXPECT_EQ("192.168.0.1:99", |
45 IPAddressToStringWithPort(addr2, sizeof(addr2), 99)); | 49 IPAddressToStringWithPort(addr2, sizeof(addr2), 99)); |
46 | 50 |
47 uint8_t addr3[16] = {0xFE, 0xDC, 0xBA, 0x98}; | 51 uint8_t addr3[16] = {0xFE, 0xDC, 0xBA, 0x98}; |
48 EXPECT_EQ("[fedc:ba98::]:8080", | 52 EXPECT_EQ("[fedc:ba98::]:8080", |
49 IPAddressToStringWithPort(addr3, sizeof(addr3), 8080)); | 53 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)); | |
50 } | 58 } |
51 | 59 |
52 // Test that invalid IP literals fail to parse. | 60 // Test that invalid IP literals fail to parse. |
53 TEST(IpAddressNumberTest, ParseIPLiteralToNumber_FailParse) { | 61 TEST(IpAddressNumberTest, ParseIPLiteralToNumber_FailParse) { |
54 IPAddressNumber number; | 62 IPAddressNumber number; |
55 | 63 |
56 EXPECT_FALSE(ParseIPLiteralToNumber("bad value", &number)); | 64 EXPECT_FALSE(ParseIPLiteralToNumber("bad value", &number)); |
57 EXPECT_FALSE(ParseIPLiteralToNumber("bad:value", &number)); | 65 EXPECT_FALSE(ParseIPLiteralToNumber("bad:value", &number)); |
58 EXPECT_FALSE(ParseIPLiteralToNumber(std::string(), &number)); | 66 EXPECT_FALSE(ParseIPLiteralToNumber(std::string(), &number)); |
59 EXPECT_FALSE(ParseIPLiteralToNumber("192.168.0.1:30", &number)); | 67 EXPECT_FALSE(ParseIPLiteralToNumber("192.168.0.1:30", &number)); |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
257 EXPECT_EQ(tests[i].expected_to_match, | 265 EXPECT_EQ(tests[i].expected_to_match, |
258 IPNumberMatchesPrefix(ip_number, | 266 IPNumberMatchesPrefix(ip_number, |
259 ip_prefix, | 267 ip_prefix, |
260 prefix_length_in_bits)); | 268 prefix_length_in_bits)); |
261 } | 269 } |
262 } | 270 } |
263 | 271 |
264 } // anonymous namespace | 272 } // anonymous namespace |
265 | 273 |
266 } // namespace net | 274 } // namespace net |
OLD | NEW |