Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Side by Side Diff: net/base/net_util_unittest.cc

Issue 878513008: Add a function to get Wifi SSID to net_util. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove NetworkInterfaceList argument. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698