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

Side by Side Diff: device/sensors/data_fetcher_shared_memory_base_unittest.cc

Issue 2646093002: Move //content/browser/device_sensor/ into device/sensors (Closed)
Patch Set: update git log Created 3 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/device_sensors/data_fetcher_shared_memory_base.h" 5 #include "device/sensors/data_fetcher_shared_memory_base.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/process/process_handle.h" 9 #include "base/process/process_handle.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
11 #include "base/synchronization/waitable_event.h" 11 #include "base/synchronization/waitable_event.h"
12 #include "base/threading/thread.h" 12 #include "base/threading/thread.h"
13 #include "device/sensors/public/cpp/device_light_hardware_buffer.h" 13 #include "device/sensors/public/cpp/device_light_hardware_buffer.h"
14 #include "device/sensors/public/cpp/device_motion_hardware_buffer.h" 14 #include "device/sensors/public/cpp/device_motion_hardware_buffer.h"
15 #include "device/sensors/public/cpp/device_orientation_hardware_buffer.h" 15 #include "device/sensors/public/cpp/device_orientation_hardware_buffer.h"
16 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
17 17
18 namespace content { 18 namespace device {
19 19
20 namespace { 20 namespace {
21 21
22 class FakeDataFetcher : public DataFetcherSharedMemoryBase { 22 class FakeDataFetcher : public DataFetcherSharedMemoryBase {
23 public: 23 public:
24 FakeDataFetcher() 24 FakeDataFetcher()
25 : start_light_(base::WaitableEvent::ResetPolicy::AUTOMATIC, 25 : start_light_(base::WaitableEvent::ResetPolicy::AUTOMATIC,
26 base::WaitableEvent::InitialState::NOT_SIGNALED), 26 base::WaitableEvent::InitialState::NOT_SIGNALED),
27 start_motion_(base::WaitableEvent::ResetPolicy::AUTOMATIC, 27 start_motion_(base::WaitableEvent::ResetPolicy::AUTOMATIC,
28 base::WaitableEvent::InitialState::NOT_SIGNALED), 28 base::WaitableEvent::InitialState::NOT_SIGNALED),
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 ASSERT_TRUE(buffer); 111 ASSERT_TRUE(buffer);
112 buffer->seqlock.WriteBegin(); 112 buffer->seqlock.WriteBegin();
113 buffer->data.alpha = 1; 113 buffer->data.alpha = 1;
114 buffer->data.absolute = true; 114 buffer->data.absolute = true;
115 buffer->seqlock.WriteEnd(); 115 buffer->seqlock.WriteEnd();
116 updated_orientation_absolute_.Signal(); 116 updated_orientation_absolute_.Signal();
117 } 117 }
118 118
119 DeviceLightHardwareBuffer* GetLightBuffer() const { return light_buffer_; } 119 DeviceLightHardwareBuffer* GetLightBuffer() const { return light_buffer_; }
120 120
121 DeviceMotionHardwareBuffer* GetMotionBuffer() const { 121 DeviceMotionHardwareBuffer* GetMotionBuffer() const { return motion_buffer_; }
122 return motion_buffer_;
123 }
124 122
125 DeviceOrientationHardwareBuffer* GetOrientationBuffer() const { 123 DeviceOrientationHardwareBuffer* GetOrientationBuffer() const {
126 return orientation_buffer_; 124 return orientation_buffer_;
127 } 125 }
128 126
129 DeviceOrientationHardwareBuffer* GetOrientationAbsoluteBuffer() const { 127 DeviceOrientationHardwareBuffer* GetOrientationAbsoluteBuffer() const {
130 return orientation_absolute_buffer_; 128 return orientation_absolute_buffer_;
131 } 129 }
132 130
133 void WaitForStart(ConsumerType consumer_type) { 131 void WaitForStart(ConsumerType consumer_type) {
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 204
207 class FakeNonPollingDataFetcher : public FakeDataFetcher { 205 class FakeNonPollingDataFetcher : public FakeDataFetcher {
208 public: 206 public:
209 FakeNonPollingDataFetcher() : update_(true) {} 207 FakeNonPollingDataFetcher() : update_(true) {}
210 ~FakeNonPollingDataFetcher() override {} 208 ~FakeNonPollingDataFetcher() override {}
211 209
212 bool Start(ConsumerType consumer_type, void* buffer) override { 210 bool Start(ConsumerType consumer_type, void* buffer) override {
213 Init(consumer_type, buffer); 211 Init(consumer_type, buffer);
214 switch (consumer_type) { 212 switch (consumer_type) {
215 case CONSUMER_TYPE_MOTION: 213 case CONSUMER_TYPE_MOTION:
216 if (update_) UpdateMotion(); 214 if (update_)
215 UpdateMotion();
217 start_motion_.Signal(); 216 start_motion_.Signal();
218 break; 217 break;
219 case CONSUMER_TYPE_ORIENTATION: 218 case CONSUMER_TYPE_ORIENTATION:
220 if (update_) UpdateOrientation(); 219 if (update_)
220 UpdateOrientation();
221 start_orientation_.Signal(); 221 start_orientation_.Signal();
222 break; 222 break;
223 case CONSUMER_TYPE_ORIENTATION_ABSOLUTE: 223 case CONSUMER_TYPE_ORIENTATION_ABSOLUTE:
224 if (update_) UpdateOrientationAbsolute(); 224 if (update_)
225 UpdateOrientationAbsolute();
225 start_orientation_absolute_.Signal(); 226 start_orientation_absolute_.Signal();
226 break; 227 break;
227 case CONSUMER_TYPE_LIGHT: 228 case CONSUMER_TYPE_LIGHT:
228 if (update_) UpdateLight(); 229 if (update_)
230 UpdateLight();
229 start_light_.Signal(); 231 start_light_.Signal();
230 break; 232 break;
231 default: 233 default:
232 return false; 234 return false;
233 } 235 }
234 return true; 236 return true;
235 } 237 }
236 238
237 bool Stop(ConsumerType consumer_type) override { 239 bool Stop(ConsumerType consumer_type) override {
238 switch (consumer_type) { 240 switch (consumer_type) {
(...skipping 10 matching lines...) Expand all
249 stop_light_.Signal(); 251 stop_light_.Signal();
250 break; 252 break;
251 default: 253 default:
252 return false; 254 return false;
253 } 255 }
254 return true; 256 return true;
255 } 257 }
256 258
257 void Fetch(unsigned consumer_bitmask) override { 259 void Fetch(unsigned consumer_bitmask) override {
258 FAIL() << "fetch should not be called, " 260 FAIL() << "fetch should not be called, "
259 << "because this is a non-polling fetcher"; 261 << "because this is a non-polling fetcher";
260 } 262 }
261 263
262 FetcherType GetType() const override { return FakeDataFetcher::GetType(); } 264 FetcherType GetType() const override { return FakeDataFetcher::GetType(); }
263 void set_update(bool update) { update_ = update; } 265 void set_update(bool update) { update_ = update; }
264 266
265 private: 267 private:
266 bool update_; 268 bool update_;
267 269
268 DISALLOW_COPY_AND_ASSIGN(FakeNonPollingDataFetcher); 270 DISALLOW_COPY_AND_ASSIGN(FakeNonPollingDataFetcher);
269 }; 271 };
270 272
271 class FakePollingDataFetcher : public FakeDataFetcher { 273 class FakePollingDataFetcher : public FakeDataFetcher {
272 public: 274 public:
273 FakePollingDataFetcher() { } 275 FakePollingDataFetcher() {}
274 ~FakePollingDataFetcher() override {} 276 ~FakePollingDataFetcher() override {}
275 277
276 bool Start(ConsumerType consumer_type, void* buffer) override { 278 bool Start(ConsumerType consumer_type, void* buffer) override {
277 EXPECT_TRUE( 279 EXPECT_TRUE(
278 GetPollingMessageLoop()->task_runner()->BelongsToCurrentThread()); 280 GetPollingMessageLoop()->task_runner()->BelongsToCurrentThread());
279 281
280 Init(consumer_type, buffer); 282 Init(consumer_type, buffer);
281 switch (consumer_type) { 283 switch (consumer_type) {
282 case CONSUMER_TYPE_MOTION: 284 case CONSUMER_TYPE_MOTION:
283 start_motion_.Signal(); 285 start_motion_.Signal();
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 } 341 }
340 342
341 FetcherType GetType() const override { return FETCHER_TYPE_POLLING_CALLBACK; } 343 FetcherType GetType() const override { return FETCHER_TYPE_POLLING_CALLBACK; }
342 344
343 private: 345 private:
344 DISALLOW_COPY_AND_ASSIGN(FakePollingDataFetcher); 346 DISALLOW_COPY_AND_ASSIGN(FakePollingDataFetcher);
345 }; 347 };
346 348
347 class FakeZeroDelayPollingDataFetcher : public FakeDataFetcher { 349 class FakeZeroDelayPollingDataFetcher : public FakeDataFetcher {
348 public: 350 public:
349 FakeZeroDelayPollingDataFetcher() { } 351 FakeZeroDelayPollingDataFetcher() {}
350 ~FakeZeroDelayPollingDataFetcher() override {} 352 ~FakeZeroDelayPollingDataFetcher() override {}
351 353
352 bool Start(ConsumerType consumer_type, void* buffer) override { 354 bool Start(ConsumerType consumer_type, void* buffer) override {
353 EXPECT_TRUE( 355 EXPECT_TRUE(
354 GetPollingMessageLoop()->task_runner()->BelongsToCurrentThread()); 356 GetPollingMessageLoop()->task_runner()->BelongsToCurrentThread());
355 357
356 Init(consumer_type, buffer); 358 Init(consumer_type, buffer);
357 switch (consumer_type) { 359 switch (consumer_type) {
358 case CONSUMER_TYPE_MOTION: 360 case CONSUMER_TYPE_MOTION:
359 start_motion_.Signal(); 361 start_motion_.Signal();
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 FetcherType GetType() const override { return FETCHER_TYPE_SEPARATE_THREAD; } 405 FetcherType GetType() const override { return FETCHER_TYPE_SEPARATE_THREAD; }
404 406
405 bool IsPollingTimerRunningForTesting() const { 407 bool IsPollingTimerRunningForTesting() const {
406 return FakeDataFetcher::IsPollingTimerRunningForTesting(); 408 return FakeDataFetcher::IsPollingTimerRunningForTesting();
407 } 409 }
408 410
409 private: 411 private:
410 DISALLOW_COPY_AND_ASSIGN(FakeZeroDelayPollingDataFetcher); 412 DISALLOW_COPY_AND_ASSIGN(FakeZeroDelayPollingDataFetcher);
411 }; 413 };
412 414
413
414 TEST(DataFetcherSharedMemoryBaseTest, DoesStartMotion) { 415 TEST(DataFetcherSharedMemoryBaseTest, DoesStartMotion) {
415 FakeNonPollingDataFetcher fake_data_fetcher; 416 FakeNonPollingDataFetcher fake_data_fetcher;
416 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_DEFAULT, 417 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_DEFAULT,
417 fake_data_fetcher.GetType()); 418 fake_data_fetcher.GetType());
418 419
419 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData(CONSUMER_TYPE_MOTION)); 420 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData(CONSUMER_TYPE_MOTION));
420 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_MOTION); 421 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_MOTION);
421 422
422 EXPECT_EQ(kDeviceSensorIntervalMicroseconds / 1000., 423 EXPECT_EQ(kDeviceSensorIntervalMicroseconds / 1000.,
423 fake_data_fetcher.GetMotionBuffer()->data.interval); 424 fake_data_fetcher.GetMotionBuffer()->data.interval);
424 425
425 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_MOTION); 426 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_MOTION);
426 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_MOTION); 427 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_MOTION);
427 } 428 }
428 429
429 TEST(DataFetcherSharedMemoryBaseTest, DoesStartOrientation) { 430 TEST(DataFetcherSharedMemoryBaseTest, DoesStartOrientation) {
430 FakeNonPollingDataFetcher fake_data_fetcher; 431 FakeNonPollingDataFetcher fake_data_fetcher;
431 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_DEFAULT, 432 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_DEFAULT,
432 fake_data_fetcher.GetType()); 433 fake_data_fetcher.GetType());
433 434
434 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData( 435 EXPECT_TRUE(
435 CONSUMER_TYPE_ORIENTATION)); 436 fake_data_fetcher.StartFetchingDeviceData(CONSUMER_TYPE_ORIENTATION));
436 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION); 437 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION);
437 438
438 EXPECT_EQ(1, fake_data_fetcher.GetOrientationBuffer()->data.alpha); 439 EXPECT_EQ(1, fake_data_fetcher.GetOrientationBuffer()->data.alpha);
439 440
440 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION); 441 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION);
441 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_ORIENTATION); 442 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_ORIENTATION);
442 } 443 }
443 444
444 TEST(DataFetcherSharedMemoryBaseTest, DoesStartOrientationAbsolute) { 445 TEST(DataFetcherSharedMemoryBaseTest, DoesStartOrientationAbsolute) {
445 FakeNonPollingDataFetcher fake_data_fetcher; 446 FakeNonPollingDataFetcher fake_data_fetcher;
446 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_DEFAULT, 447 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_DEFAULT,
447 fake_data_fetcher.GetType()); 448 fake_data_fetcher.GetType());
448 449
449 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData( 450 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData(
450 CONSUMER_TYPE_ORIENTATION_ABSOLUTE)); 451 CONSUMER_TYPE_ORIENTATION_ABSOLUTE));
451 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION_ABSOLUTE); 452 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION_ABSOLUTE);
452 453
453 EXPECT_EQ(1, fake_data_fetcher.GetOrientationAbsoluteBuffer()->data.alpha); 454 EXPECT_EQ(1, fake_data_fetcher.GetOrientationAbsoluteBuffer()->data.alpha);
454 EXPECT_TRUE(fake_data_fetcher.GetOrientationAbsoluteBuffer()->data.absolute); 455 EXPECT_TRUE(fake_data_fetcher.GetOrientationAbsoluteBuffer()->data.absolute);
455 456
456 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION_ABSOLUTE); 457 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION_ABSOLUTE);
457 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_ORIENTATION_ABSOLUTE); 458 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_ORIENTATION_ABSOLUTE);
458 } 459 }
459 460
460 TEST(DataFetcherSharedMemoryBaseTest, DoesStartLight) { 461 TEST(DataFetcherSharedMemoryBaseTest, DoesStartLight) {
461 FakeNonPollingDataFetcher fake_data_fetcher; 462 FakeNonPollingDataFetcher fake_data_fetcher;
462 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_DEFAULT, 463 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_DEFAULT,
463 fake_data_fetcher.GetType()); 464 fake_data_fetcher.GetType());
464 465
465 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData(CONSUMER_TYPE_LIGHT)); 466 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData(CONSUMER_TYPE_LIGHT));
466 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_LIGHT); 467 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_LIGHT);
467 468
468 EXPECT_EQ(100, fake_data_fetcher.GetLightBuffer()->data.value); 469 EXPECT_EQ(100, fake_data_fetcher.GetLightBuffer()->data.value);
469 470
470 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_LIGHT); 471 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_LIGHT);
471 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_LIGHT); 472 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_LIGHT);
472 } 473 }
473 474
474 TEST(DataFetcherSharedMemoryBaseTest, DoesPollMotion) { 475 TEST(DataFetcherSharedMemoryBaseTest, DoesPollMotion) {
475 FakePollingDataFetcher fake_data_fetcher; 476 FakePollingDataFetcher fake_data_fetcher;
476 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_POLLING_CALLBACK, 477 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_POLLING_CALLBACK,
477 fake_data_fetcher.GetType()); 478 fake_data_fetcher.GetType());
478 479
479 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData(CONSUMER_TYPE_MOTION)); 480 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData(CONSUMER_TYPE_MOTION));
480 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_MOTION); 481 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_MOTION);
481 fake_data_fetcher.WaitForUpdate(CONSUMER_TYPE_MOTION); 482 fake_data_fetcher.WaitForUpdate(CONSUMER_TYPE_MOTION);
482 483
483 EXPECT_EQ(kDeviceSensorIntervalMicroseconds / 1000., 484 EXPECT_EQ(kDeviceSensorIntervalMicroseconds / 1000.,
484 fake_data_fetcher.GetMotionBuffer()->data.interval); 485 fake_data_fetcher.GetMotionBuffer()->data.interval);
485 486
486 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_MOTION); 487 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_MOTION);
487 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_MOTION); 488 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_MOTION);
488 } 489 }
489 490
490 TEST(DataFetcherSharedMemoryBaseTest, DoesPollOrientation) { 491 TEST(DataFetcherSharedMemoryBaseTest, DoesPollOrientation) {
491 FakePollingDataFetcher fake_data_fetcher; 492 FakePollingDataFetcher fake_data_fetcher;
492 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_POLLING_CALLBACK, 493 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_POLLING_CALLBACK,
493 fake_data_fetcher.GetType()); 494 fake_data_fetcher.GetType());
494 495
495 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData( 496 EXPECT_TRUE(
496 CONSUMER_TYPE_ORIENTATION)); 497 fake_data_fetcher.StartFetchingDeviceData(CONSUMER_TYPE_ORIENTATION));
497 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION); 498 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION);
498 fake_data_fetcher.WaitForUpdate(CONSUMER_TYPE_ORIENTATION); 499 fake_data_fetcher.WaitForUpdate(CONSUMER_TYPE_ORIENTATION);
499 500
500 EXPECT_EQ(1, fake_data_fetcher.GetOrientationBuffer()->data.alpha); 501 EXPECT_EQ(1, fake_data_fetcher.GetOrientationBuffer()->data.alpha);
501 502
502 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION); 503 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION);
503 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_ORIENTATION); 504 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_ORIENTATION);
504 } 505 }
505 506
506 TEST(DataFetcherSharedMemoryBaseTest, DoesPollOrientationAbsolute) { 507 TEST(DataFetcherSharedMemoryBaseTest, DoesPollOrientationAbsolute) {
507 FakePollingDataFetcher fake_data_fetcher; 508 FakePollingDataFetcher fake_data_fetcher;
508 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_POLLING_CALLBACK, 509 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_POLLING_CALLBACK,
509 fake_data_fetcher.GetType()); 510 fake_data_fetcher.GetType());
510 511
511 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData( 512 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData(
512 CONSUMER_TYPE_ORIENTATION_ABSOLUTE)); 513 CONSUMER_TYPE_ORIENTATION_ABSOLUTE));
513 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION_ABSOLUTE); 514 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION_ABSOLUTE);
514 fake_data_fetcher.WaitForUpdate(CONSUMER_TYPE_ORIENTATION_ABSOLUTE); 515 fake_data_fetcher.WaitForUpdate(CONSUMER_TYPE_ORIENTATION_ABSOLUTE);
515 516
516 EXPECT_EQ(1, fake_data_fetcher.GetOrientationAbsoluteBuffer()->data.alpha); 517 EXPECT_EQ(1, fake_data_fetcher.GetOrientationAbsoluteBuffer()->data.alpha);
517 EXPECT_TRUE(fake_data_fetcher.GetOrientationAbsoluteBuffer()->data.absolute); 518 EXPECT_TRUE(fake_data_fetcher.GetOrientationAbsoluteBuffer()->data.absolute);
518 519
519 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION_ABSOLUTE); 520 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION_ABSOLUTE);
(...skipping 11 matching lines...) Expand all
531 532
532 EXPECT_EQ(100, fake_data_fetcher.GetLightBuffer()->data.value); 533 EXPECT_EQ(100, fake_data_fetcher.GetLightBuffer()->data.value);
533 534
534 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_LIGHT); 535 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_LIGHT);
535 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_LIGHT); 536 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_LIGHT);
536 } 537 }
537 538
538 TEST(DataFetcherSharedMemoryBaseTest, DoesPollMotionAndOrientation) { 539 TEST(DataFetcherSharedMemoryBaseTest, DoesPollMotionAndOrientation) {
539 FakePollingDataFetcher fake_data_fetcher; 540 FakePollingDataFetcher fake_data_fetcher;
540 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_POLLING_CALLBACK, 541 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_POLLING_CALLBACK,
541 fake_data_fetcher.GetType()); 542 fake_data_fetcher.GetType());
542 543
543 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData( 544 EXPECT_TRUE(
544 CONSUMER_TYPE_ORIENTATION)); 545 fake_data_fetcher.StartFetchingDeviceData(CONSUMER_TYPE_ORIENTATION));
545 mojo::ScopedSharedBufferHandle handle_orientation = 546 mojo::ScopedSharedBufferHandle handle_orientation =
546 fake_data_fetcher.GetSharedMemoryHandle(CONSUMER_TYPE_ORIENTATION); 547 fake_data_fetcher.GetSharedMemoryHandle(CONSUMER_TYPE_ORIENTATION);
547 EXPECT_TRUE(handle_orientation.is_valid()); 548 EXPECT_TRUE(handle_orientation.is_valid());
548 549
549 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData( 550 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData(CONSUMER_TYPE_MOTION));
550 CONSUMER_TYPE_MOTION));
551 mojo::ScopedSharedBufferHandle handle_motion = 551 mojo::ScopedSharedBufferHandle handle_motion =
552 fake_data_fetcher.GetSharedMemoryHandle(CONSUMER_TYPE_MOTION); 552 fake_data_fetcher.GetSharedMemoryHandle(CONSUMER_TYPE_MOTION);
553 EXPECT_TRUE(handle_motion.is_valid()); 553 EXPECT_TRUE(handle_motion.is_valid());
554 554
555 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION); 555 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION);
556 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_MOTION); 556 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_MOTION);
557 557
558 fake_data_fetcher.WaitForUpdate(CONSUMER_TYPE_ORIENTATION); 558 fake_data_fetcher.WaitForUpdate(CONSUMER_TYPE_ORIENTATION);
559 fake_data_fetcher.WaitForUpdate(CONSUMER_TYPE_MOTION); 559 fake_data_fetcher.WaitForUpdate(CONSUMER_TYPE_MOTION);
560 560
561 EXPECT_EQ(1, fake_data_fetcher.GetOrientationBuffer()->data.alpha); 561 EXPECT_EQ(1, fake_data_fetcher.GetOrientationBuffer()->data.alpha);
562 EXPECT_EQ(kDeviceSensorIntervalMicroseconds / 1000., 562 EXPECT_EQ(kDeviceSensorIntervalMicroseconds / 1000.,
563 fake_data_fetcher.GetMotionBuffer()->data.interval); 563 fake_data_fetcher.GetMotionBuffer()->data.interval);
564 564
565 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION); 565 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION);
566 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_MOTION); 566 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_MOTION);
567 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_ORIENTATION); 567 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_ORIENTATION);
568 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_MOTION); 568 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_MOTION);
569 } 569 }
570 570
571 TEST(DataFetcherSharedMemoryBaseTest, DoesNotPollZeroDelay) { 571 TEST(DataFetcherSharedMemoryBaseTest, DoesNotPollZeroDelay) {
572 FakeZeroDelayPollingDataFetcher fake_data_fetcher; 572 FakeZeroDelayPollingDataFetcher fake_data_fetcher;
573 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_SEPARATE_THREAD, 573 EXPECT_EQ(DataFetcherSharedMemoryBase::FETCHER_TYPE_SEPARATE_THREAD,
574 fake_data_fetcher.GetType()); 574 fake_data_fetcher.GetType());
575 575
576 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData( 576 EXPECT_TRUE(
577 CONSUMER_TYPE_ORIENTATION)); 577 fake_data_fetcher.StartFetchingDeviceData(CONSUMER_TYPE_ORIENTATION));
578 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION); 578 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION);
579 579
580 EXPECT_FALSE(fake_data_fetcher.IsPollingTimerRunningForTesting()); 580 EXPECT_FALSE(fake_data_fetcher.IsPollingTimerRunningForTesting());
581 EXPECT_EQ(0, fake_data_fetcher.GetOrientationBuffer()->data.alpha); 581 EXPECT_EQ(0, fake_data_fetcher.GetOrientationBuffer()->data.alpha);
582 582
583 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION); 583 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION);
584 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_ORIENTATION); 584 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_ORIENTATION);
585 } 585 }
586 586
587 TEST(DataFetcherSharedMemoryBaseTest, DoesClearBufferOnStart) { 587 TEST(DataFetcherSharedMemoryBaseTest, DoesClearBufferOnStart) {
588 FakeNonPollingDataFetcher fake_data_fetcher; 588 FakeNonPollingDataFetcher fake_data_fetcher;
589 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData( 589 EXPECT_TRUE(
590 CONSUMER_TYPE_ORIENTATION)); 590 fake_data_fetcher.StartFetchingDeviceData(CONSUMER_TYPE_ORIENTATION));
591 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION); 591 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION);
592 EXPECT_EQ(1, fake_data_fetcher.GetOrientationBuffer()->data.alpha); 592 EXPECT_EQ(1, fake_data_fetcher.GetOrientationBuffer()->data.alpha);
593 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION); 593 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION);
594 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_ORIENTATION); 594 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_ORIENTATION);
595 595
596 // Restart orientation without updating the memory buffer and check that 596 // Restart orientation without updating the memory buffer and check that
597 // it has been cleared to its initial state. 597 // it has been cleared to its initial state.
598 fake_data_fetcher.set_update(false); 598 fake_data_fetcher.set_update(false);
599 EXPECT_TRUE(fake_data_fetcher.StartFetchingDeviceData( 599 EXPECT_TRUE(
600 CONSUMER_TYPE_ORIENTATION)); 600 fake_data_fetcher.StartFetchingDeviceData(CONSUMER_TYPE_ORIENTATION));
601 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION); 601 fake_data_fetcher.WaitForStart(CONSUMER_TYPE_ORIENTATION);
602 EXPECT_EQ(0, fake_data_fetcher.GetOrientationBuffer()->data.alpha); 602 EXPECT_EQ(0, fake_data_fetcher.GetOrientationBuffer()->data.alpha);
603 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION); 603 fake_data_fetcher.StopFetchingDeviceData(CONSUMER_TYPE_ORIENTATION);
604 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_ORIENTATION); 604 fake_data_fetcher.WaitForStop(CONSUMER_TYPE_ORIENTATION);
605 } 605 }
606 606
607 } // namespace 607 } // namespace
608 608
609 } // namespace content 609 } // namespace device
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698