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

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

Issue 5676004: Cleanup: Remove unneeded browser_thread.h usage. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix deps Created 10 years 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
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 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 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 <Objbase.h>
6
5 #include <algorithm> 7 #include <algorithm>
6 #include <cmath> 8 #include <cmath>
7 #include <Objbase.h>
8 9
9 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
10 #include "base/logging.h" 11 #include "base/logging.h"
11 #include "base/message_loop.h" 12 #include "base/message_loop.h"
12 #include "base/scoped_ptr.h" 13 #include "base/scoped_ptr.h"
13 #include "base/time.h" 14 #include "base/time.h"
14 #include "base/win_util.h" 15 #include "base/win_util.h"
15 #include "chrome/common/geoposition.h" 16 #include "chrome/common/geoposition.h"
16 #include "chrome/browser/browser_thread.h"
17 #include "chrome/browser/geolocation/win7_location_api_win.h" 17 #include "chrome/browser/geolocation/win7_location_api_win.h"
18 #include "testing/gmock/include/gmock/gmock.h" 18 #include "testing/gmock/include/gmock/gmock.h"
19 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
20 20
21 using testing::_; 21 using testing::_;
22 using testing::AtLeast; 22 using testing::AtLeast;
23 using testing::DoDefault; 23 using testing::DoDefault;
24 using testing::Invoke; 24 using testing::Invoke;
25 using testing::Return; 25 using testing::Return;
26 26
27 class MockLatLongReport : public ILatLongReport { 27 class MockLatLongReport : public ILatLongReport {
28 public: 28 public:
29 MockLatLongReport() : ref_count_(1) { 29 MockLatLongReport() : ref_count_(1) {
30 ON_CALL(*this, GetAltitude(_)) 30 ON_CALL(*this, GetAltitude(_))
31 .WillByDefault(Invoke(this, &MockLatLongReport::GetAltitudeValid)); 31 .WillByDefault(Invoke(this, &MockLatLongReport::GetAltitudeValid));
32 ON_CALL(*this, GetAltitudeError(_)) 32 ON_CALL(*this, GetAltitudeError(_))
33 .WillByDefault(Invoke(this, 33 .WillByDefault(Invoke(this,
34 &MockLatLongReport::GetAltitudeErrorValid)); 34 &MockLatLongReport::GetAltitudeErrorValid));
35 ON_CALL(*this, GetErrorRadius(_)) 35 ON_CALL(*this, GetErrorRadius(_))
36 .WillByDefault(Invoke(this, &MockLatLongReport::GetErrorRadiusValid)); 36 .WillByDefault(Invoke(this, &MockLatLongReport::GetErrorRadiusValid));
37 ON_CALL(*this, GetLatitude(_)) 37 ON_CALL(*this, GetLatitude(_))
38 .WillByDefault(Invoke(this, &MockLatLongReport::GetLatitudeValid)); 38 .WillByDefault(Invoke(this, &MockLatLongReport::GetLatitudeValid));
39 ON_CALL(*this, GetLongitude(_)) 39 ON_CALL(*this, GetLongitude(_))
40 .WillByDefault(Invoke(this, &MockLatLongReport::GetLongitudeValid)); 40 .WillByDefault(Invoke(this, &MockLatLongReport::GetLongitudeValid));
41 ON_CALL(*this, GetValue(_,_)) 41 ON_CALL(*this, GetValue(_, _))
42 .WillByDefault(Invoke(this, &MockLatLongReport::GetValueValid)); 42 .WillByDefault(Invoke(this, &MockLatLongReport::GetValueValid));
43 ON_CALL(*this, Release()) 43 ON_CALL(*this, Release())
44 .WillByDefault(Invoke(this, &MockLatLongReport::ReleaseInternal)); 44 .WillByDefault(Invoke(this, &MockLatLongReport::ReleaseInternal));
45 ON_CALL(*this, AddRef()) 45 ON_CALL(*this, AddRef())
46 .WillByDefault(Invoke(this, &MockLatLongReport::AddRefInternal)); 46 .WillByDefault(Invoke(this, &MockLatLongReport::AddRefInternal));
47 } 47 }
48 48
49 // ILatLongReport 49 // ILatLongReport
50 MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, 50 MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
51 GetAltitude, 51 GetAltitude,
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 113
114 ULONG AddRefInternal() { 114 ULONG AddRefInternal() {
115 return InterlockedIncrement(&ref_count_); 115 return InterlockedIncrement(&ref_count_);
116 } 116 }
117 ULONG ReleaseInternal() { 117 ULONG ReleaseInternal() {
118 LONG new_ref_count = InterlockedDecrement(&ref_count_); 118 LONG new_ref_count = InterlockedDecrement(&ref_count_);
119 if (0 == new_ref_count) 119 if (0 == new_ref_count)
120 delete this; 120 delete this;
121 return new_ref_count; 121 return new_ref_count;
122 } 122 }
123 123
124 LONG ref_count_; 124 LONG ref_count_;
125 }; 125 };
126 126
127 class MockReport : public ILocationReport { 127 class MockReport : public ILocationReport {
128 public: 128 public:
129 MockReport() : ref_count_(1) { 129 MockReport() : ref_count_(1) {
130 mock_lat_long_report_ = 130 mock_lat_long_report_ =
131 new MockLatLongReport(); 131 new MockLatLongReport();
132 ON_CALL(*this, QueryInterface(_, _)) 132 ON_CALL(*this, QueryInterface(_, _))
133 .WillByDefault(Invoke(this, &MockReport::QueryInterfaceValid)); 133 .WillByDefault(Invoke(this, &MockReport::QueryInterfaceValid));
134 ON_CALL(*this, Release()) 134 ON_CALL(*this, Release())
135 .WillByDefault(Invoke(this, &MockReport::ReleaseInternal)); 135 .WillByDefault(Invoke(this, &MockReport::ReleaseInternal));
136 ON_CALL(*this, AddRef()) 136 ON_CALL(*this, AddRef())
137 .WillByDefault(Invoke(this, &MockReport::AddRefInternal)); 137 .WillByDefault(Invoke(this, &MockReport::AddRefInternal));
138 } 138 }
139 139
140 // ILocationReport 140 // ILocationReport
141 MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, 141 MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
142 GetSensorID, 142 GetSensorID,
143 HRESULT(SENSOR_ID*)); 143 HRESULT(SENSOR_ID*));
144 MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, 144 MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
145 GetTimestamp, 145 GetTimestamp,
146 HRESULT(SYSTEMTIME*)); 146 HRESULT(SYSTEMTIME*));
147 MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, 147 MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE,
148 GetValue, 148 GetValue,
149 HRESULT(REFPROPERTYKEY, PROPVARIANT*)); 149 HRESULT(REFPROPERTYKEY, PROPVARIANT*));
150 // IUnknown 150 // IUnknown
151 MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, 151 MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE,
152 QueryInterface, 152 QueryInterface,
153 HRESULT(REFIID, void**)); 153 HRESULT(REFIID, void**));
154 MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE, 154 MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE,
155 AddRef, 155 AddRef,
156 ULONG()); 156 ULONG());
157 MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE, 157 MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE,
158 Release, 158 Release,
159 ULONG()); 159 ULONG());
160 160
161 MockLatLongReport* mock_lat_long_report_; 161 MockLatLongReport* mock_lat_long_report_;
162 162
163 private: 163 private:
164 ~MockReport() { 164 ~MockReport() {
165 mock_lat_long_report_->Release(); 165 mock_lat_long_report_->Release();
166 } 166 }
167 167
168 ULONG AddRefInternal() { 168 ULONG AddRefInternal() {
169 return InterlockedIncrement(&ref_count_); 169 return InterlockedIncrement(&ref_count_);
170 } 170 }
171 ULONG ReleaseInternal() { 171 ULONG ReleaseInternal() {
172 LONG new_ref_count = InterlockedDecrement(&ref_count_); 172 LONG new_ref_count = InterlockedDecrement(&ref_count_);
173 if (0 == new_ref_count) 173 if (0 == new_ref_count)
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE, 235 MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE,
236 AddRef, 236 AddRef,
237 ULONG()); 237 ULONG());
238 MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE, 238 MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE,
239 Release, 239 Release,
240 ULONG()); 240 ULONG());
241 241
242 MockReport* mock_report_; 242 MockReport* mock_report_;
243 243
244 private: 244 private:
245 ~MockLocation() { 245 ~MockLocation() {
246 mock_report_->Release(); 246 mock_report_->Release();
247 } 247 }
248 248
249 HRESULT GetReportValid(REFIID report_type, 249 HRESULT GetReportValid(REFIID report_type,
250 ILocationReport** location_report) { 250 ILocationReport** location_report) {
251 *location_report = reinterpret_cast<ILocationReport*>(mock_report_); 251 *location_report = reinterpret_cast<ILocationReport*>(mock_report_);
252 mock_report_->AddRef(); 252 mock_report_->AddRef();
253 return S_OK; 253 return S_OK;
254 } 254 }
255 ULONG AddRefInternal() { 255 ULONG AddRefInternal() {
256 return InterlockedIncrement(&ref_count_); 256 return InterlockedIncrement(&ref_count_);
257 } 257 }
258 ULONG ReleaseInternal() { 258 ULONG ReleaseInternal() {
(...skipping 22 matching lines...) Expand all
281 } 281 }
282 virtual void SetUp() { 282 virtual void SetUp() {
283 api_.reset(CreateMock()); 283 api_.reset(CreateMock());
284 report_ = locator_->mock_report_; 284 report_ = locator_->mock_report_;
285 lat_long_report_ = report_->mock_lat_long_report_; 285 lat_long_report_ = report_->mock_lat_long_report_;
286 } 286 }
287 virtual void TearDown() { 287 virtual void TearDown() {
288 locator_->Release(); 288 locator_->Release();
289 api_.reset(); 289 api_.reset();
290 } 290 }
291 ~GeolocationApiWin7Tests(){ 291 ~GeolocationApiWin7Tests() {
292 } 292 }
293 protected: 293 protected:
294 Win7LocationApi* CreateMock() { 294 Win7LocationApi* CreateMock() {
295 MockLocation* locator = new MockLocation(); 295 MockLocation* locator = new MockLocation();
296 locator_ = locator; 296 locator_ = locator;
297 return new Win7LocationApi(NULL, 297 return new Win7LocationApi(NULL,
298 &MockPropVariantToDoubleFunction, 298 &MockPropVariantToDoubleFunction,
299 locator); 299 locator);
300 } 300 }
301 301
(...skipping 24 matching lines...) Expand all
326 TEST_F(GeolocationApiWin7Tests, GetInvalidPosition) { 326 TEST_F(GeolocationApiWin7Tests, GetInvalidPosition) {
327 EXPECT_CALL(*lat_long_report_, GetLatitude(_)) 327 EXPECT_CALL(*lat_long_report_, GetLatitude(_))
328 .Times(AtLeast(1)) 328 .Times(AtLeast(1))
329 .WillRepeatedly(Return(HRESULT_FROM_WIN32(ERROR_NO_DATA))); 329 .WillRepeatedly(Return(HRESULT_FROM_WIN32(ERROR_NO_DATA)));
330 EXPECT_CALL(*locator_, GetReport(_, _)) 330 EXPECT_CALL(*locator_, GetReport(_, _))
331 .Times(AtLeast(1)); 331 .Times(AtLeast(1));
332 Geoposition position; 332 Geoposition position;
333 api_->GetPosition(&position); 333 api_->GetPosition(&position);
334 EXPECT_FALSE(position.IsValidFix()); 334 EXPECT_FALSE(position.IsValidFix());
335 } 335 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698