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

Side by Side Diff: chrome/browser/sync/profile_sync_service_preference_unittest.cc

Issue 24930003: Migrate startup URLs pref. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Nicolas' feedback. Add unit tests. Created 7 years, 2 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <map> 5 #include <map>
6 #include <string> 6 #include <string>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 395
396 value.reset(GetSyncedValue(prefs::kDefaultCharset)); 396 value.reset(GetSyncedValue(prefs::kDefaultCharset));
397 ASSERT_TRUE(value.get()); 397 ASSERT_TRUE(value.get());
398 EXPECT_TRUE(value->GetAsString(&string_value)); 398 EXPECT_TRUE(value->GetAsString(&string_value));
399 EXPECT_EQ(non_default_charset_value_, string_value); 399 EXPECT_EQ(non_default_charset_value_, string_value);
400 EXPECT_EQ(non_default_charset_value_, 400 EXPECT_EQ(non_default_charset_value_,
401 prefs_->GetString(prefs::kDefaultCharset)); 401 prefs_->GetString(prefs::kDefaultCharset));
402 STLDeleteValues(&cloud_data); 402 STLDeleteValues(&cloud_data);
403 } 403 }
404 404
405 TEST_F(ProfileSyncServicePreferenceTest,
406 ModelAssociationCloudHasOldMigratedData) {
407 ASSERT_TRUE(PrefModelAssociator::IsMigratedPreference(
408 prefs::kURLsToRestoreOnStartup));
409 ASSERT_TRUE(PrefModelAssociator::IsOldMigratedPreference(
410 prefs::kURLsToRestoreOnStartupOld));
411 prefs_->SetString(prefs::kHomePage, example_url0_);
412 {
413 ListPrefUpdate update(prefs_, prefs::kURLsToRestoreOnStartupOld);
Nicolas Zea 2013/10/11 19:58:54 Is this used for anything?
robertshield 2013/10/11 21:47:23 This should have been (and now is) prefs::kURLsToR
414 ListValue* url_list = update.Get();
415 url_list->Append(Value::CreateStringValue(example_url0_));
416 url_list->Append(Value::CreateStringValue(example_url1_));
417 }
418
419 PreferenceValues cloud_data;
420 cloud_data[prefs::kHomePage] = Value::CreateStringValue(example_url1_);
421 ListValue* urls_to_restore = new ListValue;
422 urls_to_restore->Append(Value::CreateStringValue(example_url1_));
423 urls_to_restore->Append(Value::CreateStringValue(example_url2_));
424 cloud_data[prefs::kURLsToRestoreOnStartup] = urls_to_restore;
Nicolas Zea 2013/10/11 19:58:54 If this test is for old migrated data in the cloud
robertshield 2013/10/11 21:47:23 Yes, sorry, this test was borked. Revised.
425
426 AddPreferenceEntriesHelper helper(this, cloud_data);
427 ASSERT_TRUE(StartSyncService(helper.callback(), false));
428 ASSERT_TRUE(helper.success());
429
430 scoped_ptr<const Value> value(GetSyncedValue(prefs::kHomePage));
431 ASSERT_TRUE(value.get());
432 std::string string_value;
433 EXPECT_TRUE(value->GetAsString(&string_value));
434 EXPECT_EQ(example_url1_, string_value);
435 EXPECT_EQ(example_url1_, prefs_->GetString(prefs::kHomePage));
436
437 // Expect that
Nicolas Zea 2013/10/11 19:58:54 finish comment?
robertshield 2013/10/11 21:47:23 Done.
438 scoped_ptr<ListValue> expected_urls(new ListValue);
439 expected_urls->Append(Value::CreateStringValue(example_url1_));
440 expected_urls->Append(Value::CreateStringValue(example_url2_));
441
442 value.reset(GetSyncedValue(prefs::kURLsToRestoreOnStartup));
443 ASSERT_TRUE(value.get());
444 EXPECT_TRUE(value->Equals(expected_urls.get()));
445 EXPECT_TRUE(GetPreferenceValue(prefs::kURLsToRestoreOnStartup).
446 Equals(expected_urls.get()));
447 }
448
449 TEST_F(ProfileSyncServicePreferenceTest,
450 ModelAssociationCloudHasNewMigratedData) {
451 ASSERT_TRUE(PrefModelAssociator::IsMigratedPreference(
452 prefs::kURLsToRestoreOnStartup));
453 ASSERT_TRUE(PrefModelAssociator::IsOldMigratedPreference(
454 prefs::kURLsToRestoreOnStartupOld));
455 prefs_->SetString(prefs::kHomePage, example_url0_);
456 {
457 ListPrefUpdate update(prefs_, prefs::kURLsToRestoreOnStartupOld);
458 ListValue* url_list = update.Get();
459 url_list->Append(Value::CreateStringValue(example_url0_));
460 url_list->Append(Value::CreateStringValue(example_url1_));
461 }
462
463 PreferenceValues cloud_data;
464 cloud_data[prefs::kHomePage] = Value::CreateStringValue(example_url1_);
465 ListValue* urls_to_restore = new ListValue;
466 urls_to_restore->Append(Value::CreateStringValue(example_url1_));
467 urls_to_restore->Append(Value::CreateStringValue(example_url2_));
468 cloud_data[prefs::kURLsToRestoreOnStartup] = urls_to_restore;
469
470 AddPreferenceEntriesHelper helper(this, cloud_data);
471 ASSERT_TRUE(StartSyncService(helper.callback(), false));
472 ASSERT_TRUE(helper.success());
473
474 scoped_ptr<const Value> value(GetSyncedValue(prefs::kHomePage));
475 ASSERT_TRUE(value.get());
476 std::string string_value;
477 EXPECT_TRUE(value->GetAsString(&string_value));
478 EXPECT_EQ(example_url1_, string_value);
479 EXPECT_EQ(example_url1_, prefs_->GetString(prefs::kHomePage));
480
481 // Expect that the cloud data under the new migrated preference name sticks.
482 scoped_ptr<ListValue> expected_urls(new ListValue);
483 expected_urls->Append(Value::CreateStringValue(example_url1_));
484 expected_urls->Append(Value::CreateStringValue(example_url2_));
485
486 value.reset(GetSyncedValue(prefs::kURLsToRestoreOnStartup));
487 ASSERT_TRUE(value.get());
488 EXPECT_TRUE(value->Equals(expected_urls.get()));
489 EXPECT_TRUE(GetPreferenceValue(prefs::kURLsToRestoreOnStartup).
490 Equals(expected_urls.get()));
491 }
492
493 TEST_F(ProfileSyncServicePreferenceTest,
494 ModelAssociationCloudAddsOldAndNewMigratedData) {
495 ASSERT_TRUE(PrefModelAssociator::IsMigratedPreference(
496 prefs::kURLsToRestoreOnStartup));
497 ASSERT_TRUE(PrefModelAssociator::IsOldMigratedPreference(
498 prefs::kURLsToRestoreOnStartupOld));
499 prefs_->SetString(prefs::kHomePage, example_url0_);
500 {
501 ListPrefUpdate update_old(prefs_, prefs::kURLsToRestoreOnStartupOld);
502 ListValue* url_list_old = update_old.Get();
503 url_list_old->Append(Value::CreateStringValue(example_url0_));
504 url_list_old->Append(Value::CreateStringValue(example_url1_));
505 ListPrefUpdate update(prefs_, prefs::kURLsToRestoreOnStartup);
506 ListValue* url_list = update.Get();
507 url_list->Append(Value::CreateStringValue(example_url1_));
508 url_list->Append(Value::CreateStringValue(example_url2_));
509 }
510
511 PreferenceValues cloud_data;
512 cloud_data[prefs::kHomePage] = Value::CreateStringValue(example_url1_);
513
514 AddPreferenceEntriesHelper helper(this, cloud_data);
515 ASSERT_TRUE(StartSyncService(helper.callback(), false));
516 ASSERT_TRUE(helper.success());
517
518 scoped_ptr<const Value> value(GetSyncedValue(prefs::kHomePage));
519 ASSERT_TRUE(value.get());
520 std::string string_value;
521 EXPECT_TRUE(value->GetAsString(&string_value));
522 EXPECT_EQ(example_url1_, string_value);
523 EXPECT_EQ(example_url1_, prefs_->GetString(prefs::kHomePage));
524
525 // Expect that the cloud data under the new migrated preference name sticks.
526 scoped_ptr<ListValue> expected_urls(new ListValue);
527 expected_urls->Append(Value::CreateStringValue(example_url1_));
528 expected_urls->Append(Value::CreateStringValue(example_url2_));
529
530 value.reset(GetSyncedValue(prefs::kURLsToRestoreOnStartup));
531 ASSERT_TRUE(value.get());
532 EXPECT_TRUE(value->Equals(expected_urls.get()));
533 EXPECT_TRUE(GetPreferenceValue(prefs::kURLsToRestoreOnStartup).
534 Equals(expected_urls.get()));
535
536 // Should not have synced in the old startup url values.
537 value.reset(GetSyncedValue(prefs::kURLsToRestoreOnStartupOld));
538 ASSERT_FALSE(value.get());
539 EXPECT_FALSE(GetPreferenceValue(prefs::kURLsToRestoreOnStartupOld).
540 Equals(expected_urls.get()));
541 }
542
405 TEST_F(ProfileSyncServicePreferenceTest, FailModelAssociation) { 543 TEST_F(ProfileSyncServicePreferenceTest, FailModelAssociation) {
406 ASSERT_TRUE(StartSyncService(base::Closure(), true)); 544 ASSERT_TRUE(StartSyncService(base::Closure(), true));
407 EXPECT_TRUE(sync_service_->HasUnrecoverableError()); 545 EXPECT_TRUE(sync_service_->HasUnrecoverableError());
408 } 546 }
409 547
410 TEST_F(ProfileSyncServicePreferenceTest, UpdatedPreferenceWithDefaultValue) { 548 TEST_F(ProfileSyncServicePreferenceTest, UpdatedPreferenceWithDefaultValue) {
411 const PrefService::Preference* pref = 549 const PrefService::Preference* pref =
412 prefs_->FindPreference(prefs::kHomePage); 550 prefs_->FindPreference(prefs::kHomePage);
413 EXPECT_TRUE(pref->IsDefaultValue()); 551 EXPECT_TRUE(pref->IsDefaultValue());
414 552
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 EXPECT_FALSE(pref->IsDefaultValue()); 822 EXPECT_FALSE(pref->IsDefaultValue());
685 // There should be no synced value. 823 // There should be no synced value.
686 EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL); 824 EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL);
687 // Switch kHomePage back to unmanaged. 825 // Switch kHomePage back to unmanaged.
688 profile_->GetTestingPrefService()->RemoveManagedPref(prefs::kHomePage); 826 profile_->GetTestingPrefService()->RemoveManagedPref(prefs::kHomePage);
689 // The original value should be picked up. 827 // The original value should be picked up.
690 EXPECT_TRUE(pref->IsDefaultValue()); 828 EXPECT_TRUE(pref->IsDefaultValue());
691 // There should still be no synced value. 829 // There should still be no synced value.
692 EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL); 830 EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL);
693 } 831 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698