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

Unified Diff: chrome/utility/importer/bookmark_html_reader_unittest.cc

Issue 616763002: Importing certain bookmarks from firefox and HTML file as search engines. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed dependency issue. Created 5 years, 11 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 | « chrome/utility/importer/bookmark_html_reader.cc ('k') | chrome/utility/importer/bookmarks_file_importer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/utility/importer/bookmark_html_reader_unittest.cc
diff --git a/chrome/utility/importer/bookmark_html_reader_unittest.cc b/chrome/utility/importer/bookmark_html_reader_unittest.cc
index fd68f5470fafb05c2d629ca4c4c881baebb286f8..ac5fa86c488fdb4ee3ac042a3082099f91bcbbdc 100644
--- a/chrome/utility/importer/bookmark_html_reader_unittest.cc
+++ b/chrome/utility/importer/bookmark_html_reader_unittest.cc
@@ -137,6 +137,35 @@ TEST(BookmarkHTMLReaderTest, ParseTests) {
EXPECT_EQ("http://www.google.com/", url.spec());
}
+TEST(BookmarkHTMLReaderTest, CanImportURLAsSearchEngineTest) {
+ struct TestCase {
+ const std::string url;
+ const bool can_be_imported_as_search_engine;
+ } test_cases[] = {
+ { "http://www.example.%s.com", true },
+ { "http://www.example.%S.com", true },
+ { "http://www.example.%x.com", false },
+ { "http://www.example.com", false },
+ { "http://%s.example.com", true },
+ { "http://www.example.%s.test.%s.com", true },
+ { "http://www.test&test.%s.com", true },
+ { "http://www.example.com?q=%s&foo=bar", true },
+ { "http://www.example.com/%s/?q=%s&foo=bar", true },
+ { "http//google.com", false },
+ { "path", false },
+ { "http:/path/%s/", true },
+ { "path", false },
+ { "", false },
+ };
+
+ std::string search_engine_url;
+ for (size_t i = 0; i < arraysize(test_cases); ++i) {
+ EXPECT_EQ(test_cases[i].can_be_imported_as_search_engine,
+ CanImportURLAsSearchEngine(GURL(test_cases[i].url),
+ &search_engine_url));
+ }
+}
+
namespace {
class BookmarkHTMLReaderTestWithData : public testing::Test {
@@ -152,6 +181,10 @@ class BookmarkHTMLReaderTestWithData : public testing::Test {
void ExpectFirstFirefox23Bookmark(const ImportedBookmarkEntry& entry);
void ExpectSecondFirefox23Bookmark(const ImportedBookmarkEntry& entry);
void ExpectThirdFirefox23Bookmark(const ImportedBookmarkEntry& entry);
+ void ExpectFirstFirefoxBookmarkWithKeyword(
+ const importer::SearchEngineInfo& info);
+ void ExpectSecondFirefoxBookmarkWithKeyword(
+ const importer::SearchEngineInfo& info);
base::FilePath test_data_path_;
};
@@ -236,6 +269,20 @@ void BookmarkHTMLReaderTestWithData::ExpectThirdFirefox23Bookmark(
EXPECT_EQ("http://code.google.com/p/chromium/codesearch", entry.url.spec());
}
+void BookmarkHTMLReaderTestWithData::ExpectFirstFirefoxBookmarkWithKeyword(
+ const importer::SearchEngineInfo& info) {
+ EXPECT_EQ(ASCIIToUTF16("http://example.{searchTerms}.com/"), info.url);
+ EXPECT_EQ(ASCIIToUTF16("keyword"), info.keyword);
+ EXPECT_EQ(ASCIIToUTF16("Bookmark Keyword"), info.display_name);
+}
+
+void BookmarkHTMLReaderTestWithData::ExpectSecondFirefoxBookmarkWithKeyword(
+ const importer::SearchEngineInfo& info) {
+ EXPECT_EQ(ASCIIToUTF16("http://example.com/?q={searchTerms}"), info.url);
+ EXPECT_EQ(ASCIIToUTF16("keyword"), info.keyword);
+ EXPECT_EQ(ASCIIToUTF16("BookmarkName"), info.display_name);
+}
+
} // namespace
TEST_F(BookmarkHTMLReaderTestWithData, Firefox2BookmarkFileImport) {
@@ -244,7 +291,7 @@ TEST_F(BookmarkHTMLReaderTestWithData, Firefox2BookmarkFileImport) {
std::vector<ImportedBookmarkEntry> bookmarks;
ImportBookmarksFile(base::Callback<bool(void)>(),
base::Callback<bool(const GURL&)>(),
- path, &bookmarks, NULL);
+ path, &bookmarks, NULL, NULL);
ASSERT_EQ(3U, bookmarks.size());
ExpectFirstFirefox2Bookmark(bookmarks[0]);
@@ -258,7 +305,7 @@ TEST_F(BookmarkHTMLReaderTestWithData, BookmarkFileWithHrTagImport) {
std::vector<ImportedBookmarkEntry> bookmarks;
ImportBookmarksFile(base::Callback<bool(void)>(),
base::Callback<bool(const GURL&)>(),
- path, &bookmarks, NULL);
+ path, &bookmarks, NULL, NULL);
ASSERT_EQ(3U, bookmarks.size());
ExpectFirstFirefox23Bookmark(bookmarks[0]);
@@ -272,13 +319,27 @@ TEST_F(BookmarkHTMLReaderTestWithData, EpiphanyBookmarkFileImport) {
std::vector<ImportedBookmarkEntry> bookmarks;
ImportBookmarksFile(base::Callback<bool(void)>(),
base::Callback<bool(const GURL&)>(),
- path, &bookmarks, NULL);
+ path, &bookmarks, NULL, NULL);
ASSERT_EQ(2U, bookmarks.size());
ExpectFirstEpiphanyBookmark(bookmarks[0]);
ExpectSecondEpiphanyBookmark(bookmarks[1]);
}
+TEST_F(BookmarkHTMLReaderTestWithData, FirefoxBookmarkFileWithKeywordImport) {
+ base::FilePath path = test_data_path_.AppendASCII(
+ "firefox_bookmark_keyword.html");
+
+ std::vector<importer::SearchEngineInfo> search_engines;
+ ImportBookmarksFile(base::Callback<bool(void)>(),
+ base::Callback<bool(const GURL&)>(),
+ path, NULL, &search_engines, NULL);
+
+ ASSERT_EQ(2U, search_engines.size());
+ ExpectFirstFirefoxBookmarkWithKeyword(search_engines[0]);
+ ExpectSecondFirefoxBookmarkWithKeyword(search_engines[1]);
+}
+
namespace {
class CancelAfterFifteenCalls {
@@ -301,7 +362,7 @@ TEST_F(BookmarkHTMLReaderTestWithData, CancellationCallback) {
ImportBookmarksFile(base::Bind(&CancelAfterFifteenCalls::ShouldCancel,
base::Unretained(&cancel_fifteen)),
base::Callback<bool(const GURL&)>(),
- path, &bookmarks, NULL);
+ path, &bookmarks, NULL, NULL);
// The cancellation callback is checked before each line is read, so fifteen
// lines are imported. The first fifteen lines of firefox2.html include only
@@ -326,7 +387,7 @@ TEST_F(BookmarkHTMLReaderTestWithData, ValidURLCallback) {
std::vector<ImportedBookmarkEntry> bookmarks;
ImportBookmarksFile(base::Callback<bool(void)>(),
base::Bind(&IsURLValid),
- path, &bookmarks, NULL);
+ path, &bookmarks, NULL, NULL);
ASSERT_EQ(2U, bookmarks.size());
ExpectFirstFirefox2Bookmark(bookmarks[0]);
« no previous file with comments | « chrome/utility/importer/bookmark_html_reader.cc ('k') | chrome/utility/importer/bookmarks_file_importer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698