| Index: trunk/src/chrome/browser/chromeos/policy/recommendation_restorer_unittest.cc
|
| ===================================================================
|
| --- trunk/src/chrome/browser/chromeos/policy/recommendation_restorer_unittest.cc (revision 207797)
|
| +++ trunk/src/chrome/browser/chromeos/policy/recommendation_restorer_unittest.cc (working copy)
|
| @@ -1,493 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/chromeos/policy/recommendation_restorer.h"
|
| -
|
| -#include "ash/magnifier/magnifier_constants.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/prefs/pref_notifier_impl.h"
|
| -#include "base/prefs/testing_pref_store.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "base/test/test_simple_task_runner.h"
|
| -#include "base/thread_task_runner_handle.h"
|
| -#include "base/time.h"
|
| -#include "base/values.h"
|
| -#include "chrome/browser/chromeos/policy/recommendation_restorer_factory.h"
|
| -#include "chrome/browser/prefs/browser_prefs.h"
|
| -#include "chrome/browser/prefs/pref_service_syncable.h"
|
| -#include "chrome/common/chrome_constants.h"
|
| -#include "chrome/common/chrome_notification_types.h"
|
| -#include "chrome/common/pref_names.h"
|
| -#include "chrome/test/base/testing_browser_process.h"
|
| -#include "chrome/test/base/testing_pref_service_syncable.h"
|
| -#include "chrome/test/base/testing_profile.h"
|
| -#include "chrome/test/base/testing_profile_manager.h"
|
| -#include "components/user_prefs/pref_registry_syncable.h"
|
| -#include "content/public/browser/notification_details.h"
|
| -#include "content/public/browser/notification_service.h"
|
| -#include "content/public/browser/notification_source.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace policy {
|
| -
|
| -namespace {
|
| - // The amount of idle time after which recommended values are restored.
|
| - const int kRestoreDelayInMs = 60 * 1000; // 1 minute.
|
| -} // namespace
|
| -
|
| -class RecommendationRestorerTest : public testing::Test {
|
| - protected:
|
| - RecommendationRestorerTest();
|
| -
|
| - // testing::Test:
|
| - virtual void SetUp() OVERRIDE;
|
| - virtual void TearDown() OVERRIDE;
|
| -
|
| - void SetRecommendedValues();
|
| - void SetUserSettings();
|
| -
|
| - void CreateLoginProfile();
|
| - void CreateUserProfile();
|
| -
|
| - void NotifyOfSessionStart();
|
| - void NotifyOfUserActivity();
|
| -
|
| - void VerifyPrefFollowsUser(const char* pref_name,
|
| - const base::Value& expected_value) const;
|
| - void VerifyPrefsFollowUser() const;
|
| - void VerifyPrefFollowsRecommendation(const char* pref_name,
|
| - const base::Value& expected_value) const;
|
| - void VerifyPrefsFollowRecommendations() const;
|
| -
|
| - void VerifyNotListeningForNotifications() const;
|
| - void VerifyTimerIsStopped() const;
|
| - void VerifyTimerIsRunning() const;
|
| -
|
| - TestingPrefStore* recommended_prefs_; // Not owned.
|
| - TestingPrefServiceSyncable* prefs_; // Not owned.
|
| - RecommendationRestorer* restorer_; // Not owned.
|
| -
|
| - scoped_refptr<base::TestSimpleTaskRunner> runner_;
|
| - base::ThreadTaskRunnerHandle runner_handler_;
|
| -
|
| - private:
|
| - scoped_ptr<PrefServiceSyncable> prefs_owner_;
|
| -
|
| - TestingProfileManager* profile_manager_; // Not owned.
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(RecommendationRestorerTest);
|
| -};
|
| -
|
| -RecommendationRestorerTest::RecommendationRestorerTest()
|
| - : recommended_prefs_(new TestingPrefStore),
|
| - prefs_(new TestingPrefServiceSyncable(
|
| - new TestingPrefStore,
|
| - new TestingPrefStore,
|
| - recommended_prefs_,
|
| - new user_prefs::PrefRegistrySyncable,
|
| - new PrefNotifierImpl)),
|
| - restorer_(NULL),
|
| - runner_(new base::TestSimpleTaskRunner),
|
| - runner_handler_(runner_),
|
| - prefs_owner_(prefs_),
|
| - profile_manager_(NULL) {
|
| - chrome::RegisterUserPrefs(prefs_->registry());
|
| -}
|
| -
|
| -void RecommendationRestorerTest::SetUp() {
|
| - testing::Test::SetUp();
|
| - profile_manager_ =
|
| - new TestingProfileManager(TestingBrowserProcess::GetGlobal());
|
| - ASSERT_TRUE(profile_manager_->SetUp());
|
| -}
|
| -
|
| -void RecommendationRestorerTest::TearDown() {
|
| - TestingBrowserProcess::GetGlobal()->SetLocalState(NULL);
|
| - testing::Test::TearDown();
|
| -}
|
| -
|
| -void RecommendationRestorerTest::SetRecommendedValues() {
|
| - recommended_prefs_->SetBoolean(prefs::kLargeCursorEnabled, false);
|
| - recommended_prefs_->SetBoolean(prefs::kSpokenFeedbackEnabled, false);
|
| - recommended_prefs_->SetBoolean(prefs::kHighContrastEnabled, false);
|
| - recommended_prefs_->SetBoolean(prefs::kScreenMagnifierEnabled, false);
|
| - recommended_prefs_->SetInteger(prefs::kScreenMagnifierType, 0);
|
| -}
|
| -
|
| -void RecommendationRestorerTest::SetUserSettings() {
|
| - prefs_->SetBoolean(prefs::kLargeCursorEnabled, true);
|
| - prefs_->SetBoolean(prefs::kSpokenFeedbackEnabled, true);
|
| - prefs_->SetBoolean(prefs::kHighContrastEnabled, true);
|
| - prefs_->SetBoolean(prefs::kScreenMagnifierEnabled, true);
|
| - prefs_->SetInteger(prefs::kScreenMagnifierType, ash::MAGNIFIER_FULL);
|
| -}
|
| -
|
| -void RecommendationRestorerTest::CreateLoginProfile() {
|
| - ASSERT_FALSE(restorer_);
|
| - TestingProfile* profile = profile_manager_->CreateTestingProfile(
|
| - chrome::kInitialProfile, prefs_owner_.Pass(),
|
| - UTF8ToUTF16(chrome::kInitialProfile), 0);
|
| - restorer_ = RecommendationRestorerFactory::GetForProfile(profile);
|
| - EXPECT_TRUE(restorer_);
|
| -}
|
| -
|
| -void RecommendationRestorerTest::CreateUserProfile() {
|
| - ASSERT_FALSE(restorer_);
|
| - TestingProfile* profile = profile_manager_->CreateTestingProfile(
|
| - "user", prefs_owner_.Pass(), UTF8ToUTF16("user"), 0);
|
| - restorer_ = RecommendationRestorerFactory::GetForProfile(profile);
|
| - EXPECT_TRUE(restorer_);
|
| -}
|
| -
|
| -void RecommendationRestorerTest::NotifyOfSessionStart() {
|
| - ASSERT_TRUE(restorer_);
|
| - restorer_->Observe(chrome::NOTIFICATION_LOGIN_USER_CHANGED,
|
| - content::Source<RecommendationRestorerTest>(this),
|
| - content::NotificationService::NoDetails());
|
| -}
|
| -
|
| -void RecommendationRestorerTest::NotifyOfUserActivity() {
|
| - ASSERT_TRUE(restorer_);
|
| - restorer_->OnUserActivity();
|
| -}
|
| -
|
| -void RecommendationRestorerTest::VerifyPrefFollowsUser(
|
| - const char* pref_name,
|
| - const base::Value& expected_value) const {
|
| - const PrefServiceSyncable::Preference* pref =
|
| - prefs_->FindPreference(pref_name);
|
| - ASSERT_TRUE(pref);
|
| - EXPECT_TRUE(pref->HasUserSetting());
|
| - const base::Value* value = pref->GetValue();
|
| - ASSERT_TRUE(value);
|
| - EXPECT_TRUE(expected_value.Equals(value));
|
| -}
|
| -
|
| -void RecommendationRestorerTest::VerifyPrefsFollowUser() const {
|
| - VerifyPrefFollowsUser(prefs::kLargeCursorEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyPrefFollowsUser(prefs::kSpokenFeedbackEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyPrefFollowsUser(prefs::kHighContrastEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyPrefFollowsUser(prefs::kScreenMagnifierEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyPrefFollowsUser(prefs::kScreenMagnifierType,
|
| - base::FundamentalValue(ash::MAGNIFIER_FULL));
|
| -}
|
| -
|
| -void RecommendationRestorerTest::VerifyPrefFollowsRecommendation(
|
| - const char* pref_name,
|
| - const base::Value& expected_value) const {
|
| - const PrefServiceSyncable::Preference* pref =
|
| - prefs_->FindPreference(pref_name);
|
| - ASSERT_TRUE(pref);
|
| - EXPECT_TRUE(pref->IsRecommended());
|
| - EXPECT_FALSE(pref->HasUserSetting());
|
| - const base::Value* value = pref->GetValue();
|
| - ASSERT_TRUE(value);
|
| - EXPECT_TRUE(expected_value.Equals(value));
|
| -}
|
| -
|
| -void RecommendationRestorerTest::VerifyPrefsFollowRecommendations() const {
|
| - VerifyPrefFollowsRecommendation(prefs::kLargeCursorEnabled,
|
| - base::FundamentalValue(false));
|
| - VerifyPrefFollowsRecommendation(prefs::kSpokenFeedbackEnabled,
|
| - base::FundamentalValue(false));
|
| - VerifyPrefFollowsRecommendation(prefs::kHighContrastEnabled,
|
| - base::FundamentalValue(false));
|
| - VerifyPrefFollowsRecommendation(prefs::kScreenMagnifierEnabled,
|
| - base::FundamentalValue(false));
|
| - VerifyPrefFollowsRecommendation(prefs::kScreenMagnifierType,
|
| - base::FundamentalValue(0));
|
| -}
|
| -
|
| -void RecommendationRestorerTest::VerifyNotListeningForNotifications() const {
|
| - ASSERT_TRUE(restorer_);
|
| - EXPECT_TRUE(restorer_->pref_change_registrar_.IsEmpty());
|
| - EXPECT_TRUE(restorer_->notification_registrar_.IsEmpty());
|
| -}
|
| -
|
| -void RecommendationRestorerTest::VerifyTimerIsStopped() const {
|
| - ASSERT_TRUE(restorer_);
|
| - EXPECT_FALSE(restorer_->restore_timer_.IsRunning());
|
| -}
|
| -
|
| -void RecommendationRestorerTest::VerifyTimerIsRunning() const {
|
| - ASSERT_TRUE(restorer_);
|
| - EXPECT_TRUE(restorer_->restore_timer_.IsRunning());
|
| - EXPECT_EQ(base::TimeDelta::FromMilliseconds(kRestoreDelayInMs),
|
| - restorer_->restore_timer_.GetCurrentDelay());
|
| -}
|
| -
|
| -TEST_F(RecommendationRestorerTest, CreateForUserProfile) {
|
| - // Verifies that when a RecommendationRestorer is created for a user profile,
|
| - // it does not start listening for any notifications, does not clear user
|
| - // settings on initialization and does not start a timer that will clear user
|
| - // settings eventually.
|
| - SetRecommendedValues();
|
| - SetUserSettings();
|
| -
|
| - CreateUserProfile();
|
| - VerifyNotListeningForNotifications();
|
| - VerifyPrefsFollowUser();
|
| - VerifyTimerIsStopped();
|
| -}
|
| -
|
| -TEST_F(RecommendationRestorerTest, NoRecommendations) {
|
| - // Verifies that when no recommended values have been set and a
|
| - // RecommendationRestorer is created for the login profile, it does not clear
|
| - // user settings on initialization and does not start a timer that will clear
|
| - // user settings eventually.
|
| - SetUserSettings();
|
| -
|
| - CreateLoginProfile();
|
| - VerifyPrefsFollowUser();
|
| - VerifyTimerIsStopped();
|
| -}
|
| -
|
| -TEST_F(RecommendationRestorerTest, RestoreOnStartup) {
|
| - // Verifies that when recommended values have been set and a
|
| - // RecommendationRestorer is created for the login profile, it clears user
|
| - // settings on initialization.
|
| - SetRecommendedValues();
|
| - SetUserSettings();
|
| -
|
| - CreateLoginProfile();
|
| - VerifyPrefsFollowRecommendations();
|
| - VerifyTimerIsStopped();
|
| -}
|
| -
|
| -TEST_F(RecommendationRestorerTest, RestoreOnRecommendationChangeOnLoginScreen) {
|
| - // Verifies that if recommended values change while the login screen is being
|
| - // shown, a timer is started that will clear user settings eventually.
|
| - SetUserSettings();
|
| -
|
| - CreateLoginProfile();
|
| -
|
| - VerifyTimerIsStopped();
|
| - recommended_prefs_->SetBoolean(prefs::kLargeCursorEnabled, false);
|
| - VerifyPrefFollowsUser(prefs::kLargeCursorEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyTimerIsRunning();
|
| - runner_->RunUntilIdle();
|
| - VerifyPrefFollowsRecommendation(prefs::kLargeCursorEnabled,
|
| - base::FundamentalValue(false));
|
| -
|
| - VerifyTimerIsStopped();
|
| - recommended_prefs_->SetBoolean(prefs::kSpokenFeedbackEnabled, false);
|
| - VerifyPrefFollowsUser(prefs::kSpokenFeedbackEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyTimerIsRunning();
|
| - runner_->RunUntilIdle();
|
| - VerifyPrefFollowsRecommendation(prefs::kSpokenFeedbackEnabled,
|
| - base::FundamentalValue(false));
|
| -
|
| - VerifyTimerIsStopped();
|
| - recommended_prefs_->SetBoolean(prefs::kHighContrastEnabled, false);
|
| - VerifyPrefFollowsUser(prefs::kHighContrastEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyTimerIsRunning();
|
| - runner_->RunUntilIdle();
|
| - VerifyPrefFollowsRecommendation(prefs::kHighContrastEnabled,
|
| - base::FundamentalValue(false));
|
| -
|
| - VerifyTimerIsStopped();
|
| - recommended_prefs_->SetBoolean(prefs::kScreenMagnifierEnabled, false);
|
| - recommended_prefs_->SetInteger(prefs::kScreenMagnifierType, 0);
|
| - VerifyPrefFollowsUser(prefs::kScreenMagnifierEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyPrefFollowsUser(prefs::kScreenMagnifierType,
|
| - base::FundamentalValue(ash::MAGNIFIER_FULL));
|
| - VerifyTimerIsRunning();
|
| - runner_->RunUntilIdle();
|
| - VerifyPrefFollowsRecommendation(prefs::kScreenMagnifierEnabled,
|
| - base::FundamentalValue(false));
|
| - VerifyPrefFollowsRecommendation(prefs::kScreenMagnifierType,
|
| - base::FundamentalValue(0));
|
| -
|
| - VerifyTimerIsStopped();
|
| -}
|
| -
|
| -TEST_F(RecommendationRestorerTest, RestoreOnRecommendationChangeInUserSession) {
|
| - // Verifies that if recommended values change while a user session is in
|
| - // progress, user settings are cleared immediately.
|
| - SetUserSettings();
|
| -
|
| - CreateLoginProfile();
|
| - NotifyOfSessionStart();
|
| -
|
| - VerifyPrefFollowsUser(prefs::kLargeCursorEnabled,
|
| - base::FundamentalValue(true));
|
| - recommended_prefs_->SetBoolean(prefs::kLargeCursorEnabled, false);
|
| - VerifyTimerIsStopped();
|
| - VerifyPrefFollowsRecommendation(prefs::kLargeCursorEnabled,
|
| - base::FundamentalValue(false));
|
| -
|
| - VerifyPrefFollowsUser(prefs::kSpokenFeedbackEnabled,
|
| - base::FundamentalValue(true));
|
| - recommended_prefs_->SetBoolean(prefs::kSpokenFeedbackEnabled, false);
|
| - VerifyTimerIsStopped();
|
| - VerifyPrefFollowsRecommendation(prefs::kSpokenFeedbackEnabled,
|
| - base::FundamentalValue(false));
|
| -
|
| - VerifyPrefFollowsUser(prefs::kHighContrastEnabled,
|
| - base::FundamentalValue(true));
|
| - recommended_prefs_->SetBoolean(prefs::kHighContrastEnabled, false);
|
| - VerifyTimerIsStopped();
|
| - VerifyPrefFollowsRecommendation(prefs::kHighContrastEnabled,
|
| - base::FundamentalValue(false));
|
| -
|
| - VerifyPrefFollowsUser(prefs::kScreenMagnifierEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyPrefFollowsUser(prefs::kScreenMagnifierType,
|
| - base::FundamentalValue(ash::MAGNIFIER_FULL));
|
| - recommended_prefs_->SetBoolean(prefs::kScreenMagnifierEnabled, false);
|
| - recommended_prefs_->SetInteger(prefs::kScreenMagnifierType, 0);
|
| - VerifyTimerIsStopped();
|
| - VerifyPrefFollowsRecommendation(prefs::kScreenMagnifierEnabled,
|
| - base::FundamentalValue(false));
|
| - VerifyPrefFollowsRecommendation(prefs::kScreenMagnifierType,
|
| - base::FundamentalValue(0));
|
| -}
|
| -
|
| -TEST_F(RecommendationRestorerTest, DoNothingOnUserChange) {
|
| - // Verifies that if no recommended values have been set and user settings
|
| - // change, the user settings are not cleared immediately and no timer is
|
| - // started that will clear the user settings eventually.
|
| - CreateLoginProfile();
|
| -
|
| - prefs_->SetBoolean(prefs::kLargeCursorEnabled, true);
|
| - VerifyPrefFollowsUser(prefs::kLargeCursorEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyTimerIsStopped();
|
| -
|
| - prefs_->SetBoolean(prefs::kSpokenFeedbackEnabled, true);
|
| - VerifyPrefFollowsUser(prefs::kSpokenFeedbackEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyTimerIsStopped();
|
| -
|
| - prefs_->SetBoolean(prefs::kHighContrastEnabled, true);
|
| - VerifyPrefFollowsUser(prefs::kHighContrastEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyTimerIsStopped();
|
| -
|
| - prefs_->SetBoolean(prefs::kScreenMagnifierEnabled, true);
|
| - VerifyPrefFollowsUser(prefs::kScreenMagnifierEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyTimerIsStopped();
|
| -
|
| - prefs_->SetBoolean(prefs::kScreenMagnifierEnabled, true);
|
| - prefs_->SetInteger(prefs::kScreenMagnifierType, ash::MAGNIFIER_FULL);
|
| - VerifyPrefFollowsUser(prefs::kScreenMagnifierEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyPrefFollowsUser(prefs::kScreenMagnifierType,
|
| - base::FundamentalValue(ash::MAGNIFIER_FULL));
|
| - VerifyTimerIsStopped();
|
| -}
|
| -
|
| -TEST_F(RecommendationRestorerTest, RestoreOnUserChange) {
|
| - // Verifies that if recommended values have been set and user settings change
|
| - // while the login screen is being shown, a timer is started that will clear
|
| - // the user settings eventually.
|
| - SetRecommendedValues();
|
| -
|
| - CreateLoginProfile();
|
| -
|
| - VerifyTimerIsStopped();
|
| - prefs_->SetBoolean(prefs::kLargeCursorEnabled, true);
|
| - VerifyPrefFollowsUser(prefs::kLargeCursorEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyTimerIsRunning();
|
| - runner_->RunUntilIdle();
|
| - VerifyPrefFollowsRecommendation(prefs::kLargeCursorEnabled,
|
| - base::FundamentalValue(false));
|
| -
|
| - VerifyTimerIsStopped();
|
| - prefs_->SetBoolean(prefs::kSpokenFeedbackEnabled, true);
|
| - VerifyPrefFollowsUser(prefs::kSpokenFeedbackEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyTimerIsRunning();
|
| - runner_->RunUntilIdle();
|
| - VerifyPrefFollowsRecommendation(prefs::kSpokenFeedbackEnabled,
|
| - base::FundamentalValue(false));
|
| -
|
| - VerifyTimerIsStopped();
|
| - prefs_->SetBoolean(prefs::kHighContrastEnabled, true);
|
| - VerifyPrefFollowsUser(prefs::kHighContrastEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyTimerIsRunning();
|
| - runner_->RunUntilIdle();
|
| - VerifyPrefFollowsRecommendation(prefs::kHighContrastEnabled,
|
| - base::FundamentalValue(false));
|
| -
|
| - VerifyTimerIsStopped();
|
| - prefs_->SetBoolean(prefs::kScreenMagnifierEnabled, true);
|
| - prefs_->SetInteger(prefs::kScreenMagnifierType, ash::MAGNIFIER_FULL);
|
| - VerifyPrefFollowsUser(prefs::kScreenMagnifierEnabled,
|
| - base::FundamentalValue(true));
|
| - VerifyPrefFollowsUser(prefs::kScreenMagnifierType,
|
| - base::FundamentalValue(ash::MAGNIFIER_FULL));
|
| - VerifyTimerIsRunning();
|
| - runner_->RunUntilIdle();
|
| - VerifyPrefFollowsRecommendation(prefs::kScreenMagnifierEnabled,
|
| - base::FundamentalValue(false));
|
| - VerifyPrefFollowsRecommendation(prefs::kScreenMagnifierType,
|
| - base::FundamentalValue(0));
|
| -
|
| - VerifyTimerIsStopped();
|
| -}
|
| -
|
| -TEST_F(RecommendationRestorerTest, RestoreOnSessionStart) {
|
| - // Verifies that if recommended values have been set, user settings have
|
| - // changed and a session is then started, the user settings are cleared
|
| - // immediately and the timer that would have cleared them eventually on the
|
| - // login screen is stopped.
|
| - SetRecommendedValues();
|
| -
|
| - CreateLoginProfile();
|
| - SetUserSettings();
|
| -
|
| - NotifyOfSessionStart();
|
| - VerifyPrefsFollowRecommendations();
|
| - VerifyTimerIsStopped();
|
| -}
|
| -
|
| -TEST_F(RecommendationRestorerTest, DoNothingOnSessionStart) {
|
| - // Verifies that if recommended values have not been set, user settings have
|
| - // changed and a session is then started, the user settings are not cleared
|
| - // immediately.
|
| - CreateLoginProfile();
|
| - SetUserSettings();
|
| -
|
| - NotifyOfSessionStart();
|
| - VerifyPrefsFollowUser();
|
| - VerifyTimerIsStopped();
|
| -}
|
| -
|
| -TEST_F(RecommendationRestorerTest, UserActivityResetsTimer) {
|
| - // Verifies that user activity resets the timer which clears user settings.
|
| - recommended_prefs_->SetBoolean(prefs::kLargeCursorEnabled, false);
|
| -
|
| - CreateLoginProfile();
|
| -
|
| - prefs_->SetBoolean(prefs::kLargeCursorEnabled, true);
|
| - VerifyTimerIsRunning();
|
| -
|
| - // Notify that there is user activity, then fast forward until the originally
|
| - // set timer fires.
|
| - NotifyOfUserActivity();
|
| - runner_->RunPendingTasks();
|
| - VerifyPrefFollowsUser(prefs::kLargeCursorEnabled,
|
| - base::FundamentalValue(true));
|
| -
|
| - // Fast forward until the reset timer fires.
|
| - VerifyTimerIsRunning();
|
| - runner_->RunUntilIdle();
|
| - VerifyPrefFollowsRecommendation(prefs::kLargeCursorEnabled,
|
| - base::FundamentalValue(false));
|
| - VerifyTimerIsStopped();
|
| -}
|
| -
|
| -} // namespace policy
|
|
|