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/net_util.h" | 5 #include "net/base/net_util.h" |
6 | 6 |
7 #include <string.h> | 7 #include <string.h> |
8 | 8 |
9 #include <ostream> | 9 #include <ostream> |
10 | 10 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
58 | 58 |
59 namespace net { | 59 namespace net { |
60 | 60 |
61 namespace { | 61 namespace { |
62 | 62 |
63 struct HeaderCase { | 63 struct HeaderCase { |
64 const char* const header_name; | 64 const char* const header_name; |
65 const char* const expected; | 65 const char* const expected; |
66 }; | 66 }; |
67 | 67 |
68 #if defined(OS_LINUX) | |
69 const char kWiFiSSID[] = "TestWiFi"; | |
70 const char kInterfaceWithNoSSID[] = "wlan999"; | |
71 | |
72 std::string TestGetInterfaceSSID(const std::string& ifname) { | |
73 return (ifname == kInterfaceWithNoSSID) ? "" : kWiFiSSID; | |
pauljensen
2015/02/09 12:28:05
Instead of "", can this return something different
meacer
2015/02/10 04:42:50
Done.
| |
74 } | |
75 #endif | |
76 | |
68 // Fills in sockaddr for the given 32-bit address (IPv4.) | 77 // Fills in sockaddr for the given 32-bit address (IPv4.) |
69 // |bytes| should be an array of length 4. | 78 // |bytes| should be an array of length 4. |
70 void MakeIPv4Address(const uint8* bytes, int port, SockaddrStorage* storage) { | 79 void MakeIPv4Address(const uint8* bytes, int port, SockaddrStorage* storage) { |
71 memset(&storage->addr_storage, 0, sizeof(storage->addr_storage)); | 80 memset(&storage->addr_storage, 0, sizeof(storage->addr_storage)); |
72 storage->addr_len = sizeof(struct sockaddr_in); | 81 storage->addr_len = sizeof(struct sockaddr_in); |
73 struct sockaddr_in* addr4 = reinterpret_cast<sockaddr_in*>(storage->addr); | 82 struct sockaddr_in* addr4 = reinterpret_cast<sockaddr_in*>(storage->addr); |
74 addr4->sin_port = base::HostToNet16(port); | 83 addr4->sin_port = base::HostToNet16(port); |
75 addr4->sin_family = AF_INET; | 84 addr4->sin_family = AF_INET; |
76 memcpy(&addr4->sin_addr, bytes, 4); | 85 memcpy(&addr4->sin_addr, bytes, 4); |
77 } | 86 } |
(...skipping 1221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1299 EXPECT_EQ(results[0].friendly_name, "FriendlyInterfaceName"); | 1308 EXPECT_EQ(results[0].friendly_name, "FriendlyInterfaceName"); |
1300 EXPECT_EQ(results[0].name, ifname_em1); | 1309 EXPECT_EQ(results[0].name, ifname_em1); |
1301 EXPECT_EQ(results[0].prefix_length, 1ul); | 1310 EXPECT_EQ(results[0].prefix_length, 1ul); |
1302 EXPECT_EQ(results[0].address, ipv6_address); | 1311 EXPECT_EQ(results[0].address, ipv6_address); |
1303 EXPECT_EQ(results[0].ip_address_attributes, IP_ADDRESS_ATTRIBUTE_DEPRECATED); | 1312 EXPECT_EQ(results[0].ip_address_attributes, IP_ADDRESS_ATTRIBUTE_DEPRECATED); |
1304 results.clear(); | 1313 results.clear(); |
1305 } | 1314 } |
1306 | 1315 |
1307 #endif // !OS_MACOSX && !OS_WIN && !OS_NACL | 1316 #endif // !OS_MACOSX && !OS_WIN && !OS_NACL |
1308 | 1317 |
1318 #if defined(OS_LINUX) | |
1319 TEST(NetUtilTest, GetWifiSSID) { | |
1320 NetworkInterfaceList list; | |
1321 EXPECT_EQ(std::string(), net::internal::GetWifiSSIDFromInterfaceListInternal( | |
1322 list, TestGetInterfaceSSID)); | |
1323 | |
1324 NetworkInterface interface1; | |
1325 interface1.name = "wlan0"; | |
1326 interface1.type = NetworkChangeNotifier::CONNECTION_WIFI; | |
1327 list.push_back(interface1); | |
1328 ASSERT_EQ(1u, list.size()); | |
1329 EXPECT_EQ(std::string(kWiFiSSID), | |
1330 net::internal::GetWifiSSIDFromInterfaceListInternal( | |
1331 list, TestGetInterfaceSSID)); | |
1332 | |
1333 NetworkInterface interface2; | |
1334 interface2.name = "wlan1"; | |
1335 interface2.type = NetworkChangeNotifier::CONNECTION_WIFI; | |
1336 list.push_back(interface2); | |
1337 ASSERT_EQ(2u, list.size()); | |
1338 EXPECT_EQ(std::string(kWiFiSSID), | |
1339 net::internal::GetWifiSSIDFromInterfaceListInternal( | |
1340 list, TestGetInterfaceSSID)); | |
1341 | |
1342 NetworkInterface interface3; | |
1343 interface3.name = kInterfaceWithNoSSID; | |
1344 interface3.type = NetworkChangeNotifier::CONNECTION_WIFI; | |
1345 list.push_back(interface3); | |
1346 ASSERT_EQ(3u, list.size()); | |
1347 EXPECT_EQ(std::string(), net::internal::GetWifiSSIDFromInterfaceListInternal( | |
1348 list, TestGetInterfaceSSID)); | |
1349 | |
1350 list.pop_back(); | |
1351 NetworkInterface interface4; | |
1352 interface4.name = "eth0"; | |
1353 interface4.type = NetworkChangeNotifier::CONNECTION_ETHERNET; | |
1354 list.push_back(interface4); | |
1355 ASSERT_EQ(3u, list.size()); | |
1356 EXPECT_EQ(std::string(), net::internal::GetWifiSSIDFromInterfaceListInternal( | |
1357 list, TestGetInterfaceSSID)); | |
1358 } | |
pauljensen
2015/02/09 12:28:05
Can we add a test for calling net::GetWiFiSSID() t
meacer
2015/02/10 04:42:50
Renamed the above test and added GetWifiSSID.
| |
1359 #endif // OS_LINUX | |
1360 | |
1309 namespace { | 1361 namespace { |
1310 | 1362 |
1311 #if defined(OS_WIN) | 1363 #if defined(OS_WIN) |
1312 bool read_int_or_bool(DWORD data_size, | 1364 bool read_int_or_bool(DWORD data_size, |
1313 PVOID data) { | 1365 PVOID data) { |
1314 switch (data_size) { | 1366 switch (data_size) { |
1315 case 1: | 1367 case 1: |
1316 return !!*reinterpret_cast<uint8*>(data); | 1368 return !!*reinterpret_cast<uint8*>(data); |
1317 case 4: | 1369 case 4: |
1318 return !!*reinterpret_cast<uint32*>(data); | 1370 return !!*reinterpret_cast<uint32*>(data); |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1489 TEST_P(NetUtilNonUniqueNameTest, IsHostnameNonUnique) { | 1541 TEST_P(NetUtilNonUniqueNameTest, IsHostnameNonUnique) { |
1490 const NonUniqueNameTestData& test_data = GetParam(); | 1542 const NonUniqueNameTestData& test_data = GetParam(); |
1491 | 1543 |
1492 EXPECT_EQ(test_data.is_unique, IsUnique(test_data.hostname)); | 1544 EXPECT_EQ(test_data.is_unique, IsUnique(test_data.hostname)); |
1493 } | 1545 } |
1494 | 1546 |
1495 INSTANTIATE_TEST_CASE_P(, NetUtilNonUniqueNameTest, | 1547 INSTANTIATE_TEST_CASE_P(, NetUtilNonUniqueNameTest, |
1496 testing::ValuesIn(kNonUniqueNameTestData)); | 1548 testing::ValuesIn(kNonUniqueNameTestData)); |
1497 | 1549 |
1498 } // namespace net | 1550 } // namespace net |
OLD | NEW |