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

Unified Diff: chrome/browser/chromeos/power/power_prefs_unittest.cc

Issue 793973002: chromeos: Add separate screen dim/off delays for lock screen (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add ScreenLockState enum for tests Created 6 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
« no previous file with comments | « chrome/browser/chromeos/power/power_prefs.cc ('k') | chrome/common/pref_names.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/power/power_prefs_unittest.cc
diff --git a/chrome/browser/chromeos/power/power_prefs_unittest.cc b/chrome/browser/chromeos/power/power_prefs_unittest.cc
index a1704d4acd13c7a4e04cf39cb3bd357e2d36c464..b80047993de2c29195a11da9bb276f53b502f0a6 100644
--- a/chrome/browser/chromeos/power/power_prefs_unittest.cc
+++ b/chrome/browser/chromeos/power/power_prefs_unittest.cc
@@ -38,6 +38,13 @@ namespace chromeos {
class PowerPrefsTest : public testing::Test {
protected:
+ // Screen lock state that determines which delays are used by
+ // GetExpectedPowerPolicyForProfile().
+ enum ScreenLockState {
+ LOCKED,
+ UNLOCKED,
+ };
+
PowerPrefsTest();
// testing::Test:
@@ -46,7 +53,9 @@ class PowerPrefsTest : public testing::Test {
const Profile* GetProfile() const;
- std::string GetExpectedPowerPolicyForProfile(Profile* profile) const;
+ std::string GetExpectedPowerPolicyForProfile(
+ Profile* profile,
+ ScreenLockState screen_lock_state) const;
std::string GetCurrentPowerPolicy() const;
bool GetExpectedAllowScreenWakeLocksForProfile(Profile* profile) const;
bool GetCurrentAllowScreenWakeLocks() const;
@@ -92,23 +101,28 @@ const Profile* PowerPrefsTest::GetProfile() const {
}
std::string PowerPrefsTest::GetExpectedPowerPolicyForProfile(
- Profile* profile) const {
+ Profile* profile,
+ ScreenLockState screen_lock_state) const {
const PrefService* prefs = profile->GetPrefs();
power_manager::PowerManagementPolicy expected_policy;
- expected_policy.mutable_ac_delays()->set_screen_dim_ms(
- prefs->GetInteger(prefs::kPowerAcScreenDimDelayMs));
- expected_policy.mutable_ac_delays()->set_screen_off_ms(
- prefs->GetInteger(prefs::kPowerAcScreenOffDelayMs));
+ expected_policy.mutable_ac_delays()->set_screen_dim_ms(prefs->GetInteger(
+ screen_lock_state == LOCKED ? prefs::kPowerLockScreenDimDelayMs
Daniel Erat 2014/12/12 17:38:18 weird (to my eyes) formatting is courtesy of clang
+ : prefs::kPowerAcScreenDimDelayMs));
+ expected_policy.mutable_ac_delays()->set_screen_off_ms(prefs->GetInteger(
+ screen_lock_state == LOCKED ? prefs::kPowerLockScreenOffDelayMs
+ : prefs::kPowerAcScreenOffDelayMs));
expected_policy.mutable_ac_delays()->set_screen_lock_ms(
prefs->GetInteger(prefs::kPowerAcScreenLockDelayMs));
expected_policy.mutable_ac_delays()->set_idle_warning_ms(
prefs->GetInteger(prefs::kPowerAcIdleWarningDelayMs));
expected_policy.mutable_ac_delays()->set_idle_ms(
prefs->GetInteger(prefs::kPowerAcIdleDelayMs));
- expected_policy.mutable_battery_delays()->set_screen_dim_ms(
- prefs->GetInteger(prefs::kPowerBatteryScreenDimDelayMs));
- expected_policy.mutable_battery_delays()->set_screen_off_ms(
- prefs->GetInteger(prefs::kPowerBatteryScreenOffDelayMs));
+ expected_policy.mutable_battery_delays()->set_screen_dim_ms(prefs->GetInteger(
+ screen_lock_state == LOCKED ? prefs::kPowerLockScreenDimDelayMs
+ : prefs::kPowerBatteryScreenDimDelayMs));
+ expected_policy.mutable_battery_delays()->set_screen_off_ms(prefs->GetInteger(
+ screen_lock_state == LOCKED ? prefs::kPowerLockScreenOffDelayMs
+ : prefs::kPowerBatteryScreenOffDelayMs));
expected_policy.mutable_battery_delays()->set_screen_lock_ms(
prefs->GetInteger(prefs::kPowerBatteryScreenLockDelayMs));
expected_policy.mutable_battery_delays()->set_idle_warning_ms(
@@ -170,7 +184,7 @@ TEST_F(PowerPrefsTest, LoginScreen) {
content::NotificationService::NoDetails());
EXPECT_EQ(login_profile, GetProfile());
- EXPECT_EQ(GetExpectedPowerPolicyForProfile(login_profile),
+ EXPECT_EQ(GetExpectedPowerPolicyForProfile(login_profile, UNLOCKED),
GetCurrentPowerPolicy());
EXPECT_EQ(GetExpectedAllowScreenWakeLocksForProfile(login_profile),
GetCurrentAllowScreenWakeLocks());
@@ -185,11 +199,27 @@ TEST_F(PowerPrefsTest, LoginScreen) {
// Verify that the login profile's power prefs are still being used.
EXPECT_EQ(login_profile, GetProfile());
- EXPECT_EQ(GetExpectedPowerPolicyForProfile(login_profile),
+ EXPECT_EQ(GetExpectedPowerPolicyForProfile(login_profile, UNLOCKED),
GetCurrentPowerPolicy());
EXPECT_EQ(GetExpectedAllowScreenWakeLocksForProfile(login_profile),
GetCurrentAllowScreenWakeLocks());
+ // Lock the screen and check that the expected delays are used.
+ bool screen_is_locked = true;
+ power_prefs_->Observe(chrome::NOTIFICATION_SCREEN_LOCK_STATE_CHANGED,
+ content::Source<Profile>(login_profile),
+ content::Details<bool>(&screen_is_locked));
+ EXPECT_EQ(GetExpectedPowerPolicyForProfile(login_profile, LOCKED),
+ GetCurrentPowerPolicy());
+
+ // Unlock the screen.
+ screen_is_locked = false;
+ power_prefs_->Observe(chrome::NOTIFICATION_SCREEN_LOCK_STATE_CHANGED,
+ content::Source<Profile>(login_profile),
+ content::Details<bool>(&screen_is_locked));
+ EXPECT_EQ(GetExpectedPowerPolicyForProfile(login_profile, UNLOCKED),
+ GetCurrentPowerPolicy());
+
// Inform power_prefs_ that the login profile has been destroyed.
power_prefs_->Observe(chrome::NOTIFICATION_PROFILE_DESTROYED,
content::Source<Profile>(login_profile),
@@ -197,7 +227,7 @@ TEST_F(PowerPrefsTest, LoginScreen) {
// The login profile's prefs should still be used.
EXPECT_FALSE(GetProfile());
- EXPECT_EQ(GetExpectedPowerPolicyForProfile(login_profile),
+ EXPECT_EQ(GetExpectedPowerPolicyForProfile(login_profile, UNLOCKED),
GetCurrentPowerPolicy());
}
@@ -220,7 +250,7 @@ TEST_F(PowerPrefsTest, UserSession) {
content::NotificationService::NoDetails());
EXPECT_EQ(user_profile, GetProfile());
- EXPECT_EQ(GetExpectedPowerPolicyForProfile(user_profile),
+ EXPECT_EQ(GetExpectedPowerPolicyForProfile(user_profile, UNLOCKED),
GetCurrentPowerPolicy());
EXPECT_EQ(GetExpectedAllowScreenWakeLocksForProfile(user_profile),
GetCurrentAllowScreenWakeLocks());
@@ -238,7 +268,7 @@ TEST_F(PowerPrefsTest, UserSession) {
// Verify that the user profile's power prefs are still being used.
EXPECT_EQ(user_profile, GetProfile());
- EXPECT_EQ(GetExpectedPowerPolicyForProfile(user_profile),
+ EXPECT_EQ(GetExpectedPowerPolicyForProfile(user_profile, UNLOCKED),
GetCurrentPowerPolicy());
EXPECT_EQ(GetExpectedAllowScreenWakeLocksForProfile(user_profile),
GetCurrentAllowScreenWakeLocks());
@@ -250,7 +280,7 @@ TEST_F(PowerPrefsTest, UserSession) {
// Verify that power policy didn't revert to login screen settings.
EXPECT_EQ(user_profile, GetProfile());
- EXPECT_EQ(GetExpectedPowerPolicyForProfile(user_profile),
+ EXPECT_EQ(GetExpectedPowerPolicyForProfile(user_profile, UNLOCKED),
GetCurrentPowerPolicy());
EXPECT_EQ(GetExpectedAllowScreenWakeLocksForProfile(user_profile),
GetCurrentAllowScreenWakeLocks());
@@ -263,7 +293,7 @@ TEST_F(PowerPrefsTest, UserSession) {
// The user profile's prefs should still be used.
EXPECT_FALSE(GetProfile());
- EXPECT_EQ(GetExpectedPowerPolicyForProfile(user_profile),
+ EXPECT_EQ(GetExpectedPowerPolicyForProfile(user_profile, UNLOCKED),
GetCurrentPowerPolicy());
}
« no previous file with comments | « chrome/browser/chromeos/power/power_prefs.cc ('k') | chrome/common/pref_names.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698