Index: chrome/browser/importer/firefox_importer_browsertest.cc |
diff --git a/chrome/browser/importer/firefox_importer_browsertest.cc b/chrome/browser/importer/firefox_importer_browsertest.cc |
index 91fe71beb51102f8368b8373e3b3d267f51d7f6e..f9f83c911460476990739374455d61b2c3220290 100644 |
--- a/chrome/browser/importer/firefox_importer_browsertest.cc |
+++ b/chrome/browser/importer/firefox_importer_browsertest.cc |
@@ -46,10 +46,15 @@ struct PasswordInfo { |
}; |
struct KeywordInfo { |
- const wchar_t* keyword; |
- const char* url; |
+ KeywordInfo(std::string keyword, std::string url) |
Peter Kasting
2014/08/12 18:16:45
Nit: Const refs
Nikhil
2014/08/13 05:52:41
Done.
|
+ : keyword(keyword), url(url) {} |
+ KeywordInfo() {} |
Peter Kasting
2014/08/12 18:16:45
Nit: Is this constructor necessary? Maybe for the
Nikhil
2014/08/13 05:52:41
Done.
|
+ std::string keyword; |
+ std::string url; |
}; |
+std::vector<KeywordInfo> search_list; |
+ |
const BookmarkInfo kFirefoxBookmarks[] = { |
{true, 1, {"Bookmarks Toolbar"}, |
L"Toolbar", |
@@ -66,34 +71,6 @@ const PasswordInfo kFirefoxPasswords[] = { |
"", "http", "", "Http1+1abcdefg", false}, |
}; |
-const KeywordInfo kFirefoxKeywords[] = { |
- { L"amazon.com", |
- "http://www.amazon.com/exec/obidos/external-search/?field-keywords=" |
- "{searchTerms}&mode=blended" }, |
- { L"answers.com", |
- "http://www.answers.com/main/ntquery?s={searchTerms}&gwp=13" }, |
- { L"search.creativecommons.org", |
- "http://search.creativecommons.org/?q={searchTerms}" }, |
- { L"search.ebay.com", |
- "http://search.ebay.com/search/search.dll?query={searchTerms}&" |
- "MfcISAPICommand=GetResult&ht=1&ebaytag1=ebayreg&srchdesc=n&" |
- "maxRecordsReturned=300&maxRecordsPerPage=50&SortProperty=MetaEndSort" }, |
- { L"google.com", |
- "http://www.google.com/search?q={searchTerms}&ie=utf-8&oe=utf-8&aq=t" }, |
- { L"en.wikipedia.org", |
- "http://en.wikipedia.org/wiki/Special:Search?search={searchTerms}" }, |
- { L"search.yahoo.com", |
- "http://search.yahoo.com/search?p={searchTerms}&ei=UTF-8" }, |
- { L"flickr.com", |
- "http://www.flickr.com/photos/tags/?q={searchTerms}" }, |
- { L"imdb.com", |
- "http://www.imdb.com/find?q={searchTerms}" }, |
- { L"webster.com", |
- "http://www.webster.com/cgi-bin/dictionary?va={searchTerms}" }, |
- // Search keywords. |
- { L"\x4E2D\x6587", "http://www.google.com/" }, |
-}; |
- |
class FirefoxObserver : public ProfileWriter, |
public importer::ImporterProgressObserver { |
public: |
@@ -101,8 +78,7 @@ class FirefoxObserver : public ProfileWriter, |
: ProfileWriter(NULL), |
bookmark_count_(0), |
history_count_(0), |
- password_count_(0), |
- keyword_count_(0) {} |
+ password_count_(0) {} |
// importer::ImporterProgressObserver: |
virtual void ImportStarted() OVERRIDE {} |
@@ -113,7 +89,6 @@ class FirefoxObserver : public ProfileWriter, |
EXPECT_EQ(arraysize(kFirefoxBookmarks), bookmark_count_); |
EXPECT_EQ(1U, history_count_); |
EXPECT_EQ(arraysize(kFirefoxPasswords), password_count_); |
- EXPECT_EQ(arraysize(kFirefoxKeywords), keyword_count_); |
} |
virtual bool BookmarkModelIsLoaded() const OVERRIDE { |
@@ -168,20 +143,11 @@ class FirefoxObserver : public ProfileWriter, |
virtual void AddKeywords(ScopedVector<TemplateURL> template_urls, |
Peter Kasting
2014/08/12 18:16:45
Nit: While here: Make this a const ref (requires c
Peter Kasting
2014/08/12 18:23:06
Wait, don't do that. This is trying to pass owner
Nikhil
2014/08/13 05:52:41
Acknowledged.
|
bool unique_on_host_and_path) OVERRIDE { |
- for (size_t i = 0; i < template_urls.size(); ++i) { |
- // The order might not be deterministic, look in the expected list for |
- // that template URL. |
- bool found = false; |
- const base::string16& keyword = template_urls[i]->keyword(); |
- for (size_t j = 0; j < arraysize(kFirefoxKeywords); ++j) { |
- if (keyword == base::WideToUTF16(kFirefoxKeywords[j].keyword)) { |
- EXPECT_EQ(kFirefoxKeywords[j].url, template_urls[i]->url()); |
- found = true; |
- break; |
- } |
- } |
- EXPECT_TRUE(found); |
- ++keyword_count_; |
+ for (ScopedVector<TemplateURL>::const_iterator i = template_urls.begin(); |
+ i != template_urls.end(); |
+ ++i) { |
+ search_list.push_back( |
+ KeywordInfo(base::UTF16ToUTF8((*i)->keyword()), (*i)->url())); |
} |
} |
@@ -195,7 +161,6 @@ class FirefoxObserver : public ProfileWriter, |
size_t bookmark_count_; |
size_t history_count_; |
size_t password_count_; |
- size_t keyword_count_; |
}; |
} // namespace |
@@ -219,6 +184,29 @@ class FirefoxProfileImporterBrowserTest : public InProcessBrowserTest { |
InProcessBrowserTest::SetUp(); |
} |
+ void VerifyImportedSearchEngines(std::vector<KeywordInfo>& expected_data) { |
Peter Kasting
2014/08/12 18:16:45
Nit: const arg
Nikhil
2014/08/13 05:52:41
Done.
|
+ EXPECT_EQ(expected_data.size(), search_list.size()); |
Peter Kasting
2014/08/12 18:16:45
Nit: (expected, actual)
Nikhil
2014/08/13 05:52:41
Are you suggesting to change variable name for vec
Peter Kasting
2014/08/13 06:21:07
OK.
|
+ |
+ for (std::vector<KeywordInfo>::const_iterator i = expected_data.begin(); |
+ i != expected_data.end(); |
+ ++i) { |
+ // The order might not be deterministic, look in the expected list for |
+ // that template URL. |
+ bool found = false; |
+ const std::string& keyword = i->keyword; |
+ for (std::vector<KeywordInfo>::const_iterator j = search_list.begin(); |
+ j != search_list.end(); |
+ ++j) { |
+ if (keyword == j->keyword) { |
+ EXPECT_EQ(i->url, j->url); |
+ found = true; |
+ break; |
+ } |
+ } |
+ EXPECT_TRUE(found); |
+ } |
+ } |
+ |
void FirefoxImporterBrowserTest(std::string profile_dir, |
importer::ImporterProgressObserver* observer, |
ProfileWriter* writer) { |
@@ -278,19 +266,118 @@ class FirefoxProfileImporterBrowserTest : public InProcessBrowserTest { |
IN_PROC_BROWSER_TEST_F(FirefoxProfileImporterBrowserTest, |
MAYBE_IMPORTER(Firefox30Importer)) { |
scoped_refptr<FirefoxObserver> observer(new FirefoxObserver()); |
+ |
+ std::vector<KeywordInfo> expected_data; |
+ expected_data.push_back(KeywordInfo( |
+ "amazon.com", |
+ "http://www.amazon.com/exec/obidos/external-search/?field-keywords=" |
+ "{searchTerms}&mode=blended")); |
+ expected_data.push_back(KeywordInfo( |
+ "answers.com", |
+ "http://www.answers.com/main/ntquery?s={searchTerms}&gwp=13")); |
+ expected_data.push_back( |
+ KeywordInfo("search.creativecommons.org", |
+ "http://search.creativecommons.org/?q={searchTerms}")); |
+ expected_data.push_back(KeywordInfo( |
+ "search.ebay.com", |
+ "http://search.ebay.com/search/search.dll?query={searchTerms}&" |
+ "MfcISAPICommand=GetResult&ht=1&ebaytag1=ebayreg&srchdesc=n&" |
+ "maxRecordsReturned=300&maxRecordsPerPage=50&SortProperty=MetaEndSort")); |
+ expected_data.push_back(KeywordInfo( |
+ "google.com", |
+ "http://www.google.com/search?q={searchTerms}&ie=utf-8&oe=utf-8&aq=t")); |
+ expected_data.push_back(KeywordInfo( |
+ "en.wikipedia.org", |
+ "http://en.wikipedia.org/wiki/Special:Search?search={searchTerms}")); |
+ expected_data.push_back( |
+ KeywordInfo("search.yahoo.com", |
+ "http://search.yahoo.com/search?p={searchTerms}&ei=UTF-8")); |
+ expected_data.push_back(KeywordInfo( |
+ "flickr.com", "http://www.flickr.com/photos/tags/?q={searchTerms}")); |
+ expected_data.push_back( |
+ KeywordInfo("imdb.com", "http://www.imdb.com/find?q={searchTerms}")); |
+ expected_data.push_back(KeywordInfo( |
+ "webster.com", |
+ "http://www.webster.com/cgi-bin/dictionary?va={searchTerms}")); |
+ expected_data.push_back(KeywordInfo(base::WideToUTF8(L"\x4E2D\x6587").c_str(), |
+ "http://www.google.com/")); |
+ |
FirefoxImporterBrowserTest( |
"firefox3_profile", observer.get(), observer.get()); |
+ |
+ VerifyImportedSearchEngines(expected_data); |
} |
IN_PROC_BROWSER_TEST_F(FirefoxProfileImporterBrowserTest, |
MAYBE_IMPORTER(Firefox35Importer)) { |
scoped_refptr<FirefoxObserver> observer(new FirefoxObserver()); |
+ |
+ std::vector<KeywordInfo> expected_data; |
+ expected_data.push_back(KeywordInfo( |
+ "amazon.com", |
+ "http://www.amazon.com/exec/obidos/external-search/?field-keywords=" |
+ "{searchTerms}&mode=blended")); |
+ expected_data.push_back(KeywordInfo( |
+ "answers.com", |
+ "http://www.answers.com/main/ntquery?s={searchTerms}&gwp=13")); |
+ expected_data.push_back( |
+ KeywordInfo("search.creativecommons.org", |
+ "http://search.creativecommons.org/?q={searchTerms}")); |
+ expected_data.push_back(KeywordInfo( |
+ "search.ebay.com", |
+ "http://search.ebay.com/search/search.dll?query={searchTerms}&" |
+ "MfcISAPICommand=GetResult&ht=1&ebaytag1=ebayreg&srchdesc=n&" |
+ "maxRecordsReturned=300&maxRecordsPerPage=50&SortProperty=MetaEndSort")); |
+ expected_data.push_back(KeywordInfo( |
+ "google.com", |
+ "http://www.google.com/search?q={searchTerms}&ie=utf-8&oe=utf-8&aq=t")); |
+ expected_data.push_back(KeywordInfo( |
+ "en.wikipedia.org", |
+ "http://en.wikipedia.org/wiki/Special:Search?search={searchTerms}")); |
+ expected_data.push_back( |
+ KeywordInfo("search.yahoo.com", |
+ "http://search.yahoo.com/search?p={searchTerms}&ei=UTF-8")); |
+ expected_data.push_back(KeywordInfo( |
+ "flickr.com", "http://www.flickr.com/photos/tags/?q={searchTerms}")); |
+ expected_data.push_back( |
+ KeywordInfo("imdb.com", "http://www.imdb.com/find?q={searchTerms}")); |
+ expected_data.push_back(KeywordInfo( |
+ "webster.com", |
+ "http://www.webster.com/cgi-bin/dictionary?va={searchTerms}")); |
+ expected_data.push_back(KeywordInfo(base::WideToUTF8(L"\x4E2D\x6587").c_str(), |
+ "http://www.google.com/")); |
+ |
FirefoxImporterBrowserTest( |
"firefox35_profile", observer.get(), observer.get()); |
+ |
+ VerifyImportedSearchEngines(expected_data); |
} |
IN_PROC_BROWSER_TEST_F(FirefoxProfileImporterBrowserTest, |
MAYBE_IMPORTER(FirefoxImporter)) { |
scoped_refptr<FirefoxObserver> observer(new FirefoxObserver()); |
+ |
+ // Expected data for search engine list and keywords. |
Peter Kasting
2014/08/12 18:16:45
Nit: These comments don't seem very necessary (and
Nikhil
2014/08/13 05:52:41
Done.
|
+ std::vector<KeywordInfo> expected_data; |
+ expected_data.push_back( |
+ KeywordInfo("amazon.com", |
+ "http://www.amazon.com/exec/obidos/external-search/" |
+ "?field-keywords={searchTerms}&mode=blended")); |
+ expected_data.push_back(KeywordInfo( |
+ "google.com", |
+ "http://www.google.com/search?q={searchTerms}&ie=utf-8&oe=utf-8&aq=t")); |
+ expected_data.push_back(KeywordInfo( |
+ "wiki", |
+ "http://en.wikipedia.org/wiki/Special:Search?search={searchTerms}")); |
+ expected_data.push_back(KeywordInfo( |
+ "webster.com", |
+ "http://www.webster.com/cgi-bin/dictionary?va={searchTerms}")); |
+ expected_data.push_back(KeywordInfo(base::WideToUTF8(L"\x4E2D\x6587").c_str(), |
+ "http://www.google.com/")); |
+ |
+ // Import search engines. |
FirefoxImporterBrowserTest("firefox_profile", observer.get(), observer.get()); |
+ |
+ // Verify imported search engine list and keywords. |
+ VerifyImportedSearchEngines(expected_data); |
} |