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..6a1881aed16868ad7fe34cfb36de58a06ba6dd66 100644 |
--- a/chrome/browser/chromeos/power/power_prefs_unittest.cc |
+++ b/chrome/browser/chromeos/power/power_prefs_unittest.cc |
@@ -46,7 +46,8 @@ class PowerPrefsTest : public testing::Test { |
const Profile* GetProfile() const; |
- std::string GetExpectedPowerPolicyForProfile(Profile* profile) const; |
+ std::string GetExpectedPowerPolicyForProfile(Profile* profile, |
+ bool screen_is_locked) const; |
std::string GetCurrentPowerPolicy() const; |
bool GetExpectedAllowScreenWakeLocksForProfile(Profile* profile) const; |
bool GetCurrentAllowScreenWakeLocks() const; |
@@ -92,13 +93,16 @@ const Profile* PowerPrefsTest::GetProfile() const { |
} |
std::string PowerPrefsTest::GetExpectedPowerPolicyForProfile( |
- Profile* profile) const { |
+ Profile* profile, |
+ bool screen_is_locked) const { |
const PrefService* prefs = profile->GetPrefs(); |
power_manager::PowerManagementPolicy expected_policy; |
expected_policy.mutable_ac_delays()->set_screen_dim_ms( |
- prefs->GetInteger(prefs::kPowerAcScreenDimDelayMs)); |
+ prefs->GetInteger(screen_is_locked ? prefs::kPowerLockScreenDimDelayMs : |
+ prefs::kPowerAcScreenDimDelayMs)); |
expected_policy.mutable_ac_delays()->set_screen_off_ms( |
- prefs->GetInteger(prefs::kPowerAcScreenOffDelayMs)); |
+ prefs->GetInteger(screen_is_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( |
@@ -106,9 +110,11 @@ std::string PowerPrefsTest::GetExpectedPowerPolicyForProfile( |
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)); |
+ prefs->GetInteger(screen_is_locked ? prefs::kPowerLockScreenDimDelayMs : |
+ prefs::kPowerBatteryScreenDimDelayMs)); |
expected_policy.mutable_battery_delays()->set_screen_off_ms( |
- prefs->GetInteger(prefs::kPowerBatteryScreenOffDelayMs)); |
+ prefs->GetInteger(screen_is_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 +176,7 @@ TEST_F(PowerPrefsTest, LoginScreen) { |
content::NotificationService::NoDetails()); |
EXPECT_EQ(login_profile, GetProfile()); |
- EXPECT_EQ(GetExpectedPowerPolicyForProfile(login_profile), |
+ EXPECT_EQ(GetExpectedPowerPolicyForProfile(login_profile, false), |
Daniel Erat
2014/12/11 00:26:33
i suspect that you'll ask me to comment all of the
bartfab (slow)
2014/12/12 12:22:37
Well, there are many simple ways around it:
1) Us
|
GetCurrentPowerPolicy()); |
EXPECT_EQ(GetExpectedAllowScreenWakeLocksForProfile(login_profile), |
GetCurrentAllowScreenWakeLocks()); |
@@ -185,11 +191,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, false), |
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, true), |
+ 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, false), |
+ 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 +219,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, false), |
GetCurrentPowerPolicy()); |
} |
@@ -220,7 +242,7 @@ TEST_F(PowerPrefsTest, UserSession) { |
content::NotificationService::NoDetails()); |
EXPECT_EQ(user_profile, GetProfile()); |
- EXPECT_EQ(GetExpectedPowerPolicyForProfile(user_profile), |
+ EXPECT_EQ(GetExpectedPowerPolicyForProfile(user_profile, false), |
GetCurrentPowerPolicy()); |
EXPECT_EQ(GetExpectedAllowScreenWakeLocksForProfile(user_profile), |
GetCurrentAllowScreenWakeLocks()); |
@@ -238,7 +260,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, false), |
GetCurrentPowerPolicy()); |
EXPECT_EQ(GetExpectedAllowScreenWakeLocksForProfile(user_profile), |
GetCurrentAllowScreenWakeLocks()); |
@@ -250,7 +272,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, false), |
GetCurrentPowerPolicy()); |
EXPECT_EQ(GetExpectedAllowScreenWakeLocksForProfile(user_profile), |
GetCurrentAllowScreenWakeLocks()); |
@@ -263,7 +285,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, false), |
GetCurrentPowerPolicy()); |
} |