| OLD | NEW |
| 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2015 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.h" | 5 #include "net/base/ip_address.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 IPAddress ip_address1(addr1); | 87 IPAddress ip_address1(addr1); |
| 88 EXPECT_EQ("0.0.0.0", ip_address1.ToString()); | 88 EXPECT_EQ("0.0.0.0", ip_address1.ToString()); |
| 89 | 89 |
| 90 uint8_t addr2[4] = {192, 168, 0, 1}; | 90 uint8_t addr2[4] = {192, 168, 0, 1}; |
| 91 IPAddress ip_address2(addr2); | 91 IPAddress ip_address2(addr2); |
| 92 EXPECT_EQ("192.168.0.1", ip_address2.ToString()); | 92 EXPECT_EQ("192.168.0.1", ip_address2.ToString()); |
| 93 | 93 |
| 94 uint8_t addr3[16] = {0xFE, 0xDC, 0xBA, 0x98}; | 94 uint8_t addr3[16] = {0xFE, 0xDC, 0xBA, 0x98}; |
| 95 IPAddress ip_address3(addr3); | 95 IPAddress ip_address3(addr3); |
| 96 EXPECT_EQ("fedc:ba98::", ip_address3.ToString()); | 96 EXPECT_EQ("fedc:ba98::", ip_address3.ToString()); |
| 97 |
| 98 // ToString() shouldn't crash on invalid addresses. |
| 99 uint8_t addr4[2]; |
| 100 IPAddress ip_address4(addr4); |
| 101 EXPECT_EQ("", ip_address4.ToString()); |
| 102 |
| 103 IPAddress ip_address5; |
| 104 EXPECT_EQ("", ip_address5.ToString()); |
| 97 } | 105 } |
| 98 | 106 |
| 99 // Test that invalid IP literals fail to parse. | 107 // Test that invalid IP literals fail to parse. |
| 100 TEST(IPAddressTest, AssignFromIPLiteral_FailParse) { | 108 TEST(IPAddressTest, AssignFromIPLiteral_FailParse) { |
| 101 IPAddress address; | 109 IPAddress address; |
| 102 | 110 |
| 103 EXPECT_FALSE(address.AssignFromIPLiteral("bad value")); | 111 EXPECT_FALSE(address.AssignFromIPLiteral("bad value")); |
| 104 EXPECT_FALSE(address.AssignFromIPLiteral("bad:value")); | 112 EXPECT_FALSE(address.AssignFromIPLiteral("bad:value")); |
| 105 EXPECT_FALSE(address.AssignFromIPLiteral(std::string())); | 113 EXPECT_FALSE(address.AssignFromIPLiteral(std::string())); |
| 106 EXPECT_FALSE(address.AssignFromIPLiteral("192.168.0.1:30")); | 114 EXPECT_FALSE(address.AssignFromIPLiteral("192.168.0.1:30")); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 EXPECT_TRUE(address1.AssignFromIPLiteral("0.0.0.0")); | 179 EXPECT_TRUE(address1.AssignFromIPLiteral("0.0.0.0")); |
| 172 EXPECT_EQ("0.0.0.0:3", IPAddressToStringWithPort(address1, 3)); | 180 EXPECT_EQ("0.0.0.0:3", IPAddressToStringWithPort(address1, 3)); |
| 173 | 181 |
| 174 IPAddress address2; | 182 IPAddress address2; |
| 175 EXPECT_TRUE(address2.AssignFromIPLiteral("192.168.0.1")); | 183 EXPECT_TRUE(address2.AssignFromIPLiteral("192.168.0.1")); |
| 176 EXPECT_EQ("192.168.0.1:99", IPAddressToStringWithPort(address2, 99)); | 184 EXPECT_EQ("192.168.0.1:99", IPAddressToStringWithPort(address2, 99)); |
| 177 | 185 |
| 178 IPAddress address3; | 186 IPAddress address3; |
| 179 EXPECT_TRUE(address3.AssignFromIPLiteral("fedc:ba98::")); | 187 EXPECT_TRUE(address3.AssignFromIPLiteral("fedc:ba98::")); |
| 180 EXPECT_EQ("[fedc:ba98::]:8080", IPAddressToStringWithPort(address3, 8080)); | 188 EXPECT_EQ("[fedc:ba98::]:8080", IPAddressToStringWithPort(address3, 8080)); |
| 189 |
| 190 // ToString() shouldn't crash on invalid addresses. |
| 191 IPAddress address4; |
| 192 EXPECT_EQ("", IPAddressToStringWithPort(address4, 8080)); |
| 181 } | 193 } |
| 182 | 194 |
| 183 TEST(IPAddressTest, IPAddressToPackedString) { | 195 TEST(IPAddressTest, IPAddressToPackedString) { |
| 184 IPAddress ipv4_address; | 196 IPAddress ipv4_address; |
| 185 EXPECT_TRUE(ipv4_address.AssignFromIPLiteral("4.31.198.44")); | 197 EXPECT_TRUE(ipv4_address.AssignFromIPLiteral("4.31.198.44")); |
| 186 std::string expected_ipv4_address("\x04\x1f\xc6\x2c", 4); | 198 std::string expected_ipv4_address("\x04\x1f\xc6\x2c", 4); |
| 187 EXPECT_EQ(expected_ipv4_address, IPAddressToPackedString(ipv4_address)); | 199 EXPECT_EQ(expected_ipv4_address, IPAddressToPackedString(ipv4_address)); |
| 188 | 200 |
| 189 IPAddress ipv6_address; | 201 IPAddress ipv6_address; |
| 190 EXPECT_TRUE(ipv6_address.AssignFromIPLiteral("2001:0700:0300:1800::000f")); | 202 EXPECT_TRUE(ipv6_address.AssignFromIPLiteral("2001:0700:0300:1800::000f")); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 212 IPAddress expected; | 224 IPAddress expected; |
| 213 EXPECT_TRUE(expected.AssignFromIPLiteral("192.168.0.1")); | 225 EXPECT_TRUE(expected.AssignFromIPLiteral("192.168.0.1")); |
| 214 | 226 |
| 215 IPAddress result = ConvertIPv4MappedIPv6ToIPv4(ipv4mapped_address); | 227 IPAddress result = ConvertIPv4MappedIPv6ToIPv4(ipv4mapped_address); |
| 216 EXPECT_EQ(expected, result); | 228 EXPECT_EQ(expected, result); |
| 217 } | 229 } |
| 218 | 230 |
| 219 } // anonymous namespace | 231 } // anonymous namespace |
| 220 | 232 |
| 221 } // namespace net | 233 } // namespace net |
| OLD | NEW |