Index: chrome/browser/importer/safari_importer_unittest.mm |
diff --git a/chrome/browser/importer/safari_importer_unittest.mm b/chrome/browser/importer/safari_importer_unittest.mm |
index efd9714be9d9ed7b6c2dcaf294650e89a6ba7a4c..edd5c509367823f707b80c2b2f68649770e5115a 100644 |
--- a/chrome/browser/importer/safari_importer_unittest.mm |
+++ b/chrome/browser/importer/safari_importer_unittest.mm |
@@ -10,6 +10,7 @@ |
#include "base/file_util.h" |
#include "base/path_service.h" |
#include "base/scoped_temp_dir.h" |
+#include "base/string_util.h" |
#include "base/sys_string_conversions.h" |
#include "base/utf_string_conversions.h" |
#include "chrome/browser/history/history_types.h" |
@@ -76,39 +77,73 @@ TEST_F(SafariImporterTest, BookmarkImport) { |
const struct { |
bool in_toolbar; |
GURL url; |
- // If the path array for an element is entry set this to true. |
- bool path_is_empty; |
- // We ony support one level of nesting in paths, this makes testing a little |
- // easier. |
- std::wstring path; |
- std::wstring title; |
+ // We store the path with levels of nesting delimited by forward slashes. |
+ string16 path; |
+ string16 title; |
} kImportedBookmarksData[] = { |
- {true, GURL("http://www.apple.com/"), true, L"", L"Apple"}, |
- {true, GURL("http://www.yahoo.com/"), true, L"", L"Yahoo!"}, |
- {true, GURL("http://www.cnn.com/"), false, L"News", L"CNN"}, |
- {true, GURL("http://www.nytimes.com/"), false, L"News", |
- L"The New York Times"}, |
- {false, GURL("http://www.reddit.com/"), true, L"", |
- L"reddit.com: what's new online!"}, |
+ { |
+ true, |
+ GURL("http://www.apple.com/"), |
+ ASCIIToUTF16("Toolbar/"), |
+ ASCIIToUTF16("Apple") |
+ }, |
+ { |
+ true, |
+ GURL("http://www.yahoo.com/"), |
+ ASCIIToUTF16("Toolbar/"), |
+ ASCIIToUTF16("Yahoo!") |
+ }, |
+ { |
+ true, |
+ GURL("http://www.cnn.com/"), |
+ ASCIIToUTF16("Toolbar/News"), |
+ ASCIIToUTF16("CNN") |
+ }, |
+ { |
+ true, |
+ GURL("http://www.nytimes.com/"), |
+ ASCIIToUTF16("Toolbar/News"), |
+ ASCIIToUTF16("The New York Times") |
+ }, |
+ { |
+ false, |
+ GURL("http://www.reddit.com/"), |
+ ASCIIToUTF16(""), |
+ ASCIIToUTF16("reddit.com: what's new online!") |
+ }, |
+ { |
+ false, |
+ GURL(), |
+ ASCIIToUTF16(""), |
+ ASCIIToUTF16("Empty Folder") |
+ }, |
+ { |
+ false, |
+ GURL("http://www.webkit.org/blog/"), |
+ ASCIIToUTF16(""), |
+ ASCIIToUTF16("Surfin' Safari - The WebKit Blog") |
+ }, |
}; |
scoped_refptr<SafariImporter> importer(GetSafariImporter()); |
std::vector<ProfileWriter::BookmarkEntry> bookmarks; |
- importer->ParseBookmarks(&bookmarks); |
+ importer->ParseBookmarks(ASCIIToUTF16("Toolbar"), &bookmarks); |
size_t num_bookmarks = bookmarks.size(); |
- EXPECT_EQ(num_bookmarks, ARRAYSIZE_UNSAFE(kImportedBookmarksData)); |
+ ASSERT_EQ(ARRAYSIZE_UNSAFE(kImportedBookmarksData), num_bookmarks); |
for (size_t i = 0; i < num_bookmarks; ++i) { |
ProfileWriter::BookmarkEntry& entry = bookmarks[i]; |
- EXPECT_EQ(entry.in_toolbar, kImportedBookmarksData[i].in_toolbar); |
- EXPECT_EQ(entry.url, kImportedBookmarksData[i].url); |
- if (kImportedBookmarksData[i].path_is_empty) { |
- EXPECT_EQ(entry.path.size(), 0U); |
- } else { |
- EXPECT_EQ(entry.path.size(), 1U); |
- EXPECT_EQ(UTF16ToWideHack(entry.path[0]), kImportedBookmarksData[i].path); |
- EXPECT_EQ(UTF16ToWideHack(entry.title), kImportedBookmarksData[i].title); |
+ EXPECT_EQ(kImportedBookmarksData[i].in_toolbar, entry.in_toolbar); |
+ EXPECT_EQ(kImportedBookmarksData[i].url, entry.url); |
+ |
+ std::vector<string16> path; |
+ Tokenize(kImportedBookmarksData[i].path, ASCIIToUTF16("/"), &path); |
+ ASSERT_EQ(path.size(), entry.path.size()); |
+ for (size_t j = 0; j < path.size(); ++j) { |
+ EXPECT_EQ(path[j], entry.path[j]); |
} |
+ |
+ EXPECT_EQ(kImportedBookmarksData[i].title, entry.title); |
} |
} |