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