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" |
11 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
12 | 12 |
13 namespace net { | 13 namespace net { |
14 | 14 |
15 namespace { | 15 namespace { |
16 | 16 |
17 // Helper to strignize an IP number (used to define expectations). | 17 // Helper to strignize an IP number (used to define expectations). |
18 std::string DumpIPNumber(const IPAddressNumber& v) { | 18 std::string DumpIPNumber(const IPAddressNumber& v) { |
19 std::string out; | 19 std::string out; |
20 for (size_t i = 0; i < v.size(); ++i) { | 20 for (size_t i = 0; i < v.size(); ++i) { |
21 if (i != 0) | 21 if (i != 0) |
22 out.append(","); | 22 out.append(","); |
23 out.append(base::IntToString(static_cast<int>(v[i]))); | 23 out.append(base::IntToString(static_cast<int>(v[i]))); |
24 } | 24 } |
25 return out; | 25 return out; |
26 } | 26 } |
27 | 27 |
28 TEST(IpAddressNumberTest, IPAddressToString) { | 28 TEST(IpAddressNumberTest, IPAddressToString) { |
29 uint8 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 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 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 } | 37 } |
38 | 38 |
39 TEST(IpAddressNumberTest, IPAddressToStringWithPort) { | 39 TEST(IpAddressNumberTest, IPAddressToStringWithPort) { |
40 uint8 addr1[4] = {0, 0, 0, 0}; | 40 uint8_t addr1[4] = {0, 0, 0, 0}; |
41 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)); |
42 | 42 |
43 uint8 addr2[4] = {192, 168, 0, 1}; | 43 uint8_t addr2[4] = {192, 168, 0, 1}; |
44 EXPECT_EQ("192.168.0.1:99", | 44 EXPECT_EQ("192.168.0.1:99", |
45 IPAddressToStringWithPort(addr2, sizeof(addr2), 99)); | 45 IPAddressToStringWithPort(addr2, sizeof(addr2), 99)); |
46 | 46 |
47 uint8 addr3[16] = {0xFE, 0xDC, 0xBA, 0x98}; | 47 uint8_t addr3[16] = {0xFE, 0xDC, 0xBA, 0x98}; |
48 EXPECT_EQ("[fedc:ba98::]:8080", | 48 EXPECT_EQ("[fedc:ba98::]:8080", |
49 IPAddressToStringWithPort(addr3, sizeof(addr3), 8080)); | 49 IPAddressToStringWithPort(addr3, sizeof(addr3), 8080)); |
50 } | 50 } |
51 | 51 |
52 // Test that invalid IP literals fail to parse. | 52 // Test that invalid IP literals fail to parse. |
53 TEST(IpAddressNumberTest, ParseIPLiteralToNumber_FailParse) { | 53 TEST(IpAddressNumberTest, ParseIPLiteralToNumber_FailParse) { |
54 IPAddressNumber number; | 54 IPAddressNumber number; |
55 | 55 |
56 EXPECT_FALSE(ParseIPLiteralToNumber("bad value", &number)); | 56 EXPECT_FALSE(ParseIPLiteralToNumber("bad value", &number)); |
57 EXPECT_FALSE(ParseIPLiteralToNumber("bad:value", &number)); | 57 EXPECT_FALSE(ParseIPLiteralToNumber("bad:value", &number)); |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 EXPECT_EQ(tests[i].expected_to_match, | 257 EXPECT_EQ(tests[i].expected_to_match, |
258 IPNumberMatchesPrefix(ip_number, | 258 IPNumberMatchesPrefix(ip_number, |
259 ip_prefix, | 259 ip_prefix, |
260 prefix_length_in_bits)); | 260 prefix_length_in_bits)); |
261 } | 261 } |
262 } | 262 } |
263 | 263 |
264 } // anonymous namespace | 264 } // anonymous namespace |
265 | 265 |
266 } // namespace net | 266 } // namespace net |
OLD | NEW |