| Index: chrome/browser/extensions/extension_updater_unittest.cc
|
| ===================================================================
|
| --- chrome/browser/extensions/extension_updater_unittest.cc (revision 77169)
|
| +++ chrome/browser/extensions/extension_updater_unittest.cc (working copy)
|
| @@ -312,6 +312,11 @@
|
| }
|
|
|
| static void TestExtensionUpdateCheckRequests(bool pending) {
|
| + MessageLoop message_loop;
|
| + BrowserThread file_thread(BrowserThread::FILE, &message_loop);
|
| + BrowserThread io_thread(BrowserThread::IO);
|
| + io_thread.Start();
|
| +
|
| // Create an extension with an update_url.
|
| ServiceForManifestTests service;
|
| std::string update_url("http://foo.com/bar");
|
| @@ -326,11 +331,7 @@
|
| service.set_extensions(extensions);
|
| }
|
|
|
| - // Setup and start the updater.
|
| - MessageLoop message_loop;
|
| - BrowserThread io_thread(BrowserThread::IO);
|
| - io_thread.Start();
|
| -
|
| + // Set up and start the updater.
|
| TestURLFetcherFactory factory;
|
| URLFetcher::set_factory(&factory);
|
| scoped_refptr<ExtensionUpdater> updater(
|
| @@ -490,13 +491,15 @@
|
| }
|
|
|
| static void TestDetermineUpdates() {
|
| + MessageLoop message_loop;
|
| + BrowserThread file_thread(BrowserThread::FILE, &message_loop);
|
| +
|
| // Create a set of test extensions
|
| ServiceForManifestTests service;
|
| ExtensionList tmp;
|
| service.CreateTestExtensions(1, 3, &tmp, NULL, Extension::INTERNAL);
|
| service.set_extensions(tmp);
|
|
|
| - MessageLoop message_loop;
|
| scoped_refptr<ExtensionUpdater> updater(
|
| new ExtensionUpdater(&service, service.pref_service(),
|
| kUpdateFrequencySecs));
|
| @@ -572,9 +575,9 @@
|
| TestURLFetcherFactory factory;
|
| TestURLFetcher* fetcher = NULL;
|
| URLFetcher::set_factory(&factory);
|
| - ServiceForDownloadTests service;
|
| + scoped_ptr<ServiceForDownloadTests> service(new ServiceForDownloadTests);
|
| scoped_refptr<ExtensionUpdater> updater(
|
| - new ExtensionUpdater(&service, service.pref_service(),
|
| + new ExtensionUpdater(service.get(), service->pref_service(),
|
| kUpdateFrequencySecs));
|
| updater->Start();
|
|
|
| @@ -623,8 +626,13 @@
|
| file_thread.Stop();
|
| io_thread.Stop();
|
| ui_loop.RunAllPending();
|
| - EXPECT_EQ("12345", service.last_inquired_extension_id());
|
| + EXPECT_EQ("12345", service->last_inquired_extension_id());
|
| xmlCleanupGlobals();
|
| +
|
| + // The FILE thread is needed for |service|'s cleanup,
|
| + // because of ImportantFileWriter.
|
| + file_thread.Start();
|
| + service.reset();
|
| }
|
|
|
| static void TestSingleExtensionDownloading(bool pending) {
|
| @@ -638,9 +646,9 @@
|
| TestURLFetcherFactory factory;
|
| TestURLFetcher* fetcher = NULL;
|
| URLFetcher::set_factory(&factory);
|
| - ServiceForDownloadTests service;
|
| + scoped_ptr<ServiceForDownloadTests> service(new ServiceForDownloadTests);
|
| scoped_refptr<ExtensionUpdater> updater(
|
| - new ExtensionUpdater(&service, service.pref_service(),
|
| + new ExtensionUpdater(service.get(), service->pref_service(),
|
| kUpdateFrequencySecs));
|
| updater->Start();
|
|
|
| @@ -662,7 +670,7 @@
|
| PendingExtensionInfo(test_url, &ShouldAlwaysInstall, kIsFromSync,
|
| kInstallSilently, kInitialState,
|
| kInitialIncognitoEnabled, Extension::INTERNAL);
|
| - service.set_pending_extensions(pending_extensions);
|
| + service->set_pending_extensions(pending_extensions);
|
| }
|
|
|
| // Call back the ExtensionUpdater with a 200 response and some test data
|
| @@ -679,14 +687,19 @@
|
|
|
| // Expect that ExtensionUpdater asked the mock extensions service to install
|
| // a file with the test data for the right id.
|
| - EXPECT_EQ(id, service.extension_id());
|
| - FilePath tmpfile_path = service.install_path();
|
| + EXPECT_EQ(id, service->extension_id());
|
| + FilePath tmpfile_path = service->install_path();
|
| EXPECT_FALSE(tmpfile_path.empty());
|
| - EXPECT_EQ(test_url, service.download_url());
|
| + EXPECT_EQ(test_url, service->download_url());
|
| std::string file_contents;
|
| EXPECT_TRUE(file_util::ReadFileToString(tmpfile_path, &file_contents));
|
| EXPECT_TRUE(extension_data == file_contents);
|
|
|
| + // The FILE thread is needed for |service|'s cleanup,
|
| + // because of ImportantFileWriter.
|
| + file_thread.Start();
|
| + service.reset();
|
| +
|
| file_util::Delete(tmpfile_path, false);
|
| URLFetcher::set_factory(NULL);
|
| }
|
| @@ -694,6 +707,7 @@
|
| static void TestBlacklistDownloading() {
|
| MessageLoop message_loop;
|
| BrowserThread ui_thread(BrowserThread::UI, &message_loop);
|
| + BrowserThread file_thread(BrowserThread::FILE, &message_loop);
|
| BrowserThread io_thread(BrowserThread::IO);
|
| io_thread.Start();
|
|
|
| @@ -808,6 +822,9 @@
|
| }
|
|
|
| static void TestGalleryRequests(int ping_days) {
|
| + MessageLoop message_loop;
|
| + BrowserThread file_thread(BrowserThread::FILE, &message_loop);
|
| +
|
| TestURLFetcherFactory factory;
|
| URLFetcher::set_factory(&factory);
|
|
|
| @@ -834,7 +851,6 @@
|
| service.extension_prefs()->SetLastPingDay(tmp[0]->id(), last_ping_day);
|
| }
|
|
|
| - MessageLoop message_loop;
|
| scoped_refptr<ExtensionUpdater> updater(
|
| new ExtensionUpdater(&service, service.pref_service(),
|
| kUpdateFrequencySecs));
|
| @@ -936,6 +952,9 @@
|
| }
|
|
|
| TEST(ExtensionUpdaterTest, TestUpdateUrlData) {
|
| + MessageLoop message_loop;
|
| + BrowserThread file_thread(BrowserThread::FILE, &message_loop);
|
| +
|
| ExtensionUpdaterTest::TestUpdateUrlDataEmpty();
|
| ExtensionUpdaterTest::TestUpdateUrlDataSimple();
|
| ExtensionUpdaterTest::TestUpdateUrlDataCompound();
|
| @@ -986,6 +1005,9 @@
|
| }
|
|
|
| TEST(ExtensionUpdaterTest, TestManifestFetchesBuilderAddExtension) {
|
| + MessageLoop message_loop;
|
| + BrowserThread file_thread(BrowserThread::FILE, &message_loop);
|
| +
|
| MockService service;
|
| ManifestFetchesBuilder builder(&service);
|
|
|
| @@ -1033,6 +1055,8 @@
|
|
|
| TEST(ExtensionUpdaterTest, TestStartUpdateCheckMemory) {
|
| MessageLoop message_loop;
|
| + BrowserThread file_thread(BrowserThread::FILE, &message_loop);
|
| +
|
| ServiceForManifestTests service;
|
| TestURLFetcherFactory factory;
|
| URLFetcher::set_factory(&factory);
|
| @@ -1052,6 +1076,8 @@
|
|
|
| TEST(ExtensionUpdaterTest, TestAfterStopBehavior) {
|
| MessageLoop message_loop;
|
| + BrowserThread file_thread(BrowserThread::FILE, &message_loop);
|
| +
|
| ServiceForManifestTests service;
|
| scoped_refptr<ExtensionUpdater> updater(
|
| new ExtensionUpdater(&service, service.pref_service(),
|
|
|