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 a6f2b5c0878942d595eef22dc2bf100a79895ea9..62d29218235ef2520200abb3d45104ce8c070879 100644 |
| --- a/ash/system/chromeos/power/tablet_power_button_controller_unittest.cc |
| +++ b/ash/system/chromeos/power/tablet_power_button_controller_unittest.cc |
| @@ -21,6 +21,7 @@ |
| #include "base/test/simple_test_tick_clock.h" |
| #include "chromeos/dbus/dbus_thread_manager.h" |
| #include "chromeos/dbus/fake_power_manager_client.h" |
| +#include "ui/events/event.h" |
| #include "ui/events/test/event_generator.h" |
| namespace ash { |
| @@ -299,5 +300,28 @@ TEST_F(TabletPowerButtonControllerTest, ConvertibleOnMaximizeMode) { |
| generator_->ExitPenPointerMode(); |
| } |
| +// Tests that a single set of power button pressed-and-released operation should |
| +// cause only one SetBacklightsForcedOff call. |
| +TEST_F(TabletPowerButtonControllerTest, IgnorePowerOnKeyEvent) { |
| + ui::KeyEvent power_key_pressed(ui::ET_KEY_PRESSED, ui::VKEY_POWER, |
| + ui::EF_NONE); |
| + ui::KeyEvent power_key_released(ui::ET_KEY_RELEASED, ui::VKEY_POWER, |
| + ui::EF_NONE); |
| + |
| + int expectation = |
| + power_manager_client_->num_set_backlights_forced_off_calls() + 1; |
|
Daniel Erat
2016/11/22 00:48:19
does this count really not start out at zero? it l
Qiang(Joe) Xu
2016/11/22 01:02:50
It should start with zero. Thanks for pointing out
|
| + // There can be multiple |power_key_pressed| and |power_key_released| events |
| + // depends on the duration of holding. |
| + tablet_controller_->OnKeyEvent(&power_key_pressed); |
| + PressPowerButton(); |
| + tablet_controller_->OnKeyEvent(&power_key_pressed); |
| + tablet_controller_->OnKeyEvent(&power_key_pressed); |
| + tablet_controller_->OnKeyEvent(&power_key_released); |
|
Daniel Erat
2016/11/22 00:48:19
are there really multiple release events? i'd expe
Qiang(Joe) Xu
2016/11/22 01:02:51
Yes, there are multiple release events. I made the
|
| + ReleasePowerButton(); |
| + tablet_controller_->OnKeyEvent(&power_key_released); |
| + EXPECT_EQ(power_manager_client_->num_set_backlights_forced_off_calls(), |
|
Daniel Erat
2016/11/22 00:48:19
nit: the order should be EXPECT_EQ(expected, actua
Qiang(Joe) Xu
2016/11/22 01:02:50
Done.
|
| + expectation); |
| +} |
| + |
| } // namespace test |
| } // namespace ash |