| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 <SensorsApi.h> | 5 #include <SensorsApi.h> |
| 6 #include <Sensors.h> // NOLINT | 6 #include <objbase.h> |
| 7 #include <Propvarutil.h> // NOLINT | 7 #include <propvarutil.h> |
| 8 #include <sensors.h> |
| 8 | 9 |
| 9 #include "base/bind.h" | 10 #include "base/bind.h" |
| 10 #include "base/memory/ptr_util.h" | 11 #include "base/memory/ptr_util.h" |
| 11 #include "base/message_loop/message_loop.h" | 12 #include "base/message_loop/message_loop.h" |
| 12 #include "base/run_loop.h" | 13 #include "base/run_loop.h" |
| 13 #include "base/win/iunknown_impl.h" | 14 #include "base/win/iunknown_impl.h" |
| 14 #include "base/win/scoped_propvariant.h" | 15 #include "base/win/scoped_propvariant.h" |
| 15 #include "device/generic_sensor/generic_sensor_consts.h" | 16 #include "device/generic_sensor/generic_sensor_consts.h" |
| 16 #include "device/generic_sensor/platform_sensor_provider_win.h" | 17 #include "device/generic_sensor/platform_sensor_provider_win.h" |
| 17 #include "device/generic_sensor/public/interfaces/sensor_provider.mojom.h" | 18 #include "device/generic_sensor/public/interfaces/sensor_provider.mojom.h" |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 // MockISensor - mocks ISensor intrface. | 187 // MockISensor - mocks ISensor intrface. |
| 187 // MockISensorDataReport - mocks IDataReport interface that is used to deliver | 188 // MockISensorDataReport - mocks IDataReport interface that is used to deliver |
| 188 // data in OnDataUpdated event. | 189 // data in OnDataUpdated event. |
| 189 class PlatformSensorAndProviderTestWin : public ::testing::Test { | 190 class PlatformSensorAndProviderTestWin : public ::testing::Test { |
| 190 public: | 191 public: |
| 191 void SetUp() override { | 192 void SetUp() override { |
| 192 sensor_ = new NiceMock<MockISensor>(); | 193 sensor_ = new NiceMock<MockISensor>(); |
| 193 sensor_collection_ = new NiceMock<MockISensorCollection>(); | 194 sensor_collection_ = new NiceMock<MockISensorCollection>(); |
| 194 sensor_manager_ = new NiceMock<MockISensorManager>(); | 195 sensor_manager_ = new NiceMock<MockISensorManager>(); |
| 195 base::win::ScopedComPtr<ISensorManager> manager; | 196 base::win::ScopedComPtr<ISensorManager> manager; |
| 196 sensor_manager_->QueryInterface(__uuidof(ISensorManager), | 197 sensor_manager_->QueryInterface(IID_PPV_ARGS(&manager)); |
| 197 manager.ReceiveVoid()); | |
| 198 | 198 |
| 199 // Overrides default ISensorManager with mocked interface. | 199 // Overrides default ISensorManager with mocked interface. |
| 200 PlatformSensorProviderWin::GetInstance()->SetSensorManagerForTesting( | 200 PlatformSensorProviderWin::GetInstance()->SetSensorManagerForTesting( |
| 201 manager); | 201 manager); |
| 202 } | 202 } |
| 203 | 203 |
| 204 void TearDown() override { | 204 void TearDown() override { |
| 205 base::win::ScopedComPtr<ISensorManager> null_manager; | 205 base::win::ScopedComPtr<ISensorManager> null_manager; |
| 206 PlatformSensorProviderWin::GetInstance()->SetSensorManagerForTesting( | 206 PlatformSensorProviderWin::GetInstance()->SetSensorManagerForTesting( |
| 207 null_manager); | 207 null_manager); |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 344 void GenerateDataUpdatedEvent(const SensorData& values) { | 344 void GenerateDataUpdatedEvent(const SensorData& values) { |
| 345 if (!sensor_events_) | 345 if (!sensor_events_) |
| 346 return; | 346 return; |
| 347 | 347 |
| 348 // MockISensorDataReport implements IUnknown that provides ref counting. | 348 // MockISensorDataReport implements IUnknown that provides ref counting. |
| 349 // IUnknown::QueryInterface increases refcount if an object implements | 349 // IUnknown::QueryInterface increases refcount if an object implements |
| 350 // requested interface. ScopedComPtr wraps received interface and destructs | 350 // requested interface. ScopedComPtr wraps received interface and destructs |
| 351 // it when there are not more references. | 351 // it when there are not more references. |
| 352 auto* mock_report = new NiceMock<MockISensorDataReport>(); | 352 auto* mock_report = new NiceMock<MockISensorDataReport>(); |
| 353 base::win::ScopedComPtr<ISensorDataReport> data_report; | 353 base::win::ScopedComPtr<ISensorDataReport> data_report; |
| 354 mock_report->QueryInterface(__uuidof(ISensorDataReport), | 354 mock_report->QueryInterface(IID_PPV_ARGS(&data_report)); |
| 355 data_report.ReceiveVoid()); | |
| 356 | 355 |
| 357 EXPECT_CALL(*mock_report, GetTimestamp(_)) | 356 EXPECT_CALL(*mock_report, GetTimestamp(_)) |
| 358 .WillOnce(Invoke([](SYSTEMTIME* timestamp) { | 357 .WillOnce(Invoke([](SYSTEMTIME* timestamp) { |
| 359 GetSystemTime(timestamp); | 358 GetSystemTime(timestamp); |
| 360 return S_OK; | 359 return S_OK; |
| 361 })); | 360 })); |
| 362 | 361 |
| 363 EXPECT_CALL(*mock_report, GetSensorValue(_, _)) | 362 EXPECT_CALL(*mock_report, GetSensorValue(_, _)) |
| 364 .WillRepeatedly(WithArgs<0, 1>( | 363 .WillRepeatedly(WithArgs<0, 1>( |
| 365 Invoke([&values](REFPROPERTYKEY key, PROPVARIANT* variant) { | 364 Invoke([&values](REFPROPERTYKEY key, PROPVARIANT* variant) { |
| (...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 715 static_cast<SensorReadingSharedBuffer*>(mapping.get()); | 714 static_cast<SensorReadingSharedBuffer*>(mapping.get()); |
| 716 | 715 |
| 717 EXPECT_THAT(buffer->reading.values[0], -x); | 716 EXPECT_THAT(buffer->reading.values[0], -x); |
| 718 EXPECT_THAT(buffer->reading.values[1], -y); | 717 EXPECT_THAT(buffer->reading.values[1], -y); |
| 719 EXPECT_THAT(buffer->reading.values[2], -z); | 718 EXPECT_THAT(buffer->reading.values[2], -z); |
| 720 EXPECT_THAT(buffer->reading.values[3], w); | 719 EXPECT_THAT(buffer->reading.values[3], w); |
| 721 EXPECT_TRUE(sensor->StopListening(client.get(), configuration)); | 720 EXPECT_TRUE(sensor->StopListening(client.get(), configuration)); |
| 722 } | 721 } |
| 723 | 722 |
| 724 } // namespace device | 723 } // namespace device |
| OLD | NEW |