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

Unified Diff: content/browser/geolocation/win7_location_api_unittest_win.cc

Issue 22674006: Delete the Windows 7 Geolocation provider. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 7 years, 4 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
Index: content/browser/geolocation/win7_location_api_unittest_win.cc
diff --git a/content/browser/geolocation/win7_location_api_unittest_win.cc b/content/browser/geolocation/win7_location_api_unittest_win.cc
deleted file mode 100644
index 35842b079d18595dfd1e04a32bc396e91c955594..0000000000000000000000000000000000000000
--- a/content/browser/geolocation/win7_location_api_unittest_win.cc
+++ /dev/null
@@ -1,339 +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 <Objbase.h>
-
-#include <algorithm>
-#include <cmath>
-
-#include "base/compiler_specific.h"
-#include "base/logging.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/message_loop/message_loop.h"
-#include "base/time/time.h"
-#include "content/browser/geolocation/win7_location_api_win.h"
-#include "content/public/common/geoposition.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::NiceMock;
-using testing::Return;
-
-namespace content {
-
-class MockLatLongReport : public ILatLongReport {
- public:
- MockLatLongReport() : ref_count_(1) {
- ON_CALL(*this, GetAltitude(_))
- .WillByDefault(Invoke(this, &MockLatLongReport::GetAltitudeValid));
- ON_CALL(*this, GetAltitudeError(_))
- .WillByDefault(Invoke(this,
- &MockLatLongReport::GetAltitudeErrorValid));
- ON_CALL(*this, GetErrorRadius(_))
- .WillByDefault(Invoke(this, &MockLatLongReport::GetErrorRadiusValid));
- ON_CALL(*this, GetLatitude(_))
- .WillByDefault(Invoke(this, &MockLatLongReport::GetLatitudeValid));
- ON_CALL(*this, GetLongitude(_))
- .WillByDefault(Invoke(this, &MockLatLongReport::GetLongitudeValid));
- ON_CALL(*this, GetValue(_, _))
- .WillByDefault(Invoke(this, &MockLatLongReport::GetValueValid));
- ON_CALL(*this, Release())
- .WillByDefault(Invoke(this, &MockLatLongReport::ReleaseInternal));
- ON_CALL(*this, AddRef())
- .WillByDefault(Invoke(this, &MockLatLongReport::AddRefInternal));
- }
-
- // ILatLongReport
- MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetAltitude,
- HRESULT(DOUBLE*));
- MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetAltitudeError,
- HRESULT(DOUBLE*));
- MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetErrorRadius,
- HRESULT(DOUBLE*));
- MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetLatitude,
- HRESULT(DOUBLE*));
- MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetLongitude,
- HRESULT(DOUBLE*));
- // ILocationReport
- MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetSensorID,
- HRESULT(SENSOR_ID*));
- MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetTimestamp,
- HRESULT(SYSTEMTIME*));
- MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetValue,
- HRESULT(REFPROPERTYKEY, PROPVARIANT*));
- // IUnknown
- MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE,
- QueryInterface,
- HRESULT(REFIID, void**));
- MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE,
- AddRef,
- ULONG());
- MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE,
- Release,
- ULONG());
-
- HRESULT GetAltitudeValid(DOUBLE* altitude) {
- *altitude = 20.5;
- return S_OK;
- }
- HRESULT GetAltitudeErrorValid(DOUBLE* altitude_error) {
- *altitude_error = 10.0;
- return S_OK;
- }
- HRESULT GetErrorRadiusValid(DOUBLE* error) {
- *error = 5.0;
- return S_OK;
- }
- HRESULT GetLatitudeValid(DOUBLE* latitude) {
- *latitude = 51.0;
- return S_OK;
- }
- HRESULT GetLongitudeValid(DOUBLE* longitude) {
- *longitude = -0.1;
- return S_OK;
- }
- HRESULT GetValueValid(REFPROPERTYKEY prop_key, PROPVARIANT* prop) {
- prop->dblVal = 10.0;
- return S_OK;
- }
-
- private:
- ~MockLatLongReport() {}
-
- ULONG AddRefInternal() {
- return InterlockedIncrement(&ref_count_);
- }
- ULONG ReleaseInternal() {
- LONG new_ref_count = InterlockedDecrement(&ref_count_);
- if (0 == new_ref_count)
- delete this;
- return new_ref_count;
- }
-
- LONG ref_count_;
-};
-
-class MockReport : public ILocationReport {
- public:
- MockReport() : ref_count_(1) {
- mock_lat_long_report_ =
- new MockLatLongReport();
- ON_CALL(*this, QueryInterface(_, _))
- .WillByDefault(Invoke(this, &MockReport::QueryInterfaceValid));
- ON_CALL(*this, Release())
- .WillByDefault(Invoke(this, &MockReport::ReleaseInternal));
- ON_CALL(*this, AddRef())
- .WillByDefault(Invoke(this, &MockReport::AddRefInternal));
- }
-
- // ILocationReport
- MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetSensorID,
- HRESULT(SENSOR_ID*));
- MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetTimestamp,
- HRESULT(SYSTEMTIME*));
- MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetValue,
- HRESULT(REFPROPERTYKEY, PROPVARIANT*));
- // IUnknown
- MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE,
- QueryInterface,
- HRESULT(REFIID, void**));
- MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE,
- AddRef,
- ULONG());
- MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE,
- Release,
- ULONG());
-
- MockLatLongReport* mock_lat_long_report_;
-
- private:
- ~MockReport() {
- mock_lat_long_report_->Release();
- }
-
- ULONG AddRefInternal() {
- return InterlockedIncrement(&ref_count_);
- }
- ULONG ReleaseInternal() {
- LONG new_ref_count = InterlockedDecrement(&ref_count_);
- if (0 == new_ref_count)
- delete this;
- return new_ref_count;
- }
- HRESULT QueryInterfaceValid(REFIID id, void** report) {
- EXPECT_TRUE(id == IID_ILatLongReport);
- *report = reinterpret_cast<ILatLongReport*>(mock_lat_long_report_);
- mock_lat_long_report_->AddRef();
- return S_OK;
- }
-
- LONG ref_count_;
-};
-
-class MockLocation : public ILocation {
- public:
- MockLocation() : ref_count_(1) {
- mock_report_ = new MockReport();
- ON_CALL(*this, SetDesiredAccuracy(_, _))
- .WillByDefault(Return(S_OK));
- ON_CALL(*this, GetReport(_, _))
- .WillByDefault(Invoke(this, &MockLocation::GetReportValid));
- ON_CALL(*this, RequestPermissions(_, _, _, _))
- .WillByDefault(Return(S_OK));
- ON_CALL(*this, AddRef())
- .WillByDefault(Invoke(this, &MockLocation::AddRefInternal));
- ON_CALL(*this, Release())
- .WillByDefault(Invoke(this, &MockLocation::ReleaseInternal));
- }
-
- // ILocation
- MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetDesiredAccuracy,
- HRESULT(REFIID, LOCATION_DESIRED_ACCURACY*));
- MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetReport,
- HRESULT(REFIID, ILocationReport**));
- MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetReportInterval,
- HRESULT(REFIID, DWORD*));
- MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE,
- GetReportStatus,
- HRESULT(REFIID, LOCATION_REPORT_STATUS*));
- MOCK_METHOD4_WITH_CALLTYPE(STDMETHODCALLTYPE,
- RequestPermissions,
- HRESULT(HWND, IID*, ULONG, BOOL));
- MOCK_METHOD3_WITH_CALLTYPE(STDMETHODCALLTYPE,
- RegisterForReport,
- HRESULT(ILocationEvents*, REFIID, DWORD));
- MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE,
- SetDesiredAccuracy,
- HRESULT(REFIID, LOCATION_DESIRED_ACCURACY));
- MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE,
- SetReportInterval,
- HRESULT(REFIID, DWORD));
- MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE,
- UnregisterForReport,
- HRESULT(REFIID));
- // IUnknown
- MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE,
- QueryInterface,
- HRESULT(REFIID, void**));
- MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE,
- AddRef,
- ULONG());
- MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE,
- Release,
- ULONG());
-
- MockReport* mock_report_;
-
- protected:
- ~MockLocation() {
- mock_report_->Release();
- }
-
- private:
- HRESULT GetReportValid(REFIID report_type,
- ILocationReport** location_report) {
- *location_report = reinterpret_cast<ILocationReport*>(mock_report_);
- mock_report_->AddRef();
- return S_OK;
- }
- ULONG AddRefInternal() {
- return InterlockedIncrement(&ref_count_);
- }
- ULONG ReleaseInternal() {
- LONG new_ref_count = InterlockedDecrement(&ref_count_);
- if (0 == new_ref_count)
- delete this;
- return new_ref_count;
- }
-
- LONG ref_count_;
-};
-
-
-HRESULT __stdcall MockPropVariantToDoubleFunction(REFPROPVARIANT propvarIn,
- DOUBLE *pdblRet) {
- CHECK_EQ(10.0, propvarIn.dblVal);
- *pdblRet = 10.0;
- return S_OK;
-}
-
-// TODO(allanwoj): Either make mock classes into NiceMock classes
-// or check every mock method call.
-class GeolocationApiWin7Tests : public testing::Test {
- public:
- GeolocationApiWin7Tests() {
- }
- virtual void SetUp() {
- api_.reset(CreateMock());
- report_ = locator_->mock_report_;
- lat_long_report_ = report_->mock_lat_long_report_;
- }
- virtual void TearDown() {
- locator_->Release();
- api_.reset();
- }
- ~GeolocationApiWin7Tests() {
- }
- protected:
- Win7LocationApi* CreateMock() {
- NiceMock<MockLocation>* locator = new NiceMock<MockLocation>();
- locator_ = locator;
- return Win7LocationApi::CreateForTesting(&MockPropVariantToDoubleFunction,
- locator);
- }
-
- scoped_ptr<Win7LocationApi> api_;
- MockLatLongReport* lat_long_report_;
- NiceMock<MockLocation>* locator_;
- MockReport* report_;
-};
-
-TEST_F(GeolocationApiWin7Tests, PermissionDenied) {
- EXPECT_CALL(*locator_, GetReport(_, _))
- .Times(AtLeast(1))
- .WillRepeatedly(Return(E_ACCESSDENIED));
- Geoposition position;
- api_->GetPosition(&position);
- EXPECT_EQ(Geoposition::ERROR_CODE_PERMISSION_DENIED,
- position.error_code);
-}
-
-TEST_F(GeolocationApiWin7Tests, GetValidPosition) {
- EXPECT_CALL(*locator_, GetReport(_, _))
- .Times(AtLeast(1));
- Geoposition position;
- api_->GetPosition(&position);
- EXPECT_TRUE(position.Validate());
-}
-
-TEST_F(GeolocationApiWin7Tests, GetInvalidPosition) {
- EXPECT_CALL(*lat_long_report_, GetLatitude(_))
- .Times(AtLeast(1))
- .WillRepeatedly(Return(HRESULT_FROM_WIN32(ERROR_NO_DATA)));
- EXPECT_CALL(*locator_, GetReport(_, _))
- .Times(AtLeast(1));
- Geoposition position;
- api_->GetPosition(&position);
- EXPECT_FALSE(position.Validate());
-}
-
-} // namespace content
« no previous file with comments | « content/browser/geolocation/location_arbitrator_impl.cc ('k') | content/browser/geolocation/win7_location_api_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698