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

Side by Side Diff: chrome/browser/geolocation/wifi_data_provider_unittest_chromeos.cc

Issue 6591034: Move core pieces of geolocation from chrome to content.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix Linux build Created 9 years, 9 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/geolocation/wifi_data_provider_chromeos.h"
6
7 #include "base/utf_string_conversions.h"
8 #include "chrome/browser/chromeos/cros/mock_network_library.h"
9 #include "testing/gtest/include/gtest/gtest.h"
10
11 using ::testing::DoAll;
12 using ::testing::NotNull;
13 using ::testing::Return;
14 using ::testing::ReturnRef;
15 using ::testing::SetArgumentPointee;
16
17 namespace chromeos {
18
19 class GeolocationChromeOsWifiDataProviderTest : public testing::Test {
20 protected:
21 GeolocationChromeOsWifiDataProviderTest()
22 : api_(WifiDataProviderChromeOs::NewWlanApi(&net_lib_)) {
23 }
24
25 static WifiAccessPointVector MakeWifiAps(int ssids, int aps_per_ssid) {
26 WifiAccessPointVector ret;
27 for (int i = 0; i < ssids; ++i) {
28 for (int j = 0; j < aps_per_ssid; ++j) {
29 WifiAccessPoint ap;
30 ap.name = StringPrintf("SSID %d", i);
31 ap.channel = i * 10 + j;
32 ap.mac_address = StringPrintf("%02X:%02X:%02X:%02X:%02X:%02X",
33 i, j, 3, 4, 5, 6);
34 ap.signal_strength = j;
35 ap.signal_to_noise = i;
36 ret.push_back(ap);
37 }
38 }
39 return ret;
40 }
41
42 chromeos::MockNetworkLibrary net_lib_;
43 scoped_ptr<WifiDataProviderCommon::WlanApiInterface> api_;
44 WifiData::AccessPointDataSet ap_data_;
45 };
46
47 TEST_F(GeolocationChromeOsWifiDataProviderTest, WifiPoweredOff) {
48 EXPECT_CALL(net_lib_, GetWifiAccessPoints(NotNull()))
49 .WillOnce(Return(false));
50 EXPECT_FALSE(api_->GetAccessPointData(&ap_data_));
51 EXPECT_EQ(0u, ap_data_.size());
52 }
53
54 TEST_F(GeolocationChromeOsWifiDataProviderTest, NoAccessPointsInRange) {
55 EXPECT_CALL(net_lib_, GetWifiAccessPoints(NotNull()))
56 .WillOnce(Return(true));
57 EXPECT_CALL(net_lib_, wifi_enabled())
58 .WillRepeatedly(Return(true));
59 EXPECT_TRUE(api_->GetAccessPointData(&ap_data_));
60 EXPECT_EQ(0u, ap_data_.size());
61 }
62
63 TEST_F(GeolocationChromeOsWifiDataProviderTest, GetOneAccessPoint) {
64 EXPECT_CALL(net_lib_, GetWifiAccessPoints(NotNull()))
65 .WillOnce(DoAll(SetArgumentPointee<0>(MakeWifiAps(1, 1)), Return(true)));
66 EXPECT_TRUE(api_->GetAccessPointData(&ap_data_));
67 ASSERT_EQ(1u, ap_data_.size());
68 EXPECT_EQ("00:00:03:04:05:06", UTF16ToUTF8(ap_data_.begin()->mac_address));
69 EXPECT_EQ("SSID 0", UTF16ToUTF8(ap_data_.begin()->ssid));
70 }
71
72 TEST_F(GeolocationChromeOsWifiDataProviderTest, GetManyAccessPoints) {
73 EXPECT_CALL(net_lib_, GetWifiAccessPoints(NotNull()))
74 .WillOnce(DoAll(SetArgumentPointee<0>(MakeWifiAps(3, 4)), Return(true)));
75 EXPECT_TRUE(api_->GetAccessPointData(&ap_data_));
76 ASSERT_EQ(12u, ap_data_.size());
77 }
78
79 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698