Index: components/search_engines/template_url_fetcher_unittest.cc |
diff --git a/chrome/browser/search_engines/template_url_fetcher_unittest.cc b/components/search_engines/template_url_fetcher_unittest.cc |
similarity index 72% |
rename from chrome/browser/search_engines/template_url_fetcher_unittest.cc |
rename to components/search_engines/template_url_fetcher_unittest.cc |
index 3a51253b9df1742534eea39d0b9d27065118ac25..7984764e1705d8d89f2c61e21aa7f07bfda14899 100644 |
--- a/chrome/browser/search_engines/template_url_fetcher_unittest.cc |
+++ b/components/search_engines/template_url_fetcher_unittest.cc |
@@ -14,6 +14,7 @@ |
#include "components/search_engines/template_url.h" |
#include "components/search_engines/template_url_fetcher.h" |
#include "components/search_engines/template_url_service.h" |
+#include "content/public/test/test_browser_thread_bundle.h" |
#include "net/test/embedded_test_server/embedded_test_server.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "url/gurl.h" |
@@ -47,7 +48,6 @@ class TemplateURLFetcherTest : public testing::Test { |
base::ScopedClosureRunner* callback_destruction_notifier, |
scoped_ptr<TemplateURL> template_url); |
- protected: |
// Schedules the download of the url. |
void StartDownload(const base::string16& keyword, |
const std::string& osdd_file_name, |
@@ -57,6 +57,18 @@ class TemplateURLFetcherTest : public testing::Test { |
// Waits for any downloads to finish. |
void WaitForDownloadToFinish(); |
+ TemplateURLServiceTestUtil* test_util() { return &test_util_; } |
+ TemplateURLFetcher* template_url_fetcher() { |
+ return template_url_fetcher_.get(); |
+ } |
+ const TemplateURL* last_callback_template_url() const { |
+ return last_callback_template_url_.get(); |
+ } |
+ int callbacks_destroyed() const { return callbacks_destroyed_; } |
+ int add_provider_called() const { return add_provider_called_; } |
+ |
+ private: |
+ content::TestBrowserThreadBundle thread_bundle_; // To set up BrowserThreads. |
TemplateURLServiceTestUtil test_util_; |
scoped_ptr<TemplateURLFetcher> template_url_fetcher_; |
net::test_server::EmbeddedTestServer test_server_; |
@@ -79,7 +91,8 @@ class TemplateURLFetcherTest : public testing::Test { |
}; |
TemplateURLFetcherTest::TemplateURLFetcherTest() |
- : callbacks_destroyed_(0), |
+ : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP), |
+ callbacks_destroyed_(0), |
add_provider_called_(0), |
waiting_for_download_(false) { |
base::FilePath src_dir; |
@@ -142,39 +155,39 @@ void TemplateURLFetcherTest::WaitForDownloadToFinish() { |
TEST_F(TemplateURLFetcherTest, BasicAutodetectedTest) { |
base::string16 keyword(ASCIIToUTF16("test")); |
- test_util_.ChangeModelToLoadState(); |
- ASSERT_FALSE(test_util_.model()->GetTemplateURLForKeyword(keyword)); |
+ test_util()->ChangeModelToLoadState(); |
+ ASSERT_FALSE(test_util()->model()->GetTemplateURLForKeyword(keyword)); |
std::string osdd_file_name("simple_open_search.xml"); |
StartDownload(keyword, osdd_file_name, |
TemplateURLFetcher::AUTODETECTED_PROVIDER, true); |
- ASSERT_EQ(0, add_provider_called_); |
- ASSERT_EQ(0, callbacks_destroyed_); |
+ ASSERT_EQ(0, add_provider_called()); |
+ ASSERT_EQ(0, callbacks_destroyed()); |
WaitForDownloadToFinish(); |
- ASSERT_EQ(0, add_provider_called_); |
- ASSERT_EQ(1, callbacks_destroyed_); |
+ ASSERT_EQ(0, add_provider_called()); |
+ ASSERT_EQ(1, callbacks_destroyed()); |
- const TemplateURL* t_url = test_util_.model()->GetTemplateURLForKeyword( |
+ const TemplateURL* t_url = test_util()->model()->GetTemplateURLForKeyword( |
keyword); |
ASSERT_TRUE(t_url); |
EXPECT_EQ(ASCIIToUTF16("http://example.com/%s/other_stuff"), |
t_url->url_ref().DisplayURL( |
- test_util_.model()->search_terms_data())); |
+ test_util()->model()->search_terms_data())); |
EXPECT_TRUE(t_url->safe_for_autoreplace()); |
} |
TEST_F(TemplateURLFetcherTest, DuplicatesThrownAway) { |
base::string16 keyword(ASCIIToUTF16("test")); |
- test_util_.ChangeModelToLoadState(); |
- ASSERT_FALSE(test_util_.model()->GetTemplateURLForKeyword(keyword)); |
+ test_util()->ChangeModelToLoadState(); |
+ ASSERT_FALSE(test_util()->model()->GetTemplateURLForKeyword(keyword)); |
std::string osdd_file_name("simple_open_search.xml"); |
StartDownload(keyword, osdd_file_name, |
TemplateURLFetcher::AUTODETECTED_PROVIDER, true); |
- ASSERT_EQ(0, add_provider_called_); |
- ASSERT_EQ(0, callbacks_destroyed_); |
+ ASSERT_EQ(0, add_provider_called()); |
+ ASSERT_EQ(0, callbacks_destroyed()); |
struct { |
std::string description; |
@@ -194,74 +207,74 @@ TEST_F(TemplateURLFetcherTest, DuplicatesThrownAway) { |
for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { |
StartDownload(test_cases[i].keyword, test_cases[i].osdd_file_name, |
test_cases[i].provider_type, false); |
- ASSERT_EQ(1, template_url_fetcher_->requests_count()) |
+ ASSERT_EQ(1, template_url_fetcher()->requests_count()) |
<< test_cases[i].description; |
- ASSERT_EQ(i + 1, static_cast<size_t>(callbacks_destroyed_)); |
+ ASSERT_EQ(i + 1, static_cast<size_t>(callbacks_destroyed())); |
} |
WaitForDownloadToFinish(); |
ASSERT_EQ(1 + ARRAYSIZE_UNSAFE(test_cases), |
- static_cast<size_t>(callbacks_destroyed_)); |
- ASSERT_EQ(0, add_provider_called_); |
+ static_cast<size_t>(callbacks_destroyed())); |
+ ASSERT_EQ(0, add_provider_called()); |
} |
TEST_F(TemplateURLFetcherTest, BasicExplicitTest) { |
base::string16 keyword(ASCIIToUTF16("test")); |
- test_util_.ChangeModelToLoadState(); |
- ASSERT_FALSE(test_util_.model()->GetTemplateURLForKeyword(keyword)); |
+ test_util()->ChangeModelToLoadState(); |
+ ASSERT_FALSE(test_util()->model()->GetTemplateURLForKeyword(keyword)); |
std::string osdd_file_name("simple_open_search.xml"); |
StartDownload(keyword, osdd_file_name, |
TemplateURLFetcher::EXPLICIT_PROVIDER, true); |
- ASSERT_EQ(0, add_provider_called_); |
- ASSERT_EQ(0, callbacks_destroyed_); |
+ ASSERT_EQ(0, add_provider_called()); |
+ ASSERT_EQ(0, callbacks_destroyed()); |
WaitForDownloadToFinish(); |
- ASSERT_EQ(1, add_provider_called_); |
- ASSERT_EQ(1, callbacks_destroyed_); |
+ ASSERT_EQ(1, add_provider_called()); |
+ ASSERT_EQ(1, callbacks_destroyed()); |
- ASSERT_TRUE(last_callback_template_url_.get()); |
+ ASSERT_TRUE(last_callback_template_url()); |
EXPECT_EQ(ASCIIToUTF16("http://example.com/%s/other_stuff"), |
- last_callback_template_url_->url_ref().DisplayURL( |
- test_util_.model()->search_terms_data())); |
+ last_callback_template_url()->url_ref().DisplayURL( |
+ test_util()->model()->search_terms_data())); |
EXPECT_EQ(ASCIIToUTF16("example.com"), |
- last_callback_template_url_->keyword()); |
- EXPECT_FALSE(last_callback_template_url_->safe_for_autoreplace()); |
+ last_callback_template_url()->keyword()); |
+ EXPECT_FALSE(last_callback_template_url()->safe_for_autoreplace()); |
} |
TEST_F(TemplateURLFetcherTest, AutodetectedBeforeLoadTest) { |
base::string16 keyword(ASCIIToUTF16("test")); |
- ASSERT_FALSE(test_util_.model()->GetTemplateURLForKeyword(keyword)); |
+ ASSERT_FALSE(test_util()->model()->GetTemplateURLForKeyword(keyword)); |
std::string osdd_file_name("simple_open_search.xml"); |
StartDownload(keyword, osdd_file_name, |
TemplateURLFetcher::AUTODETECTED_PROVIDER, true); |
- ASSERT_EQ(0, add_provider_called_); |
- ASSERT_EQ(1, callbacks_destroyed_); |
+ ASSERT_EQ(0, add_provider_called()); |
+ ASSERT_EQ(1, callbacks_destroyed()); |
} |
TEST_F(TemplateURLFetcherTest, ExplicitBeforeLoadTest) { |
base::string16 keyword(ASCIIToUTF16("test")); |
- ASSERT_FALSE(test_util_.model()->GetTemplateURLForKeyword(keyword)); |
+ ASSERT_FALSE(test_util()->model()->GetTemplateURLForKeyword(keyword)); |
std::string osdd_file_name("simple_open_search.xml"); |
StartDownload(keyword, osdd_file_name, |
TemplateURLFetcher::EXPLICIT_PROVIDER, true); |
- ASSERT_EQ(0, add_provider_called_); |
- ASSERT_EQ(0, callbacks_destroyed_); |
+ ASSERT_EQ(0, add_provider_called()); |
+ ASSERT_EQ(0, callbacks_destroyed()); |
WaitForDownloadToFinish(); |
- ASSERT_EQ(1, add_provider_called_); |
- ASSERT_EQ(1, callbacks_destroyed_); |
+ ASSERT_EQ(1, add_provider_called()); |
+ ASSERT_EQ(1, callbacks_destroyed()); |
- ASSERT_TRUE(last_callback_template_url_.get()); |
+ ASSERT_TRUE(last_callback_template_url()); |
EXPECT_EQ(ASCIIToUTF16("http://example.com/%s/other_stuff"), |
- last_callback_template_url_->url_ref().DisplayURL( |
- test_util_.model()->search_terms_data())); |
+ last_callback_template_url()->url_ref().DisplayURL( |
+ test_util()->model()->search_terms_data())); |
EXPECT_EQ(ASCIIToUTF16("example.com"), |
- last_callback_template_url_->keyword()); |
- EXPECT_FALSE(last_callback_template_url_->safe_for_autoreplace()); |
+ last_callback_template_url()->keyword()); |
+ EXPECT_FALSE(last_callback_template_url()->safe_for_autoreplace()); |
} |
TEST_F(TemplateURLFetcherTest, DuplicateKeywordsTest) { |
@@ -270,18 +283,18 @@ TEST_F(TemplateURLFetcherTest, DuplicateKeywordsTest) { |
data.short_name = keyword; |
data.SetKeyword(keyword); |
data.SetURL("http://example.com/"); |
- test_util_.model()->Add(new TemplateURL(data)); |
- test_util_.ChangeModelToLoadState(); |
+ test_util()->model()->Add(new TemplateURL(data)); |
+ test_util()->ChangeModelToLoadState(); |
- ASSERT_TRUE(test_util_.model()->GetTemplateURLForKeyword(keyword)); |
+ ASSERT_TRUE(test_util()->model()->GetTemplateURLForKeyword(keyword)); |
// This should bail because the keyword already exists. |
std::string osdd_file_name("simple_open_search.xml"); |
StartDownload(keyword, osdd_file_name, |
TemplateURLFetcher::AUTODETECTED_PROVIDER, true); |
- ASSERT_EQ(0, add_provider_called_); |
- ASSERT_EQ(1, callbacks_destroyed_); |
- ASSERT_FALSE(last_callback_template_url_.get()); |
+ ASSERT_EQ(0, add_provider_called()); |
+ ASSERT_EQ(1, callbacks_destroyed()); |
+ ASSERT_FALSE(last_callback_template_url()); |
} |
TEST_F(TemplateURLFetcherTest, DuplicateDownloadTest) { |
@@ -289,17 +302,17 @@ TEST_F(TemplateURLFetcherTest, DuplicateDownloadTest) { |
std::string osdd_file_name("simple_open_search.xml"); |
StartDownload(keyword, osdd_file_name, |
TemplateURLFetcher::EXPLICIT_PROVIDER, true); |
- ASSERT_EQ(0, add_provider_called_); |
- ASSERT_EQ(0, callbacks_destroyed_); |
+ ASSERT_EQ(0, add_provider_called()); |
+ ASSERT_EQ(0, callbacks_destroyed()); |
// This should bail because the keyword already has a pending download. |
StartDownload(keyword, osdd_file_name, |
TemplateURLFetcher::EXPLICIT_PROVIDER, true); |
- ASSERT_EQ(0, add_provider_called_); |
- ASSERT_EQ(1, callbacks_destroyed_); |
+ ASSERT_EQ(0, add_provider_called()); |
+ ASSERT_EQ(1, callbacks_destroyed()); |
WaitForDownloadToFinish(); |
- ASSERT_EQ(1, add_provider_called_); |
- ASSERT_EQ(2, callbacks_destroyed_); |
- ASSERT_TRUE(last_callback_template_url_.get()); |
+ ASSERT_EQ(1, add_provider_called()); |
+ ASSERT_EQ(2, callbacks_destroyed()); |
+ ASSERT_TRUE(last_callback_template_url()); |
} |