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

Unified Diff: device/geolocation/wifi_data_provider_common_unittest.cc

Issue 2192683003: Revert of Reland: Geolocation: move from content/browser to device/ (patchset #2 id:20001 of https:… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2810
Patch Set: Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « device/geolocation/wifi_data_provider_common.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: device/geolocation/wifi_data_provider_common_unittest.cc
diff --git a/device/geolocation/wifi_data_provider_common_unittest.cc b/device/geolocation/wifi_data_provider_common_unittest.cc
deleted file mode 100644
index bd8562d922a17e6da8157fca48f7159531ce7866..0000000000000000000000000000000000000000
--- a/device/geolocation/wifi_data_provider_common_unittest.cc
+++ /dev/null
@@ -1,239 +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 "device/geolocation/wifi_data_provider_common.h"
-
-#include <memory>
-
-#include "base/macros.h"
-#include "base/run_loop.h"
-#include "base/single_thread_task_runner.h"
-#include "base/strings/utf_string_conversions.h"
-#include "base/third_party/dynamic_annotations/dynamic_annotations.h"
-#include "base/threading/thread_task_runner_handle.h"
-#include "device/geolocation/wifi_data_provider_manager.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using testing::_;
-using testing::AtLeast;
-using testing::DoDefault;
-using testing::Invoke;
-using testing::Return;
-
-namespace device {
-
-class MockWlanApi : public WifiDataProviderCommon::WlanApiInterface {
- public:
- MockWlanApi() : calls_(0), bool_return_(true) {
- ANNOTATE_BENIGN_RACE(&calls_, "This is a test-only data race on a counter");
- ON_CALL(*this, GetAccessPointData(_))
- .WillByDefault(Invoke(this, &MockWlanApi::GetAccessPointDataInternal));
- }
-
- MOCK_METHOD1(GetAccessPointData, bool(WifiData::AccessPointDataSet* data));
-
- int calls_;
- bool bool_return_;
- WifiData::AccessPointDataSet data_out_;
-
- private:
- bool GetAccessPointDataInternal(WifiData::AccessPointDataSet* data) {
- ++calls_;
- *data = data_out_;
- return bool_return_;
- }
-};
-
-class MockPollingPolicy : public WifiPollingPolicy {
- public:
- MockPollingPolicy() {
- ON_CALL(*this,PollingInterval())
- .WillByDefault(Return(1));
- ON_CALL(*this,NoWifiInterval())
- .WillByDefault(Return(1));
- }
-
- MOCK_METHOD0(PollingInterval, int());
- MOCK_METHOD0(NoWifiInterval, int());
-
- virtual void UpdatePollingInterval(bool) {}
-};
-
-class WifiDataProviderCommonWithMock : public WifiDataProviderCommon {
- public:
- WifiDataProviderCommonWithMock()
- : new_wlan_api_(new MockWlanApi),
- new_polling_policy_(new MockPollingPolicy) {}
-
- // WifiDataProviderCommon
- WlanApiInterface* NewWlanApi() override {
- CHECK(new_wlan_api_ != NULL);
- return new_wlan_api_.release();
- }
- WifiPollingPolicy* NewPollingPolicy() override {
- CHECK(new_polling_policy_ != NULL);
- return new_polling_policy_.release();
- }
-
- std::unique_ptr<MockWlanApi> new_wlan_api_;
- std::unique_ptr<MockPollingPolicy> new_polling_policy_;
-
- private:
- ~WifiDataProviderCommonWithMock() override {}
-
- DISALLOW_COPY_AND_ASSIGN(WifiDataProviderCommonWithMock);
-};
-
-WifiDataProvider* CreateWifiDataProviderCommonWithMock() {
- return new WifiDataProviderCommonWithMock;
-}
-
-// Main test fixture
-class GeolocationWifiDataProviderCommonTest : public testing::Test {
- public:
- GeolocationWifiDataProviderCommonTest()
- : main_task_runner_(base::ThreadTaskRunnerHandle::Get()),
- wifi_data_callback_(
- base::Bind(&GeolocationWifiDataProviderCommonTest::OnWifiDataUpdate,
- base::Unretained(this))) {}
-
- void SetUp() override {
- provider_ = new WifiDataProviderCommonWithMock;
- wlan_api_ = provider_->new_wlan_api_.get();
- polling_policy_ = provider_->new_polling_policy_.get();
- provider_->AddCallback(&wifi_data_callback_);
- }
-
- void TearDown() override {
- provider_->RemoveCallback(&wifi_data_callback_);
- provider_->StopDataProvider();
- provider_ = NULL;
- }
-
- void OnWifiDataUpdate() {
- // Callbacks must run on the originating thread.
- EXPECT_TRUE(main_task_runner_->BelongsToCurrentThread());
- run_loop_->Quit();
- }
-
- void RunLoop() {
- run_loop_.reset(new base::RunLoop());
- run_loop_->Run();
- }
-
- protected:
- base::MessageLoopForUI message_loop_;
- scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_;
- std::unique_ptr<base::RunLoop> run_loop_;
- WifiDataProviderManager::WifiDataUpdateCallback wifi_data_callback_;
- scoped_refptr<WifiDataProviderCommonWithMock> provider_;
- MockWlanApi* wlan_api_;
- MockPollingPolicy* polling_policy_;
-};
-
-TEST_F(GeolocationWifiDataProviderCommonTest, CreateDestroy) {
- // Test fixture members were SetUp correctly.
- EXPECT_TRUE(main_task_runner_->BelongsToCurrentThread());
- EXPECT_TRUE(NULL != provider_.get());
- EXPECT_TRUE(NULL != wlan_api_);
-}
-
-TEST_F(GeolocationWifiDataProviderCommonTest, RunNormal) {
- EXPECT_CALL(*wlan_api_, GetAccessPointData(_))
- .Times(AtLeast(1));
- EXPECT_CALL(*polling_policy_, PollingInterval())
- .Times(AtLeast(1));
- provider_->StartDataProvider();
- RunLoop();
- SUCCEED();
-}
-
-TEST_F(GeolocationWifiDataProviderCommonTest, NoWifi) {
- EXPECT_CALL(*polling_policy_, NoWifiInterval())
- .Times(AtLeast(1));
- EXPECT_CALL(*wlan_api_, GetAccessPointData(_))
- .WillRepeatedly(Return(false));
- provider_->StartDataProvider();
- RunLoop();
-}
-
-TEST_F(GeolocationWifiDataProviderCommonTest, IntermittentWifi) {
- EXPECT_CALL(*polling_policy_, PollingInterval())
- .Times(AtLeast(1));
- EXPECT_CALL(*polling_policy_, NoWifiInterval())
- .Times(1);
- EXPECT_CALL(*wlan_api_, GetAccessPointData(_))
- .WillOnce(Return(true))
- .WillOnce(Return(false))
- .WillRepeatedly(DoDefault());
-
- AccessPointData single_access_point;
- single_access_point.channel = 2;
- single_access_point.mac_address = 3;
- single_access_point.radio_signal_strength = 4;
- single_access_point.signal_to_noise = 5;
- single_access_point.ssid = base::ASCIIToUTF16("foossid");
- wlan_api_->data_out_.insert(single_access_point);
-
- provider_->StartDataProvider();
- RunLoop();
- RunLoop();
-}
-
-#if defined(OS_MACOSX)
-#define MAYBE_DoAnEmptyScan DISABLED_DoAnEmptyScan
-#else
-#define MAYBE_DoAnEmptyScan DoAnEmptyScan
-#endif
-TEST_F(GeolocationWifiDataProviderCommonTest, MAYBE_DoAnEmptyScan) {
- EXPECT_CALL(*wlan_api_, GetAccessPointData(_))
- .Times(AtLeast(1));
- EXPECT_CALL(*polling_policy_, PollingInterval())
- .Times(AtLeast(1));
- provider_->StartDataProvider();
- RunLoop();
- EXPECT_EQ(wlan_api_->calls_, 1);
- WifiData data;
- EXPECT_TRUE(provider_->GetData(&data));
- EXPECT_EQ(0, static_cast<int>(data.access_point_data.size()));
-}
-
-#if defined(OS_MACOSX)
-#define MAYBE_DoScanWithResults DISABLED_DoScanWithResults
-#else
-#define MAYBE_DoScanWithResults DoScanWithResults
-#endif
-TEST_F(GeolocationWifiDataProviderCommonTest, MAYBE_DoScanWithResults) {
- EXPECT_CALL(*wlan_api_, GetAccessPointData(_))
- .Times(AtLeast(1));
- EXPECT_CALL(*polling_policy_, PollingInterval())
- .Times(AtLeast(1));
- AccessPointData single_access_point;
- single_access_point.channel = 2;
- single_access_point.mac_address = 3;
- single_access_point.radio_signal_strength = 4;
- single_access_point.signal_to_noise = 5;
- single_access_point.ssid = base::ASCIIToUTF16("foossid");
- wlan_api_->data_out_.insert(single_access_point);
-
- provider_->StartDataProvider();
- RunLoop();
- EXPECT_EQ(wlan_api_->calls_, 1);
- WifiData data;
- EXPECT_TRUE(provider_->GetData(&data));
- EXPECT_EQ(1, static_cast<int>(data.access_point_data.size()));
- EXPECT_EQ(single_access_point.ssid, data.access_point_data.begin()->ssid);
-}
-
-TEST_F(GeolocationWifiDataProviderCommonTest, RegisterUnregister) {
- WifiDataProviderManager::SetFactoryForTesting(
- CreateWifiDataProviderCommonWithMock);
- WifiDataProviderManager::Register(&wifi_data_callback_);
- RunLoop();
- WifiDataProviderManager::Unregister(&wifi_data_callback_);
- WifiDataProviderManager::ResetFactoryForTesting();
-}
-
-} // namespace device
« no previous file with comments | « device/geolocation/wifi_data_provider_common.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698