Index: net/base/address_list_unittest.cc |
diff --git a/net/base/address_list_unittest.cc b/net/base/address_list_unittest.cc |
deleted file mode 100644 |
index 4f70b673b4d00ea871d3f913a73927ac8806ddf0..0000000000000000000000000000000000000000 |
--- a/net/base/address_list_unittest.cc |
+++ /dev/null |
@@ -1,138 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "net/base/address_list.h" |
- |
-#include "base/strings/string_util.h" |
-#include "base/sys_byteorder.h" |
-#include "net/base/net_util.h" |
-#include "net/base/sys_addrinfo.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace net { |
-namespace { |
- |
-const char kCanonicalHostname[] = "canonical.bar.com"; |
- |
-TEST(AddressListTest, Canonical) { |
- // Create an addrinfo with a canonical name. |
- struct sockaddr_in address; |
- // The contents of address do not matter for this test, |
- // so just zero-ing them out for consistency. |
- memset(&address, 0x0, sizeof(address)); |
- // But we need to set the family. |
- address.sin_family = AF_INET; |
- struct addrinfo ai; |
- memset(&ai, 0x0, sizeof(ai)); |
- ai.ai_family = AF_INET; |
- ai.ai_socktype = SOCK_STREAM; |
- ai.ai_addrlen = sizeof(address); |
- ai.ai_addr = reinterpret_cast<sockaddr*>(&address); |
- ai.ai_canonname = const_cast<char *>(kCanonicalHostname); |
- |
- // Copy the addrinfo struct into an AddressList object and |
- // make sure it seems correct. |
- AddressList addrlist1 = AddressList::CreateFromAddrinfo(&ai); |
- EXPECT_EQ("canonical.bar.com", addrlist1.canonical_name()); |
- |
- // Copy the AddressList to another one. |
- AddressList addrlist2 = addrlist1; |
- EXPECT_EQ("canonical.bar.com", addrlist2.canonical_name()); |
-} |
- |
-TEST(AddressListTest, CreateFromAddrinfo) { |
- // Create an 4-element addrinfo. |
- const unsigned kNumElements = 4; |
- SockaddrStorage storage[kNumElements]; |
- struct addrinfo ai[kNumElements]; |
- for (unsigned i = 0; i < kNumElements; ++i) { |
- struct sockaddr_in* addr = |
- reinterpret_cast<struct sockaddr_in*>(storage[i].addr); |
- storage[i].addr_len = sizeof(struct sockaddr_in); |
- // Populating the address with { i, i, i, i }. |
- memset(&addr->sin_addr, i, kIPv4AddressSize); |
- addr->sin_family = AF_INET; |
- // Set port to i << 2; |
- addr->sin_port = base::HostToNet16(static_cast<uint16>(i << 2)); |
- memset(&ai[i], 0x0, sizeof(ai[i])); |
- ai[i].ai_family = addr->sin_family; |
- ai[i].ai_socktype = SOCK_STREAM; |
- ai[i].ai_addrlen = storage[i].addr_len; |
- ai[i].ai_addr = storage[i].addr; |
- if (i + 1 < kNumElements) |
- ai[i].ai_next = &ai[i + 1]; |
- } |
- |
- AddressList list = AddressList::CreateFromAddrinfo(&ai[0]); |
- |
- ASSERT_EQ(kNumElements, list.size()); |
- for (size_t i = 0; i < list.size(); ++i) { |
- EXPECT_EQ(ADDRESS_FAMILY_IPV4, list[i].GetFamily()); |
- // Only check the first byte of the address. |
- EXPECT_EQ(i, list[i].address()[0]); |
- EXPECT_EQ(static_cast<int>(i << 2), list[i].port()); |
- } |
- |
- // Check if operator= works. |
- AddressList copy; |
- copy = list; |
- ASSERT_EQ(kNumElements, copy.size()); |
- |
- // Check if copy is independent. |
- copy[1] = IPEndPoint(copy[2].address(), 0xBEEF); |
- // Original should be unchanged. |
- EXPECT_EQ(1u, list[1].address()[0]); |
- EXPECT_EQ(1 << 2, list[1].port()); |
-} |
- |
-TEST(AddressListTest, CreateFromIPAddressList) { |
- struct TestData { |
- std::string ip_address; |
- const char* in_addr; |
- int ai_family; |
- size_t ai_addrlen; |
- size_t in_addr_offset; |
- size_t in_addr_size; |
- } tests[] = { |
- { "127.0.0.1", |
- "\x7f\x00\x00\x01", |
- AF_INET, |
- sizeof(struct sockaddr_in), |
- offsetof(struct sockaddr_in, sin_addr), |
- sizeof(struct in_addr), |
- }, |
- { "2001:db8:0::42", |
- "\x20\x01\x0d\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42", |
- AF_INET6, |
- sizeof(struct sockaddr_in6), |
- offsetof(struct sockaddr_in6, sin6_addr), |
- sizeof(struct in6_addr), |
- }, |
- { "192.168.1.1", |
- "\xc0\xa8\x01\x01", |
- AF_INET, |
- sizeof(struct sockaddr_in), |
- offsetof(struct sockaddr_in, sin_addr), |
- sizeof(struct in_addr), |
- }, |
- }; |
- const std::string kCanonicalName = "canonical.example.com"; |
- |
- // Construct a list of ip addresses. |
- IPAddressList ip_list; |
- for (size_t i = 0; i < arraysize(tests); ++i) { |
- IPAddressNumber ip_number; |
- ASSERT_TRUE(ParseIPLiteralToNumber(tests[i].ip_address, &ip_number)); |
- ip_list.push_back(ip_number); |
- } |
- |
- AddressList test_list = AddressList::CreateFromIPAddressList(ip_list, |
- kCanonicalName); |
- std::string canonical_name; |
- EXPECT_EQ(kCanonicalName, test_list.canonical_name()); |
- EXPECT_EQ(arraysize(tests), test_list.size()); |
-} |
- |
-} // namespace |
-} // namespace net |