lock_state_controller_test_api.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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
  3. // found in the LICENSE file.
  4. #ifndef ASH_WM_LOCK_STATE_CONTROLLER_TEST_API_H_
  5. #define ASH_WM_LOCK_STATE_CONTROLLER_TEST_API_H_
  6. #include "ash/wm/lock_state_controller.h"
  7. namespace ash {
  8. // Helper class used by tests to access LockStateController's internal state.
  9. class LockStateControllerTestApi {
  10. public:
  11. explicit LockStateControllerTestApi(LockStateController* controller);
  12. LockStateControllerTestApi(const LockStateControllerTestApi&) = delete;
  13. LockStateControllerTestApi& operator=(const LockStateControllerTestApi&) =
  14. delete;
  15. ~LockStateControllerTestApi();
  16. void set_shutdown_controller(ShutdownController* shutdown_controller) {
  17. controller_->shutdown_controller_ = shutdown_controller;
  18. }
  19. bool lock_fail_timer_is_running() const {
  20. return controller_->lock_fail_timer_.IsRunning();
  21. }
  22. bool shutdown_timer_is_running() const {
  23. return controller_->pre_shutdown_timer_.IsRunning();
  24. }
  25. bool real_shutdown_timer_is_running() const {
  26. return controller_->real_shutdown_timer_.IsRunning();
  27. }
  28. bool is_animating_lock() const { return controller_->animating_lock_; }
  29. void trigger_lock_fail_timeout() {
  30. controller_->OnLockFailTimeout();
  31. controller_->lock_fail_timer_.Stop();
  32. }
  33. void trigger_shutdown_timeout() {
  34. controller_->OnPreShutdownAnimationTimeout();
  35. controller_->pre_shutdown_timer_.Stop();
  36. }
  37. void trigger_real_shutdown_timeout() {
  38. controller_->OnRealPowerTimeout();
  39. controller_->real_shutdown_timer_.Stop();
  40. }
  41. private:
  42. LockStateController* controller_; // not owned
  43. };
  44. } // namespace ash
  45. #endif // ASH_WM_LOCK_STATE_CONTROLLER_TEST_API_H_