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

Side by Side Diff: ash/system/chromeos/power/tablet_power_button_controller_unittest.cc

Issue 2546303002: ash: Start shutdown timer on post-resume power button press (Closed)
Patch Set: nits 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 unified diff | Download patch
« no previous file with comments | « ash/system/chromeos/power/tablet_power_button_controller.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "ash/system/chromeos/power/tablet_power_button_controller.h" 5 #include "ash/system/chromeos/power/tablet_power_button_controller.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "ash/common/ash_switches.h" 9 #include "ash/common/ash_switches.h"
10 #include "ash/common/session/session_state_delegate.h" 10 #include "ash/common/session/session_state_delegate.h"
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 // Tests tapping power button when device is suspended without backlights forced 221 // Tests tapping power button when device is suspended without backlights forced
222 // off. 222 // off.
223 TEST_F(TabletPowerButtonControllerTest, 223 TEST_F(TabletPowerButtonControllerTest,
224 TappingPowerButtonWhenSuspendedWithoutBacklightsForcedOff) { 224 TappingPowerButtonWhenSuspendedWithoutBacklightsForcedOff) {
225 power_manager_client_->SendSuspendImminent(); 225 power_manager_client_->SendSuspendImminent();
226 power_manager_client_->SendBrightnessChanged(0, false); 226 power_manager_client_->SendBrightnessChanged(0, false);
227 // There is a power button pressed here, but PowerButtonEvent is sent later. 227 // There is a power button pressed here, but PowerButtonEvent is sent later.
228 power_manager_client_->SendSuspendDone(); 228 power_manager_client_->SendSuspendDone();
229 power_manager_client_->SendBrightnessChanged(kNonZeroBrightness, false); 229 power_manager_client_->SendBrightnessChanged(kNonZeroBrightness, false);
230 230
231 // Send the power button event after a short delay and check that it is 231 // Send the power button event after a short delay and check that backlights
232 // ignored. 232 // are not forced off.
233 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(500)); 233 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(500));
234 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks()); 234 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks());
235 EXPECT_TRUE(test_api_->ShutdownTimerIsRunning());
235 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks()); 236 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks());
237 EXPECT_FALSE(test_api_->ShutdownTimerIsRunning());
236 EXPECT_FALSE(GetBacklightsForcedOff()); 238 EXPECT_FALSE(GetBacklightsForcedOff());
237 239
238 // Send the power button event after a longer delay and check that it is not 240 // Send the power button event after a longer delay and check that backlights
239 // ignored. 241 // are forced off.
240 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(1600)); 242 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(1600));
241 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks()); 243 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks());
244 EXPECT_TRUE(test_api_->ShutdownTimerIsRunning());
242 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks()); 245 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks());
243 power_manager_client_->SendBrightnessChanged(0, false); 246 power_manager_client_->SendBrightnessChanged(0, false);
247 EXPECT_FALSE(test_api_->ShutdownTimerIsRunning());
244 EXPECT_TRUE(GetBacklightsForcedOff()); 248 EXPECT_TRUE(GetBacklightsForcedOff());
245 } 249 }
246 250
247 // Tests tapping power button when device is suspended with backlights forced 251 // Tests tapping power button when device is suspended with backlights forced
248 // off. 252 // off.
249 TEST_F(TabletPowerButtonControllerTest, 253 TEST_F(TabletPowerButtonControllerTest,
250 TappingPowerButtonWhenSuspendedWithBacklightsForcedOff) { 254 TappingPowerButtonWhenSuspendedWithBacklightsForcedOff) {
251 PressPowerButton(); 255 PressPowerButton();
252 ReleasePowerButton(); 256 ReleasePowerButton();
253 power_manager_client_->SendBrightnessChanged(0, false); 257 power_manager_client_->SendBrightnessChanged(0, false);
254 EXPECT_TRUE(GetBacklightsForcedOff()); 258 EXPECT_TRUE(GetBacklightsForcedOff());
255 power_manager_client_->SendSuspendImminent(); 259 power_manager_client_->SendSuspendImminent();
256 // There is a power button pressed here, but PowerButtonEvent is sent later. 260 // There is a power button pressed here, but PowerButtonEvent is sent later.
257 // Because of backlights forced off, resuming system will not restore 261 // Because of backlights forced off, resuming system will not restore
258 // brightness. 262 // brightness.
259 power_manager_client_->SendSuspendDone(); 263 power_manager_client_->SendSuspendDone();
260 264
261 // Send the power button event after a short delay and check that it is 265 // Send the power button event after a short delay and check that backlights
262 // ignored. But if backlights are forced off, stop forcing off. 266 // are not forced off.
263 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(500)); 267 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(500));
264 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks()); 268 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks());
265 power_manager_client_->SendBrightnessChanged(kNonZeroBrightness, false); 269 power_manager_client_->SendBrightnessChanged(kNonZeroBrightness, false);
270 EXPECT_TRUE(test_api_->ShutdownTimerIsRunning());
266 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks()); 271 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks());
272 EXPECT_FALSE(test_api_->ShutdownTimerIsRunning());
267 EXPECT_FALSE(GetBacklightsForcedOff()); 273 EXPECT_FALSE(GetBacklightsForcedOff());
268 274
269 // Send the power button event after a longer delay and check that it is not 275 // Send the power button event after a longer delay and check that backlights
270 // ignored. 276 // are forced off.
271 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(1600)); 277 tick_clock_->Advance(base::TimeDelta::FromMilliseconds(1600));
272 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks()); 278 power_manager_client_->SendPowerButtonEvent(true, tick_clock_->NowTicks());
279 EXPECT_TRUE(test_api_->ShutdownTimerIsRunning());
273 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks()); 280 power_manager_client_->SendPowerButtonEvent(false, tick_clock_->NowTicks());
274 power_manager_client_->SendBrightnessChanged(0, false); 281 power_manager_client_->SendBrightnessChanged(0, false);
282 EXPECT_FALSE(test_api_->ShutdownTimerIsRunning());
275 EXPECT_TRUE(GetBacklightsForcedOff()); 283 EXPECT_TRUE(GetBacklightsForcedOff());
276 } 284 }
277 285
278 // For convertible device working on laptop mode, tests keyboard/mouse event 286 // For convertible device working on laptop mode, tests keyboard/mouse event
279 // when screen is off. 287 // when screen is off.
280 TEST_F(TabletPowerButtonControllerTest, ConvertibleOnLaptopMode) { 288 TEST_F(TabletPowerButtonControllerTest, ConvertibleOnLaptopMode) {
281 EnableMaximizeMode(false); 289 EnableMaximizeMode(false);
282 290
283 // KeyEvent should SetBacklightsForcedOff(false). 291 // KeyEvent should SetBacklightsForcedOff(false).
284 PressPowerButton(); 292 PressPowerButton();
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 power_manager_client_->SendBrightnessChanged(0, false); 401 power_manager_client_->SendBrightnessChanged(0, false);
394 EXPECT_TRUE(GetBacklightsForcedOff()); 402 EXPECT_TRUE(GetBacklightsForcedOff());
395 EXPECT_FALSE(shell_delegate_->IsTouchscreenEnabledInPrefs(true)); 403 EXPECT_FALSE(shell_delegate_->IsTouchscreenEnabledInPrefs(true));
396 generator_->MoveMouseBy(1, 1); 404 generator_->MoveMouseBy(1, 1);
397 power_manager_client_->SendBrightnessChanged(kNonZeroBrightness, false); 405 power_manager_client_->SendBrightnessChanged(kNonZeroBrightness, false);
398 EXPECT_TRUE(shell_delegate_->IsTouchscreenEnabledInPrefs(true)); 406 EXPECT_TRUE(shell_delegate_->IsTouchscreenEnabledInPrefs(true));
399 } 407 }
400 408
401 } // namespace test 409 } // namespace test
402 } // namespace ash 410 } // namespace ash
OLDNEW
« no previous file with comments | « ash/system/chromeos/power/tablet_power_button_controller.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698