Chromium Code Reviews| Index: chrome/browser/extensions/extension_prefs_unittest.cc |
| diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc |
| index 5a51d732490810d43291d0ade358a9ebfacd9d49..b26c5141bb674e82e8c0b6ddf4cf9b70c0696b53 100644 |
| --- a/chrome/browser/extensions/extension_prefs_unittest.cc |
| +++ b/chrome/browser/extensions/extension_prefs_unittest.cc |
| @@ -10,6 +10,7 @@ |
| #include "base/stl_util.h" |
| #include "base/string_number_conversions.h" |
| #include "base/stringprintf.h" |
| +#include "base/threading/sequenced_worker_pool.h" |
| #include "base/values.h" |
| #include "chrome/browser/api/prefs/pref_change_registrar.h" |
| #include "chrome/browser/extensions/extension_pref_value_map.h" |
| @@ -53,9 +54,14 @@ static void AddPattern(URLPatternSet* extent, const std::string& pattern) { |
| ExtensionPrefsTest::ExtensionPrefsTest() |
| : ui_thread_(BrowserThread::UI, &message_loop_), |
| file_thread_(BrowserThread::FILE, &message_loop_) { |
| + blocking_pool_ = new base::SequencedWorkerPool(1, "ExtensionTestBlocking"); |
| + prefs_.reset(new TestExtensionPrefs(blocking_pool_)); |
|
akalin
2012/10/18 23:52:24
you can use message_loop_.message_loop_proxy() (se
zel
2012/10/19 01:20:32
Done.
zel
2012/10/19 01:20:32
Done.
zel
2012/10/19 01:20:32
Done.
|
| } |
| -ExtensionPrefsTest::~ExtensionPrefsTest() {} |
| +ExtensionPrefsTest::~ExtensionPrefsTest() { |
| + prefs_.reset(NULL); |
| + blocking_pool_->Shutdown(); |
| +} |
| void ExtensionPrefsTest::RegisterPreferences() {} |
| @@ -68,9 +74,11 @@ void ExtensionPrefsTest::TearDown() { |
| Verify(); |
| // Reset ExtensionPrefs, and re-verify. |
| - prefs_.RecreateExtensionPrefs(); |
| + prefs_->RecreateExtensionPrefs(); |
| RegisterPreferences(); |
| Verify(); |
| + prefs_->pref_service()->CommitPendingWrite(); |
| + blocking_pool_->FlushForTesting(); |
|
akalin
2012/10/18 23:52:24
can use message_loop_.RunAllPending() here
zel
2012/10/19 01:20:32
Done.
zel
2012/10/19 01:20:32
Done.
zel
2012/10/19 01:20:32
Done.
|
| } |
| // Tests the LastPingDay/SetLastPingDay functions. |
| @@ -81,7 +89,7 @@ class ExtensionPrefsLastPingDay : public ExtensionPrefsTest { |
| blacklist_time_(Time::Now() - TimeDelta::FromHours(2)) {} |
| virtual void Initialize() { |
| - extension_id_ = prefs_.AddExtensionAndReturnId("last_ping_day"); |
| + extension_id_ = prefs_->AddExtensionAndReturnId("last_ping_day"); |
| EXPECT_TRUE(prefs()->LastPingDay(extension_id_).is_null()); |
| prefs()->SetLastPingDay(extension_id_, extension_time_); |
| prefs()->SetBlacklistLastPingDay(blacklist_time_); |
| @@ -119,11 +127,11 @@ void AddGalleryPermission(chrome::MediaGalleryPrefId gallery, bool has_access, |
| class MediaGalleriesPermissions : public ExtensionPrefsTest { |
| public: |
| virtual void Initialize() { |
| - extension1_id_ = prefs_.AddExtensionAndReturnId("test1"); |
| - extension2_id_ = prefs_.AddExtensionAndReturnId("test2"); |
| - extension3_id_ = prefs_.AddExtensionAndReturnId("test3"); |
| + extension1_id_ = prefs_->AddExtensionAndReturnId("test1"); |
| + extension2_id_ = prefs_->AddExtensionAndReturnId("test2"); |
| + extension3_id_ = prefs_->AddExtensionAndReturnId("test3"); |
| // Id4 isn't used to ensure that an empty permission list is ok. |
| - extension4_id_ = prefs_.AddExtensionAndReturnId("test4"); |
| + extension4_id_ = prefs_->AddExtensionAndReturnId("test4"); |
| Verify(); |
| prefs()->SetMediaGalleryPermission(extension1_id_, 1, false); |
| @@ -203,9 +211,9 @@ TEST_F(MediaGalleriesPermissions, MediaGalleries) {} |
| class ExtensionPrefsToolbarOrder : public ExtensionPrefsTest { |
| public: |
| virtual void Initialize() { |
| - list_.push_back(prefs_.AddExtensionAndReturnId("1")); |
| - list_.push_back(prefs_.AddExtensionAndReturnId("2")); |
| - list_.push_back(prefs_.AddExtensionAndReturnId("3")); |
| + list_.push_back(prefs_->AddExtensionAndReturnId("1")); |
| + list_.push_back(prefs_->AddExtensionAndReturnId("2")); |
| + list_.push_back(prefs_->AddExtensionAndReturnId("3")); |
| std::vector<std::string> before_list = prefs()->GetToolbarOrder(); |
| EXPECT_TRUE(before_list.empty()); |
| prefs()->SetToolbarOrder(list_); |
| @@ -229,7 +237,7 @@ TEST_F(ExtensionPrefsToolbarOrder, ToolbarOrder) {} |
| class ExtensionPrefsExtensionState : public ExtensionPrefsTest { |
| public: |
| virtual void Initialize() { |
| - extension = prefs_.AddExtension("test"); |
| + extension = prefs_->AddExtension("test"); |
| prefs()->SetExtensionState(extension->id(), Extension::DISABLED); |
| } |
| @@ -246,7 +254,7 @@ TEST_F(ExtensionPrefsExtensionState, ExtensionState) {} |
| class ExtensionPrefsEscalatePermissions : public ExtensionPrefsTest { |
| public: |
| virtual void Initialize() { |
| - extension = prefs_.AddExtension("test"); |
| + extension = prefs_->AddExtension("test"); |
| prefs()->SetDidExtensionEscalatePermissions(extension.get(), true); |
| } |
| @@ -266,7 +274,7 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest { |
| const APIPermissionInfo* permission_info = |
| PermissionsInfo::GetInstance()->GetByID(APIPermission::kSocket); |
| - extension_id_ = prefs_.AddExtensionAndReturnId("test"); |
| + extension_id_ = prefs_->AddExtensionAndReturnId("test"); |
| api_perm_set1_.insert(APIPermission::kTab); |
| api_perm_set1_.insert(APIPermission::kBookmark); |
| @@ -414,7 +422,7 @@ TEST_F(ExtensionPrefsGrantedPermissions, GrantedPermissions) {} |
| class ExtensionPrefsActivePermissions : public ExtensionPrefsTest { |
| public: |
| virtual void Initialize() { |
| - extension_id_ = prefs_.AddExtensionAndReturnId("test"); |
| + extension_id_ = prefs_->AddExtensionAndReturnId("test"); |
| APIPermissionSet api_perms; |
| api_perms.insert(APIPermission::kTab); |
| @@ -462,7 +470,7 @@ TEST_F(ExtensionPrefsActivePermissions, SetAndGetActivePermissions) {} |
| class ExtensionPrefsVersionString : public ExtensionPrefsTest { |
| public: |
| virtual void Initialize() { |
| - extension = prefs_.AddExtension("test"); |
| + extension = prefs_->AddExtension("test"); |
| EXPECT_EQ("0.1", prefs()->GetVersionString(extension->id())); |
| prefs()->OnExtensionUninstalled(extension->id(), |
| Extension::INTERNAL, false); |
| @@ -486,7 +494,7 @@ class ExtensionPrefsBlacklist : public ExtensionPrefsTest { |
| // Install 5 extensions. |
| for (int i = 0; i < 5; i++) { |
| std::string name = "test" + base::IntToString(i); |
| - extensions_.push_back(prefs_.AddExtension(name)); |
| + extensions_.push_back(prefs_->AddExtension(name)); |
| } |
| EXPECT_EQ(NULL, prefs()->GetInstalledExtensionInfo(not_installed_id_)); |
| @@ -538,7 +546,7 @@ class ExtensionPrefsAcknowledgment : public ExtensionPrefsTest { |
| // Install some extensions. |
| for (int i = 0; i < 5; i++) { |
| std::string name = "test" + base::IntToString(i); |
| - extensions_.push_back(prefs_.AddExtension(name)); |
| + extensions_.push_back(prefs_->AddExtension(name)); |
| } |
| EXPECT_EQ(NULL, prefs()->GetInstalledExtensionInfo(not_installed_id_)); |
| @@ -613,7 +621,7 @@ class ExtensionPrefsHidingBrowserActions : public ExtensionPrefsTest { |
| // Install 5 extensions. |
| for (int i = 0; i < 5; i++) { |
| std::string name = "test" + base::IntToString(i); |
| - extensions_.push_back(prefs_.AddExtension(name)); |
| + extensions_.push_back(prefs_->AddExtension(name)); |
| } |
| ExtensionList::const_iterator iter; |
| @@ -670,10 +678,10 @@ class ExtensionPrefsIdleInstallInfo : public ExtensionPrefsTest { |
| virtual void Initialize() { |
| PathService::Get(chrome::DIR_TEST_DATA, &basedir_); |
| now_ = Time::Now(); |
| - id1_ = prefs_.AddExtensionAndReturnId("1"); |
| - id2_ = prefs_.AddExtensionAndReturnId("2"); |
| - id3_ = prefs_.AddExtensionAndReturnId("3"); |
| - id4_ = prefs_.AddExtensionAndReturnId("4"); |
| + id1_ = prefs_->AddExtensionAndReturnId("1"); |
| + id2_ = prefs_->AddExtensionAndReturnId("2"); |
| + id3_ = prefs_->AddExtensionAndReturnId("3"); |
| + id4_ = prefs_->AddExtensionAndReturnId("4"); |
| // Set info for two extensions, then remove it. |
| SetIdleInfo(id1_, 1); |
| @@ -737,7 +745,7 @@ TEST_F(ExtensionPrefsIdleInstallInfo, IdleInstallInfo) {} |
| class ExtensionPrefsOnExtensionInstalled : public ExtensionPrefsTest { |
| public: |
| virtual void Initialize() { |
| - extension_ = prefs_.AddExtension("on_extension_installed"); |
| + extension_ = prefs_->AddExtension("on_extension_installed"); |
| EXPECT_FALSE(prefs()->IsExtensionDisabled(extension_->id())); |
| prefs()->OnExtensionInstalled( |
| extension_.get(), Extension::DISABLED, |
| @@ -757,7 +765,7 @@ TEST_F(ExtensionPrefsOnExtensionInstalled, |
| class ExtensionPrefsAppDraggedByUser : public ExtensionPrefsTest { |
| public: |
| virtual void Initialize() { |
| - extension_ = prefs_.AddExtension("on_extension_installed"); |
| + extension_ = prefs_->AddExtension("on_extension_installed"); |
| EXPECT_FALSE(prefs()->WasAppDraggedByUser(extension_->id())); |
| prefs()->OnExtensionInstalled(extension_.get(), Extension::ENABLED, |
| syncer::StringOrdinal()); |
| @@ -785,7 +793,7 @@ class ExtensionPrefsFlags : public ExtensionPrefsTest { |
| base::DictionaryValue dictionary; |
| dictionary.SetString(extension_manifest_keys::kName, "from_webstore"); |
| dictionary.SetString(extension_manifest_keys::kVersion, "0.1"); |
| - webstore_extension_ = prefs_.AddExtensionWithManifestAndFlags( |
| + webstore_extension_ = prefs_->AddExtensionWithManifestAndFlags( |
| dictionary, Extension::INTERNAL, Extension::FROM_WEBSTORE); |
| } |
| @@ -793,7 +801,7 @@ class ExtensionPrefsFlags : public ExtensionPrefsTest { |
| base::DictionaryValue dictionary; |
| dictionary.SetString(extension_manifest_keys::kName, "from_bookmark"); |
| dictionary.SetString(extension_manifest_keys::kVersion, "0.1"); |
| - bookmark_extension_ = prefs_.AddExtensionWithManifestAndFlags( |
| + bookmark_extension_ = prefs_->AddExtensionWithManifestAndFlags( |
| dictionary, Extension::INTERNAL, Extension::FROM_BOOKMARK); |
| } |
| @@ -802,7 +810,7 @@ class ExtensionPrefsFlags : public ExtensionPrefsTest { |
| dictionary.SetString(extension_manifest_keys::kName, |
| "was_installed_by_default"); |
| dictionary.SetString(extension_manifest_keys::kVersion, "0.1"); |
| - default_extension_ = prefs_.AddExtensionWithManifestAndFlags( |
| + default_extension_ = prefs_->AddExtensionWithManifestAndFlags( |
| dictionary, |
| Extension::INTERNAL, |
| Extension::WAS_INSTALLED_BY_DEFAULT); |
| @@ -842,16 +850,16 @@ ExtensionPrefsPrepopulatedTest::ExtensionPrefsPrepopulatedTest() |
| simple_dict.SetString(keys::kName, "unused"); |
| ext1_scoped_ = Extension::Create( |
| - prefs_.temp_dir().AppendASCII("ext1_"), Extension::EXTERNAL_PREF, |
| + prefs_->temp_dir().AppendASCII("ext1_"), Extension::EXTERNAL_PREF, |
| simple_dict, Extension::NO_FLAGS, &error); |
| ext2_scoped_ = Extension::Create( |
| - prefs_.temp_dir().AppendASCII("ext2_"), Extension::EXTERNAL_PREF, |
| + prefs_->temp_dir().AppendASCII("ext2_"), Extension::EXTERNAL_PREF, |
| simple_dict, Extension::NO_FLAGS, &error); |
| ext3_scoped_ = Extension::Create( |
| - prefs_.temp_dir().AppendASCII("ext3_"), Extension::EXTERNAL_PREF, |
| + prefs_->temp_dir().AppendASCII("ext3_"), Extension::EXTERNAL_PREF, |
| simple_dict, Extension::NO_FLAGS, &error); |
| ext4_scoped_ = Extension::Create( |
| - prefs_.temp_dir().AppendASCII("ext4_"), Extension::EXTERNAL_PREF, |
| + prefs_->temp_dir().AppendASCII("ext4_"), Extension::EXTERNAL_PREF, |
| simple_dict, Extension::NO_FLAGS, &error); |
| ext1_ = ext1_scoped_.get(); |
| @@ -961,7 +969,7 @@ class ExtensionPrefsInstallIncognitoPersistent |
| InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| InstallExtControlledPrefIncognito(ext1_, kPref1, |
| Value::CreateStringValue("val2")); |
| - scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); |
| + scoped_ptr<PrefService> incog_prefs(prefs_->CreateIncognitoPrefService()); |
| std::string actual = incog_prefs->GetString(kPref1); |
| EXPECT_EQ("val2", actual); |
| } |
| @@ -970,7 +978,7 @@ class ExtensionPrefsInstallIncognitoPersistent |
| std::string actual = prefs()->pref_service()->GetString(kPref1); |
| EXPECT_EQ("val1", actual); |
| // Incognito pref service shall see incognito values. |
| - scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); |
| + scoped_ptr<PrefService> incog_prefs(prefs_->CreateIncognitoPrefService()); |
| actual = incog_prefs->GetString(kPref1); |
| EXPECT_EQ("val2", actual); |
| } |
| @@ -988,7 +996,7 @@ class ExtensionPrefsInstallIncognitoSessionOnly |
| InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| InstallExtControlledPrefIncognitoSessionOnly( |
| ext1_, kPref1, Value::CreateStringValue("val2")); |
| - scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); |
| + scoped_ptr<PrefService> incog_prefs(prefs_->CreateIncognitoPrefService()); |
| std::string actual = incog_prefs->GetString(kPref1); |
| EXPECT_EQ("val2", actual); |
| } |
| @@ -999,7 +1007,7 @@ class ExtensionPrefsInstallIncognitoSessionOnly |
| // Incognito pref service shall see session-only incognito values only |
| // during first run. Once the pref service was reloaded, all values shall be |
| // discarded. |
| - scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); |
| + scoped_ptr<PrefService> incog_prefs(prefs_->CreateIncognitoPrefService()); |
| actual = incog_prefs->GetString(kPref1); |
| if (iteration_ == 0) { |
| EXPECT_EQ("val2", actual); |
| @@ -1055,7 +1063,7 @@ class ExtensionPrefsNotifyWhenNeeded : public ExtensionPrefsPrepopulatedTest { |
| registrar.Add(kPref1, &observer); |
| content::MockNotificationObserver incognito_observer; |
| - scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); |
| + scoped_ptr<PrefService> incog_prefs(prefs_->CreateIncognitoPrefService()); |
| PrefChangeRegistrar incognito_registrar; |
| incognito_registrar.Init(incog_prefs.get()); |
| incognito_registrar.Add(kPref1, &incognito_observer); |
| @@ -1181,7 +1189,7 @@ class ExtensionPrefsSetExtensionControlledPref |
| EXPECT_CALL(*v2i, Die()).Times(1); |
| InstallExtControlledPref(ext1_, kPref1, v2); |
| InstallExtControlledPrefIncognito(ext1_, kPref1, v2i); |
| - prefs_.RecreateExtensionPrefs(); |
| + prefs_->RecreateExtensionPrefs(); |
| testing::Mock::VerifyAndClearExpectations(v1); |
| testing::Mock::VerifyAndClearExpectations(v1i); |
| testing::Mock::VerifyAndClearExpectations(v2); |
| @@ -1204,7 +1212,7 @@ class ExtensionPrefsDisableExtensions : public ExtensionPrefsPrepopulatedTest { |
| virtual void Initialize() { |
| InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| // This becomes only active in the second verification phase. |
| - prefs_.set_extensions_disabled(true); |
| + prefs_->set_extensions_disabled(true); |
| } |
| virtual void Verify() { |
| std::string actual = prefs()->pref_service()->GetString(kPref1); |