OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "testing/gtest/include/gtest/gtest.h" | 5 #include "testing/gtest/include/gtest/gtest.h" |
6 | 6 |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
10 #include "base/string16.h" | 10 #include "base/string16.h" |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 // F2 | 164 // F2 |
165 // url2 | 165 // url2 |
166 // url3 | 166 // url3 |
167 // url4 | 167 // url4 |
168 // Other | 168 // Other |
169 // url1 | 169 // url1 |
170 // url2 | 170 // url2 |
171 // F3 | 171 // F3 |
172 // F4 | 172 // F4 |
173 // url1 | 173 // url1 |
| 174 // Synced |
| 175 // url1 |
174 string16 f1_title = ASCIIToUTF16("F\"&;<1\""); | 176 string16 f1_title = ASCIIToUTF16("F\"&;<1\""); |
175 string16 f2_title = ASCIIToUTF16("F2"); | 177 string16 f2_title = ASCIIToUTF16("F2"); |
176 string16 f3_title = ASCIIToUTF16("F 3"); | 178 string16 f3_title = ASCIIToUTF16("F 3"); |
177 string16 f4_title = ASCIIToUTF16("F4"); | 179 string16 f4_title = ASCIIToUTF16("F4"); |
178 string16 url1_title = ASCIIToUTF16("url 1"); | 180 string16 url1_title = ASCIIToUTF16("url 1"); |
179 string16 url2_title = ASCIIToUTF16("url&2"); | 181 string16 url2_title = ASCIIToUTF16("url&2"); |
180 string16 url3_title = ASCIIToUTF16("url\"3"); | 182 string16 url3_title = ASCIIToUTF16("url\"3"); |
181 string16 url4_title = ASCIIToUTF16("url\"&;"); | 183 string16 url4_title = ASCIIToUTF16("url\"&;"); |
182 GURL url1("http://url1"); | 184 GURL url1("http://url1"); |
183 GURL url1_favicon("http://url1/icon.ico"); | 185 GURL url1_favicon("http://url1/icon.ico"); |
(...skipping 17 matching lines...) Expand all Loading... |
201 model->AddURLWithCreationTime(model->GetBookmarkBarNode(), | 203 model->AddURLWithCreationTime(model->GetBookmarkBarNode(), |
202 1, url3_title, url3, t3); | 204 1, url3_title, url3, t3); |
203 | 205 |
204 model->AddURLWithCreationTime(model->other_node(), 0, url1_title, url1, t1); | 206 model->AddURLWithCreationTime(model->other_node(), 0, url1_title, url1, t1); |
205 model->AddURLWithCreationTime(model->other_node(), 1, url2_title, url2, t2); | 207 model->AddURLWithCreationTime(model->other_node(), 1, url2_title, url2, t2); |
206 const BookmarkNode* f3 = model->AddFolder(model->other_node(), 2, f3_title); | 208 const BookmarkNode* f3 = model->AddFolder(model->other_node(), 2, f3_title); |
207 const BookmarkNode* f4 = model->AddFolder(f3, 0, f4_title); | 209 const BookmarkNode* f4 = model->AddFolder(f3, 0, f4_title); |
208 model->AddURLWithCreationTime(f4, 0, url1_title, url1, t1); | 210 model->AddURLWithCreationTime(f4, 0, url1_title, url1, t1); |
209 model->AddURLWithCreationTime(model->GetBookmarkBarNode(), 2, url4_title, | 211 model->AddURLWithCreationTime(model->GetBookmarkBarNode(), 2, url4_title, |
210 url4, t4); | 212 url4, t4); |
| 213 model->AddURLWithCreationTime(model->synced_node(), 0, url1_title, url1, t1); |
211 | 214 |
212 // Write to a temp file. | 215 // Write to a temp file. |
213 BookmarksObserver observer(&message_loop); | 216 BookmarksObserver observer(&message_loop); |
214 bookmark_html_writer::WriteBookmarks(&profile, path_, &observer); | 217 bookmark_html_writer::WriteBookmarks(&profile, path_, &observer); |
215 message_loop.Run(); | 218 message_loop.Run(); |
216 | 219 |
217 // Clear favicon so that it would be read from file. | 220 // Clear favicon so that it would be read from file. |
218 std::vector<unsigned char> empty_data; | 221 std::vector<unsigned char> empty_data; |
219 profile.GetFaviconService(Profile::EXPLICIT_ACCESS)->SetFavicon(url1, | 222 profile.GetFaviconService(Profile::EXPLICIT_ACCESS)->SetFavicon(url1, |
220 url1_favicon, empty_data, history::FAVICON); | 223 url1_favicon, empty_data, history::FAVICON); |
221 message_loop.RunAllPending(); | 224 message_loop.RunAllPending(); |
222 | 225 |
223 // Read the bookmarks back in. | 226 // Read the bookmarks back in. |
224 std::vector<ProfileWriter::BookmarkEntry> parsed_bookmarks; | 227 std::vector<ProfileWriter::BookmarkEntry> parsed_bookmarks; |
225 std::vector<history::ImportedFaviconUsage> favicons; | 228 std::vector<history::ImportedFaviconUsage> favicons; |
226 Firefox2Importer::ImportBookmarksFile(path_, | 229 Firefox2Importer::ImportBookmarksFile(path_, |
227 std::set<GURL>(), | 230 std::set<GURL>(), |
228 false, | 231 false, |
229 ASCIIToUTF16("x"), | 232 ASCIIToUTF16("x"), |
230 NULL, | 233 NULL, |
231 &parsed_bookmarks, | 234 &parsed_bookmarks, |
232 NULL, | 235 NULL, |
233 &favicons); | 236 &favicons); |
234 | 237 |
235 // Check loaded favicon (url1 is represents by 3 separate bookmarks). | 238 // Check loaded favicon (url1 is represented by 4 separate bookmarks). |
236 EXPECT_EQ(3U, favicons.size()); | 239 EXPECT_EQ(4U, favicons.size()); |
237 for (size_t i = 0; i < favicons.size(); i++) { | 240 for (size_t i = 0; i < favicons.size(); i++) { |
238 if (url1_favicon == favicons[i].favicon_url) { | 241 if (url1_favicon == favicons[i].favicon_url) { |
239 EXPECT_EQ(1U, favicons[i].urls.size()); | 242 EXPECT_EQ(1U, favicons[i].urls.size()); |
240 std::set<GURL>::const_iterator iter = favicons[i].urls.find(url1); | 243 std::set<GURL>::const_iterator iter = favicons[i].urls.find(url1); |
241 ASSERT_TRUE(iter != favicons[i].urls.end()); | 244 ASSERT_TRUE(iter != favicons[i].urls.end()); |
242 ASSERT_TRUE(*iter == url1); | 245 ASSERT_TRUE(*iter == url1); |
243 ASSERT_TRUE(favicons[i].png_data == icon_data); | 246 ASSERT_TRUE(favicons[i].png_data == icon_data); |
244 } | 247 } |
245 } | 248 } |
246 | 249 |
247 // Verify we got back what we wrote. | 250 // Verify we got back what we wrote. |
248 ASSERT_EQ(7U, parsed_bookmarks.size()); | 251 ASSERT_EQ(8U, parsed_bookmarks.size()); |
249 // Windows and ChromeOS builds use Sentence case. | 252 // Windows and ChromeOS builds use Sentence case. |
250 string16 bookmark_folder_name = | 253 string16 bookmark_folder_name = |
251 l10n_util::GetStringUTF16(IDS_BOOMARK_BAR_FOLDER_NAME); | 254 l10n_util::GetStringUTF16(IDS_BOOMARK_BAR_FOLDER_NAME); |
252 AssertBookmarkEntryEquals(parsed_bookmarks[0], false, url1, url1_title, t1, | 255 AssertBookmarkEntryEquals(parsed_bookmarks[0], false, url1, url1_title, t1, |
253 bookmark_folder_name, f1_title, string16()); | 256 bookmark_folder_name, f1_title, string16()); |
254 AssertBookmarkEntryEquals(parsed_bookmarks[1], false, url2, url2_title, t2, | 257 AssertBookmarkEntryEquals(parsed_bookmarks[1], false, url2, url2_title, t2, |
255 bookmark_folder_name, f1_title, f2_title); | 258 bookmark_folder_name, f1_title, f2_title); |
256 AssertBookmarkEntryEquals(parsed_bookmarks[2], false, url3, url3_title, t3, | 259 AssertBookmarkEntryEquals(parsed_bookmarks[2], false, url3, url3_title, t3, |
257 bookmark_folder_name, string16(), string16()); | 260 bookmark_folder_name, string16(), string16()); |
258 AssertBookmarkEntryEquals(parsed_bookmarks[3], false, url4, url4_title, t4, | 261 AssertBookmarkEntryEquals(parsed_bookmarks[3], false, url4, url4_title, t4, |
259 bookmark_folder_name, string16(), string16()); | 262 bookmark_folder_name, string16(), string16()); |
260 AssertBookmarkEntryEquals(parsed_bookmarks[4], false, url1, url1_title, t1, | 263 AssertBookmarkEntryEquals(parsed_bookmarks[4], false, url1, url1_title, t1, |
261 string16(), string16(), string16()); | 264 string16(), string16(), string16()); |
262 AssertBookmarkEntryEquals(parsed_bookmarks[5], false, url2, url2_title, t2, | 265 AssertBookmarkEntryEquals(parsed_bookmarks[5], false, url2, url2_title, t2, |
263 string16(), string16(), string16()); | 266 string16(), string16(), string16()); |
264 AssertBookmarkEntryEquals(parsed_bookmarks[6], false, url1, url1_title, t1, | 267 AssertBookmarkEntryEquals(parsed_bookmarks[6], false, url1, url1_title, t1, |
265 f3_title, f4_title, string16()); | 268 f3_title, f4_title, string16()); |
| 269 AssertBookmarkEntryEquals(parsed_bookmarks[7], false, url1, url1_title, t1, |
| 270 string16(), string16(), string16()); |
266 } | 271 } |
OLD | NEW |