OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/browser/chromeos/policy/recommendation_restorer.h" | 5 #include "chrome/browser/chromeos/policy/recommendation_restorer.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "ash/common/accessibility_types.h" | 10 #include "ash/common/accessibility_types.h" |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 prefs_->FindPreference(pref_name); | 178 prefs_->FindPreference(pref_name); |
179 ASSERT_TRUE(pref); | 179 ASSERT_TRUE(pref); |
180 EXPECT_TRUE(pref->HasUserSetting()); | 180 EXPECT_TRUE(pref->HasUserSetting()); |
181 const base::Value* value = pref->GetValue(); | 181 const base::Value* value = pref->GetValue(); |
182 ASSERT_TRUE(value); | 182 ASSERT_TRUE(value); |
183 EXPECT_TRUE(expected_value.Equals(value)); | 183 EXPECT_TRUE(expected_value.Equals(value)); |
184 } | 184 } |
185 | 185 |
186 void RecommendationRestorerTest::VerifyPrefsFollowUser() const { | 186 void RecommendationRestorerTest::VerifyPrefsFollowUser() const { |
187 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, | 187 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, |
188 base::FundamentalValue(true)); | 188 base::Value(true)); |
189 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, | 189 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, |
190 base::FundamentalValue(true)); | 190 base::Value(true)); |
191 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, | 191 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, |
192 base::FundamentalValue(true)); | 192 base::Value(true)); |
193 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, | 193 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, |
194 base::FundamentalValue(true)); | 194 base::Value(true)); |
195 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, | 195 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, |
196 base::FundamentalValue(ash::MAGNIFIER_FULL)); | 196 base::Value(ash::MAGNIFIER_FULL)); |
197 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, | 197 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, |
198 base::FundamentalValue(true)); | 198 base::Value(true)); |
199 } | 199 } |
200 | 200 |
201 void RecommendationRestorerTest::VerifyPrefFollowsRecommendation( | 201 void RecommendationRestorerTest::VerifyPrefFollowsRecommendation( |
202 const char* pref_name, | 202 const char* pref_name, |
203 const base::Value& expected_value) const { | 203 const base::Value& expected_value) const { |
204 const sync_preferences::PrefServiceSyncable::Preference* pref = | 204 const sync_preferences::PrefServiceSyncable::Preference* pref = |
205 prefs_->FindPreference(pref_name); | 205 prefs_->FindPreference(pref_name); |
206 ASSERT_TRUE(pref); | 206 ASSERT_TRUE(pref); |
207 EXPECT_TRUE(pref->IsRecommended()); | 207 EXPECT_TRUE(pref->IsRecommended()); |
208 EXPECT_FALSE(pref->HasUserSetting()); | 208 EXPECT_FALSE(pref->HasUserSetting()); |
209 const base::Value* value = pref->GetValue(); | 209 const base::Value* value = pref->GetValue(); |
210 ASSERT_TRUE(value); | 210 ASSERT_TRUE(value); |
211 EXPECT_TRUE(expected_value.Equals(value)); | 211 EXPECT_TRUE(expected_value.Equals(value)); |
212 } | 212 } |
213 | 213 |
214 void RecommendationRestorerTest::VerifyPrefsFollowRecommendations() const { | 214 void RecommendationRestorerTest::VerifyPrefsFollowRecommendations() const { |
215 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, | 215 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, |
216 base::FundamentalValue(false)); | 216 base::Value(false)); |
217 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, | 217 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, |
218 base::FundamentalValue(false)); | 218 base::Value(false)); |
219 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, | 219 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, |
220 base::FundamentalValue(false)); | 220 base::Value(false)); |
221 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, | 221 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, |
222 base::FundamentalValue(false)); | 222 base::Value(false)); |
223 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, | 223 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, |
224 base::FundamentalValue(0)); | 224 base::Value(0)); |
225 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, | 225 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, |
226 base::FundamentalValue(false)); | 226 base::Value(false)); |
227 } | 227 } |
228 | 228 |
229 void RecommendationRestorerTest::VerifyNotListeningForNotifications() const { | 229 void RecommendationRestorerTest::VerifyNotListeningForNotifications() const { |
230 ASSERT_TRUE(restorer_); | 230 ASSERT_TRUE(restorer_); |
231 EXPECT_TRUE(restorer_->pref_change_registrar_.IsEmpty()); | 231 EXPECT_TRUE(restorer_->pref_change_registrar_.IsEmpty()); |
232 EXPECT_TRUE(restorer_->notification_registrar_.IsEmpty()); | 232 EXPECT_TRUE(restorer_->notification_registrar_.IsEmpty()); |
233 } | 233 } |
234 | 234 |
235 void RecommendationRestorerTest::VerifyTimerIsStopped() const { | 235 void RecommendationRestorerTest::VerifyTimerIsStopped() const { |
236 ASSERT_TRUE(restorer_); | 236 ASSERT_TRUE(restorer_); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 // shown, a timer is started that will clear user settings eventually. | 290 // shown, a timer is started that will clear user settings eventually. |
291 RegisterLoginProfilePrefs(); | 291 RegisterLoginProfilePrefs(); |
292 SetUserSettings(); | 292 SetUserSettings(); |
293 | 293 |
294 CreateLoginProfile(); | 294 CreateLoginProfile(); |
295 | 295 |
296 VerifyTimerIsStopped(); | 296 VerifyTimerIsStopped(); |
297 recommended_prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, | 297 recommended_prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, |
298 false); | 298 false); |
299 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, | 299 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, |
300 base::FundamentalValue(true)); | 300 base::Value(true)); |
301 VerifyTimerIsRunning(); | 301 VerifyTimerIsRunning(); |
302 runner_->RunUntilIdle(); | 302 runner_->RunUntilIdle(); |
303 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, | 303 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, |
304 base::FundamentalValue(false)); | 304 base::Value(false)); |
305 | 305 |
306 VerifyTimerIsStopped(); | 306 VerifyTimerIsStopped(); |
307 recommended_prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, | 307 recommended_prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, |
308 false); | 308 false); |
309 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, | 309 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, |
310 base::FundamentalValue(true)); | 310 base::Value(true)); |
311 VerifyTimerIsRunning(); | 311 VerifyTimerIsRunning(); |
312 runner_->RunUntilIdle(); | 312 runner_->RunUntilIdle(); |
313 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, | 313 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, |
314 base::FundamentalValue(false)); | 314 base::Value(false)); |
315 | 315 |
316 VerifyTimerIsStopped(); | 316 VerifyTimerIsStopped(); |
317 recommended_prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, | 317 recommended_prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, |
318 false); | 318 false); |
319 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, | 319 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, |
320 base::FundamentalValue(true)); | 320 base::Value(true)); |
321 VerifyTimerIsRunning(); | 321 VerifyTimerIsRunning(); |
322 runner_->RunUntilIdle(); | 322 runner_->RunUntilIdle(); |
323 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, | 323 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, |
324 base::FundamentalValue(false)); | 324 base::Value(false)); |
325 | 325 |
326 VerifyTimerIsStopped(); | 326 VerifyTimerIsStopped(); |
327 recommended_prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, | 327 recommended_prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, |
328 false); | 328 false); |
329 recommended_prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, 0); | 329 recommended_prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, 0); |
330 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, | 330 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, |
331 base::FundamentalValue(true)); | 331 base::Value(true)); |
332 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, | 332 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, |
333 base::FundamentalValue(ash::MAGNIFIER_FULL)); | 333 base::Value(ash::MAGNIFIER_FULL)); |
334 VerifyTimerIsRunning(); | 334 VerifyTimerIsRunning(); |
335 runner_->RunUntilIdle(); | 335 runner_->RunUntilIdle(); |
336 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, | 336 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, |
337 base::FundamentalValue(false)); | 337 base::Value(false)); |
338 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, | 338 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, |
339 base::FundamentalValue(0)); | 339 base::Value(0)); |
340 VerifyTimerIsStopped(); | 340 VerifyTimerIsStopped(); |
341 recommended_prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, | 341 recommended_prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, |
342 false); | 342 false); |
343 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, | 343 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, |
344 base::FundamentalValue(true)); | 344 base::Value(true)); |
345 VerifyTimerIsRunning(); | 345 VerifyTimerIsRunning(); |
346 runner_->RunUntilIdle(); | 346 runner_->RunUntilIdle(); |
347 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, | 347 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, |
348 base::FundamentalValue(false)); | 348 base::Value(false)); |
349 VerifyTimerIsStopped(); | 349 VerifyTimerIsStopped(); |
350 } | 350 } |
351 | 351 |
352 TEST_F(RecommendationRestorerTest, RestoreOnRecommendationChangeInUserSession) { | 352 TEST_F(RecommendationRestorerTest, RestoreOnRecommendationChangeInUserSession) { |
353 // Verifies that if recommended values change while a user session is in | 353 // Verifies that if recommended values change while a user session is in |
354 // progress, user settings are cleared immediately. | 354 // progress, user settings are cleared immediately. |
355 RegisterLoginProfilePrefs(); | 355 RegisterLoginProfilePrefs(); |
356 SetUserSettings(); | 356 SetUserSettings(); |
357 | 357 |
358 CreateLoginProfile(); | 358 CreateLoginProfile(); |
359 NotifyOfSessionStart(); | 359 NotifyOfSessionStart(); |
360 | 360 |
361 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, | 361 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, |
362 base::FundamentalValue(true)); | 362 base::Value(true)); |
363 recommended_prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, | 363 recommended_prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, |
364 false); | 364 false); |
365 VerifyTimerIsStopped(); | 365 VerifyTimerIsStopped(); |
366 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, | 366 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, |
367 base::FundamentalValue(false)); | 367 base::Value(false)); |
368 | 368 |
369 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, | 369 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, |
370 base::FundamentalValue(true)); | 370 base::Value(true)); |
371 recommended_prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, | 371 recommended_prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, |
372 false); | 372 false); |
373 VerifyTimerIsStopped(); | 373 VerifyTimerIsStopped(); |
374 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, | 374 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, |
375 base::FundamentalValue(false)); | 375 base::Value(false)); |
376 | 376 |
377 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, | 377 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, |
378 base::FundamentalValue(true)); | 378 base::Value(true)); |
379 recommended_prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, | 379 recommended_prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, |
380 false); | 380 false); |
381 VerifyTimerIsStopped(); | 381 VerifyTimerIsStopped(); |
382 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, | 382 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, |
383 base::FundamentalValue(false)); | 383 base::Value(false)); |
384 | 384 |
385 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, | 385 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, |
386 base::FundamentalValue(true)); | 386 base::Value(true)); |
387 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, | 387 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, |
388 base::FundamentalValue(ash::MAGNIFIER_FULL)); | 388 base::Value(ash::MAGNIFIER_FULL)); |
389 recommended_prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, | 389 recommended_prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, |
390 false); | 390 false); |
391 recommended_prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, 0); | 391 recommended_prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, 0); |
392 VerifyTimerIsStopped(); | 392 VerifyTimerIsStopped(); |
393 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, | 393 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, |
394 base::FundamentalValue(false)); | 394 base::Value(false)); |
395 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, | 395 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, |
396 base::FundamentalValue(0)); | 396 base::Value(0)); |
397 | 397 |
398 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, | 398 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, |
399 base::FundamentalValue(true)); | 399 base::Value(true)); |
400 recommended_prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, | 400 recommended_prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, |
401 false); | 401 false); |
402 VerifyTimerIsStopped(); | 402 VerifyTimerIsStopped(); |
403 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, | 403 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, |
404 base::FundamentalValue(false)); | 404 base::Value(false)); |
405 } | 405 } |
406 | 406 |
407 TEST_F(RecommendationRestorerTest, DoNothingOnUserChange) { | 407 TEST_F(RecommendationRestorerTest, DoNothingOnUserChange) { |
408 // Verifies that if no recommended values have been set and user settings | 408 // Verifies that if no recommended values have been set and user settings |
409 // change, the user settings are not cleared immediately and no timer is | 409 // change, the user settings are not cleared immediately and no timer is |
410 // started that will clear the user settings eventually. | 410 // started that will clear the user settings eventually. |
411 RegisterLoginProfilePrefs(); | 411 RegisterLoginProfilePrefs(); |
412 CreateLoginProfile(); | 412 CreateLoginProfile(); |
413 | 413 |
414 prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, true); | 414 prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, true); |
415 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, | 415 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, |
416 base::FundamentalValue(true)); | 416 base::Value(true)); |
417 VerifyTimerIsStopped(); | 417 VerifyTimerIsStopped(); |
418 | 418 |
419 prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, true); | 419 prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, true); |
420 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, | 420 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, |
421 base::FundamentalValue(true)); | 421 base::Value(true)); |
422 VerifyTimerIsStopped(); | 422 VerifyTimerIsStopped(); |
423 | 423 |
424 prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, true); | 424 prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, true); |
425 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, | 425 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, |
426 base::FundamentalValue(true)); | 426 base::Value(true)); |
427 VerifyTimerIsStopped(); | 427 VerifyTimerIsStopped(); |
428 | 428 |
429 prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, true); | 429 prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, true); |
430 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, | 430 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, |
431 base::FundamentalValue(true)); | 431 base::Value(true)); |
432 VerifyTimerIsStopped(); | 432 VerifyTimerIsStopped(); |
433 | 433 |
434 prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, true); | 434 prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, true); |
435 prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, | 435 prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, |
436 ash::MAGNIFIER_FULL); | 436 ash::MAGNIFIER_FULL); |
437 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, | 437 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, |
438 base::FundamentalValue(true)); | 438 base::Value(true)); |
439 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, | 439 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, |
440 base::FundamentalValue(ash::MAGNIFIER_FULL)); | 440 base::Value(ash::MAGNIFIER_FULL)); |
441 VerifyTimerIsStopped(); | 441 VerifyTimerIsStopped(); |
442 | 442 |
443 prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, true); | 443 prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, true); |
444 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, | 444 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, |
445 base::FundamentalValue(true)); | 445 base::Value(true)); |
446 VerifyTimerIsStopped(); | 446 VerifyTimerIsStopped(); |
447 } | 447 } |
448 | 448 |
449 TEST_F(RecommendationRestorerTest, RestoreOnUserChange) { | 449 TEST_F(RecommendationRestorerTest, RestoreOnUserChange) { |
450 // Verifies that if recommended values have been set and user settings change | 450 // Verifies that if recommended values have been set and user settings change |
451 // while the login screen is being shown, a timer is started that will clear | 451 // while the login screen is being shown, a timer is started that will clear |
452 // the user settings eventually. | 452 // the user settings eventually. |
453 RegisterLoginProfilePrefs(); | 453 RegisterLoginProfilePrefs(); |
454 SetRecommendedValues(); | 454 SetRecommendedValues(); |
455 | 455 |
456 CreateLoginProfile(); | 456 CreateLoginProfile(); |
457 | 457 |
458 VerifyTimerIsStopped(); | 458 VerifyTimerIsStopped(); |
459 prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, true); | 459 prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, true); |
460 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, | 460 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, |
461 base::FundamentalValue(true)); | 461 base::Value(true)); |
462 VerifyTimerIsRunning(); | 462 VerifyTimerIsRunning(); |
463 runner_->RunUntilIdle(); | 463 runner_->RunUntilIdle(); |
464 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, | 464 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, |
465 base::FundamentalValue(false)); | 465 base::Value(false)); |
466 | 466 |
467 VerifyTimerIsStopped(); | 467 VerifyTimerIsStopped(); |
468 prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, true); | 468 prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, true); |
469 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, | 469 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, |
470 base::FundamentalValue(true)); | 470 base::Value(true)); |
471 VerifyTimerIsRunning(); | 471 VerifyTimerIsRunning(); |
472 runner_->RunUntilIdle(); | 472 runner_->RunUntilIdle(); |
473 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, | 473 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, |
474 base::FundamentalValue(false)); | 474 base::Value(false)); |
475 | 475 |
476 VerifyTimerIsStopped(); | 476 VerifyTimerIsStopped(); |
477 prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, true); | 477 prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, true); |
478 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, | 478 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, |
479 base::FundamentalValue(true)); | 479 base::Value(true)); |
480 VerifyTimerIsRunning(); | 480 VerifyTimerIsRunning(); |
481 runner_->RunUntilIdle(); | 481 runner_->RunUntilIdle(); |
482 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, | 482 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, |
483 base::FundamentalValue(false)); | 483 base::Value(false)); |
484 | 484 |
485 VerifyTimerIsStopped(); | 485 VerifyTimerIsStopped(); |
486 prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, true); | 486 prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, true); |
487 prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, | 487 prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, |
488 ash::MAGNIFIER_FULL); | 488 ash::MAGNIFIER_FULL); |
489 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, | 489 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, |
490 base::FundamentalValue(true)); | 490 base::Value(true)); |
491 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, | 491 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, |
492 base::FundamentalValue(ash::MAGNIFIER_FULL)); | 492 base::Value(ash::MAGNIFIER_FULL)); |
493 VerifyTimerIsRunning(); | 493 VerifyTimerIsRunning(); |
494 runner_->RunUntilIdle(); | 494 runner_->RunUntilIdle(); |
495 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, | 495 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, |
496 base::FundamentalValue(false)); | 496 base::Value(false)); |
497 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, | 497 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, |
498 base::FundamentalValue(0)); | 498 base::Value(0)); |
499 | 499 |
500 VerifyTimerIsStopped(); | 500 VerifyTimerIsStopped(); |
501 prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, true); | 501 prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, true); |
502 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, | 502 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, |
503 base::FundamentalValue(true)); | 503 base::Value(true)); |
504 VerifyTimerIsRunning(); | 504 VerifyTimerIsRunning(); |
505 runner_->RunUntilIdle(); | 505 runner_->RunUntilIdle(); |
506 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, | 506 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, |
507 base::FundamentalValue(false)); | 507 base::Value(false)); |
508 | 508 |
509 VerifyTimerIsStopped(); | 509 VerifyTimerIsStopped(); |
510 } | 510 } |
511 | 511 |
512 TEST_F(RecommendationRestorerTest, RestoreOnSessionStart) { | 512 TEST_F(RecommendationRestorerTest, RestoreOnSessionStart) { |
513 // Verifies that if recommended values have been set, user settings have | 513 // Verifies that if recommended values have been set, user settings have |
514 // changed and a session is then started, the user settings are cleared | 514 // changed and a session is then started, the user settings are cleared |
515 // immediately and the timer that would have cleared them eventually on the | 515 // immediately and the timer that would have cleared them eventually on the |
516 // login screen is stopped. | 516 // login screen is stopped. |
517 RegisterLoginProfilePrefs(); | 517 RegisterLoginProfilePrefs(); |
(...skipping 30 matching lines...) Expand all Loading... |
548 CreateLoginProfile(); | 548 CreateLoginProfile(); |
549 | 549 |
550 prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, true); | 550 prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, true); |
551 VerifyTimerIsRunning(); | 551 VerifyTimerIsRunning(); |
552 | 552 |
553 // Notify that there is user activity, then fast forward until the originally | 553 // Notify that there is user activity, then fast forward until the originally |
554 // set timer fires. | 554 // set timer fires. |
555 NotifyOfUserActivity(); | 555 NotifyOfUserActivity(); |
556 runner_->RunPendingTasks(); | 556 runner_->RunPendingTasks(); |
557 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, | 557 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, |
558 base::FundamentalValue(true)); | 558 base::Value(true)); |
559 | 559 |
560 // Fast forward until the reset timer fires. | 560 // Fast forward until the reset timer fires. |
561 VerifyTimerIsRunning(); | 561 VerifyTimerIsRunning(); |
562 runner_->RunUntilIdle(); | 562 runner_->RunUntilIdle(); |
563 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, | 563 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, |
564 base::FundamentalValue(false)); | 564 base::Value(false)); |
565 VerifyTimerIsStopped(); | 565 VerifyTimerIsStopped(); |
566 } | 566 } |
567 | 567 |
568 } // namespace policy | 568 } // namespace policy |
OLD | NEW |