Chromium Code Reviews| Index: ash/system/chromeos/power/tablet_power_button_controller_unittest.cc |
| diff --git a/ash/system/chromeos/power/tablet_power_button_controller_unittest.cc b/ash/system/chromeos/power/tablet_power_button_controller_unittest.cc |
| index a99fb9008e2026badf611f2cd8184761ba56b934..95123fc85eac184e4cd19f5c7fa6a11670a1a2d7 100644 |
| --- a/ash/system/chromeos/power/tablet_power_button_controller_unittest.cc |
| +++ b/ash/system/chromeos/power/tablet_power_button_controller_unittest.cc |
| @@ -210,8 +210,10 @@ TEST_F(TabletPowerButtonControllerTest, TappingPowerButtonWhenScreenIsIdleOff) { |
| EXPECT_FALSE(GetBacklightsForcedOff()); |
| } |
| -// Tests tapping power button when device is suspended. |
| -TEST_F(TabletPowerButtonControllerTest, TappingPowerButtonWhenSuspended) { |
| +// Tests tapping power button when device is suspended without backlights forced |
| +// off. |
| +TEST_F(TabletPowerButtonControllerTest, |
| + TappingPowerButtonWhenSuspendedWithoutBacklightsForcedOff) { |
| base::SimpleTestTickClock* tick_clock = new base::SimpleTestTickClock; |
| // |tick_clock| owned by |tablet_controller_|. |
|
Daniel Erat
2016/12/02 00:58:27
nit: remove this comment; passing an std::unique_p
|
| tablet_controller_->SetTickClockForTesting( |
| @@ -235,6 +237,43 @@ TEST_F(TabletPowerButtonControllerTest, TappingPowerButtonWhenSuspended) { |
| tick_clock->Advance(base::TimeDelta::FromMilliseconds(1600)); |
| power_manager_client_->SendPowerButtonEvent(true, tick_clock->NowTicks()); |
| power_manager_client_->SendPowerButtonEvent(false, tick_clock->NowTicks()); |
| + power_manager_client_->SendBrightnessChanged(0, false); |
| + EXPECT_TRUE(GetBacklightsForcedOff()); |
| +} |
| + |
| +// Tests tapping power button when device is suspended with backlights forced |
| +// off. |
| +TEST_F(TabletPowerButtonControllerTest, |
| + TappingPowerButtonWhenSuspendedWithBacklightsForcedOff) { |
| + base::SimpleTestTickClock* tick_clock = new base::SimpleTestTickClock; |
| + // |tick_clock| owned by |tablet_controller_|. |
|
Daniel Erat
2016/12/02 00:58:27
same here
|
| + tablet_controller_->SetTickClockForTesting( |
| + std::unique_ptr<base::TickClock>(tick_clock)); |
| + |
| + PressPowerButton(); |
| + ReleasePowerButton(); |
| + power_manager_client_->SendBrightnessChanged(0, false); |
| + EXPECT_TRUE(GetBacklightsForcedOff()); |
| + power_manager_client_->SendSuspendImminent(); |
| + // There is a power button pressed here, but PowerButtonEvent is sent later. |
| + // Because of backlights forced off, resuming system will not resume |
|
Daniel Erat
2016/12/02 00:58:27
nit: s/will not resume/will not restore/
|
| + // brightness. |
| + power_manager_client_->SendSuspendDone(); |
| + |
| + // Send the power button event after a short delay and check that it is |
| + // ignored. But if backlights are forced off, stop forcing off. |
| + tick_clock->Advance(base::TimeDelta::FromMilliseconds(500)); |
| + power_manager_client_->SendPowerButtonEvent(true, tick_clock->NowTicks()); |
| + power_manager_client_->SendBrightnessChanged(kNonZeroBrightness, false); |
| + power_manager_client_->SendPowerButtonEvent(false, tick_clock->NowTicks()); |
| + EXPECT_FALSE(GetBacklightsForcedOff()); |
| + |
| + // Send the power button event after a longer delay and check that it is not |
| + // ignored. |
| + tick_clock->Advance(base::TimeDelta::FromMilliseconds(1600)); |
| + power_manager_client_->SendPowerButtonEvent(true, tick_clock->NowTicks()); |
| + power_manager_client_->SendPowerButtonEvent(false, tick_clock->NowTicks()); |
| + power_manager_client_->SendBrightnessChanged(0, false); |
| EXPECT_TRUE(GetBacklightsForcedOff()); |
| } |