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 |