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

Unified Diff: chrome/browser/importer/firefox_importer_browsertest.cc

Issue 426653002: Import keywords for search engines imported from Firefox (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review feedback (modified test cases - both new and old) Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/test/data/firefox_profile/search.json » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
}
« no previous file with comments | « no previous file | chrome/test/data/firefox_profile/search.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698