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

Unified Diff: ash/system/chromeos/power/tablet_power_button_controller_unittest.cc

Issue 2544073002: Resuming from suspend should stop backlights forced off if they are (Closed)
Patch Set: add test coverage Created 4 years 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 side-by-side diff with in-line comments
Download patch
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());
}

Powered by Google App Engine
This is Rietveld 408576698