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 "content/browser/geolocation/wifi_data_provider_common.h" | 5 #include "device/geolocation/wifi_data_provider_common.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
11 #include "base/single_thread_task_runner.h" | 11 #include "base/single_thread_task_runner.h" |
12 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
13 #include "base/third_party/dynamic_annotations/dynamic_annotations.h" | 13 #include "base/third_party/dynamic_annotations/dynamic_annotations.h" |
14 #include "base/threading/thread_task_runner_handle.h" | 14 #include "base/threading/thread_task_runner_handle.h" |
15 #include "content/browser/geolocation/wifi_data_provider_manager.h" | 15 #include "device/geolocation/wifi_data_provider_manager.h" |
16 #include "content/public/test/test_browser_thread_bundle.h" | |
17 #include "testing/gmock/include/gmock/gmock.h" | 16 #include "testing/gmock/include/gmock/gmock.h" |
18 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
19 | 18 |
20 using testing::_; | 19 using testing::_; |
21 using testing::AtLeast; | 20 using testing::AtLeast; |
22 using testing::DoDefault; | 21 using testing::DoDefault; |
23 using testing::Invoke; | 22 using testing::Invoke; |
24 using testing::Return; | 23 using testing::Return; |
25 | 24 |
26 namespace content { | 25 namespace device { |
27 | 26 |
28 class MockWlanApi : public WifiDataProviderCommon::WlanApiInterface { | 27 class MockWlanApi : public WifiDataProviderCommon::WlanApiInterface { |
29 public: | 28 public: |
30 MockWlanApi() : calls_(0), bool_return_(true) { | 29 MockWlanApi() : calls_(0), bool_return_(true) { |
31 ANNOTATE_BENIGN_RACE(&calls_, "This is a test-only data race on a counter"); | 30 ANNOTATE_BENIGN_RACE(&calls_, "This is a test-only data race on a counter"); |
32 ON_CALL(*this, GetAccessPointData(_)) | 31 ON_CALL(*this, GetAccessPointData(_)) |
33 .WillByDefault(Invoke(this, &MockWlanApi::GetAccessPointDataInternal)); | 32 .WillByDefault(Invoke(this, &MockWlanApi::GetAccessPointDataInternal)); |
34 } | 33 } |
35 | 34 |
36 MOCK_METHOD1(GetAccessPointData, bool(WifiData::AccessPointDataSet* data)); | 35 MOCK_METHOD1(GetAccessPointData, bool(WifiData::AccessPointDataSet* data)); |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 EXPECT_TRUE(main_task_runner_->BelongsToCurrentThread()); | 117 EXPECT_TRUE(main_task_runner_->BelongsToCurrentThread()); |
119 run_loop_->Quit(); | 118 run_loop_->Quit(); |
120 } | 119 } |
121 | 120 |
122 void RunLoop() { | 121 void RunLoop() { |
123 run_loop_.reset(new base::RunLoop()); | 122 run_loop_.reset(new base::RunLoop()); |
124 run_loop_->Run(); | 123 run_loop_->Run(); |
125 } | 124 } |
126 | 125 |
127 protected: | 126 protected: |
128 TestBrowserThreadBundle thread_bundle_; | 127 base::MessageLoopForUI message_loop_; |
129 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; | 128 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; |
130 std::unique_ptr<base::RunLoop> run_loop_; | 129 std::unique_ptr<base::RunLoop> run_loop_; |
131 WifiDataProviderManager::WifiDataUpdateCallback wifi_data_callback_; | 130 WifiDataProviderManager::WifiDataUpdateCallback wifi_data_callback_; |
132 scoped_refptr<WifiDataProviderCommonWithMock> provider_; | 131 scoped_refptr<WifiDataProviderCommonWithMock> provider_; |
133 MockWlanApi* wlan_api_; | 132 MockWlanApi* wlan_api_; |
134 MockPollingPolicy* polling_policy_; | 133 MockPollingPolicy* polling_policy_; |
135 }; | 134 }; |
136 | 135 |
137 TEST_F(GeolocationWifiDataProviderCommonTest, CreateDestroy) { | 136 TEST_F(GeolocationWifiDataProviderCommonTest, CreateDestroy) { |
138 // Test fixture members were SetUp correctly. | 137 // Test fixture members were SetUp correctly. |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 | 229 |
231 TEST_F(GeolocationWifiDataProviderCommonTest, RegisterUnregister) { | 230 TEST_F(GeolocationWifiDataProviderCommonTest, RegisterUnregister) { |
232 WifiDataProviderManager::SetFactoryForTesting( | 231 WifiDataProviderManager::SetFactoryForTesting( |
233 CreateWifiDataProviderCommonWithMock); | 232 CreateWifiDataProviderCommonWithMock); |
234 WifiDataProviderManager::Register(&wifi_data_callback_); | 233 WifiDataProviderManager::Register(&wifi_data_callback_); |
235 RunLoop(); | 234 RunLoop(); |
236 WifiDataProviderManager::Unregister(&wifi_data_callback_); | 235 WifiDataProviderManager::Unregister(&wifi_data_callback_); |
237 WifiDataProviderManager::ResetFactoryForTesting(); | 236 WifiDataProviderManager::ResetFactoryForTesting(); |
238 } | 237 } |
239 | 238 |
240 } // namespace content | 239 } // namespace device |
OLD | NEW |