OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/bind.h" | 7 #include "base/bind.h" |
8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 | 148 |
149 virtual bool TemplateURLServiceIsLoaded() const OVERRIDE { | 149 virtual bool TemplateURLServiceIsLoaded() const OVERRIDE { |
150 return true; | 150 return true; |
151 } | 151 } |
152 | 152 |
153 virtual void AddPasswordForm(const content::PasswordForm& form) OVERRIDE { | 153 virtual void AddPasswordForm(const content::PasswordForm& form) OVERRIDE { |
154 PasswordInfo p = kFirefox2Passwords[password_count_]; | 154 PasswordInfo p = kFirefox2Passwords[password_count_]; |
155 EXPECT_EQ(p.origin, form.origin.spec()); | 155 EXPECT_EQ(p.origin, form.origin.spec()); |
156 EXPECT_EQ(p.realm, form.signon_realm); | 156 EXPECT_EQ(p.realm, form.signon_realm); |
157 EXPECT_EQ(p.action, form.action.spec()); | 157 EXPECT_EQ(p.action, form.action.spec()); |
158 EXPECT_EQ(WideToUTF16(p.username_element), form.username_element); | 158 EXPECT_EQ(base::WideToUTF16(p.username_element), form.username_element); |
159 EXPECT_EQ(WideToUTF16(p.username), form.username_value); | 159 EXPECT_EQ(base::WideToUTF16(p.username), form.username_value); |
160 EXPECT_EQ(WideToUTF16(p.password_element), form.password_element); | 160 EXPECT_EQ(base::WideToUTF16(p.password_element), form.password_element); |
161 EXPECT_EQ(WideToUTF16(p.password), form.password_value); | 161 EXPECT_EQ(base::WideToUTF16(p.password), form.password_value); |
162 EXPECT_EQ(p.blacklisted, form.blacklisted_by_user); | 162 EXPECT_EQ(p.blacklisted, form.blacklisted_by_user); |
163 ++password_count_; | 163 ++password_count_; |
164 } | 164 } |
165 | 165 |
166 virtual void AddHistoryPage(const history::URLRows& page, | 166 virtual void AddHistoryPage(const history::URLRows& page, |
167 history::VisitSource visit_source) OVERRIDE { | 167 history::VisitSource visit_source) OVERRIDE { |
168 ASSERT_EQ(1U, page.size()); | 168 ASSERT_EQ(1U, page.size()); |
169 EXPECT_EQ("http://en-us.www.mozilla.com/", page[0].url().spec()); | 169 EXPECT_EQ("http://en-us.www.mozilla.com/", page[0].url().spec()); |
170 EXPECT_EQ(ASCIIToUTF16("Firefox Updated"), page[0].title()); | 170 EXPECT_EQ(ASCIIToUTF16("Firefox Updated"), page[0].title()); |
171 EXPECT_EQ(history::SOURCE_FIREFOX_IMPORTED, visit_source); | 171 EXPECT_EQ(history::SOURCE_FIREFOX_IMPORTED, visit_source); |
(...skipping 11 matching lines...) Expand all Loading... |
183 | 183 |
184 virtual void AddKeywords(ScopedVector<TemplateURL> template_urls, | 184 virtual void AddKeywords(ScopedVector<TemplateURL> template_urls, |
185 bool unique_on_host_and_path) OVERRIDE { | 185 bool unique_on_host_and_path) OVERRIDE { |
186 for (size_t i = 0; i < template_urls.size(); ++i) { | 186 for (size_t i = 0; i < template_urls.size(); ++i) { |
187 // The order might not be deterministic, look in the expected list for | 187 // The order might not be deterministic, look in the expected list for |
188 // that template URL. | 188 // that template URL. |
189 bool found = false; | 189 bool found = false; |
190 string16 keyword = template_urls[i]->keyword(); | 190 string16 keyword = template_urls[i]->keyword(); |
191 for (size_t j = 0; j < arraysize(kFirefox2Keywords); ++j) { | 191 for (size_t j = 0; j < arraysize(kFirefox2Keywords); ++j) { |
192 if (template_urls[i]->keyword() == | 192 if (template_urls[i]->keyword() == |
193 WideToUTF16Hack(kFirefox2Keywords[j].keyword)) { | 193 base::WideToUTF16Hack(kFirefox2Keywords[j].keyword)) { |
194 EXPECT_EQ(kFirefox2Keywords[j].url, template_urls[i]->url()); | 194 EXPECT_EQ(kFirefox2Keywords[j].url, template_urls[i]->url()); |
195 found = true; | 195 found = true; |
196 break; | 196 break; |
197 } | 197 } |
198 } | 198 } |
199 EXPECT_TRUE(found); | 199 EXPECT_TRUE(found); |
200 ++keyword_count_; | 200 ++keyword_count_; |
201 } | 201 } |
202 } | 202 } |
203 | 203 |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 | 294 |
295 virtual bool TemplateURLServiceIsLoaded() const OVERRIDE { | 295 virtual bool TemplateURLServiceIsLoaded() const OVERRIDE { |
296 return true; | 296 return true; |
297 } | 297 } |
298 | 298 |
299 virtual void AddPasswordForm(const content::PasswordForm& form) OVERRIDE { | 299 virtual void AddPasswordForm(const content::PasswordForm& form) OVERRIDE { |
300 PasswordInfo p = kFirefox3Passwords[password_count_]; | 300 PasswordInfo p = kFirefox3Passwords[password_count_]; |
301 EXPECT_EQ(p.origin, form.origin.spec()); | 301 EXPECT_EQ(p.origin, form.origin.spec()); |
302 EXPECT_EQ(p.realm, form.signon_realm); | 302 EXPECT_EQ(p.realm, form.signon_realm); |
303 EXPECT_EQ(p.action, form.action.spec()); | 303 EXPECT_EQ(p.action, form.action.spec()); |
304 EXPECT_EQ(WideToUTF16(p.username_element), form.username_element); | 304 EXPECT_EQ(base::WideToUTF16(p.username_element), form.username_element); |
305 EXPECT_EQ(WideToUTF16(p.username), form.username_value); | 305 EXPECT_EQ(base::WideToUTF16(p.username), form.username_value); |
306 EXPECT_EQ(WideToUTF16(p.password_element), form.password_element); | 306 EXPECT_EQ(base::WideToUTF16(p.password_element), form.password_element); |
307 EXPECT_EQ(WideToUTF16(p.password), form.password_value); | 307 EXPECT_EQ(base::WideToUTF16(p.password), form.password_value); |
308 EXPECT_EQ(p.blacklisted, form.blacklisted_by_user); | 308 EXPECT_EQ(p.blacklisted, form.blacklisted_by_user); |
309 ++password_count_; | 309 ++password_count_; |
310 } | 310 } |
311 | 311 |
312 virtual void AddHistoryPage(const history::URLRows& page, | 312 virtual void AddHistoryPage(const history::URLRows& page, |
313 history::VisitSource visit_source) OVERRIDE { | 313 history::VisitSource visit_source) OVERRIDE { |
314 ASSERT_EQ(3U, page.size()); | 314 ASSERT_EQ(3U, page.size()); |
315 EXPECT_EQ("http://www.google.com/", page[0].url().spec()); | 315 EXPECT_EQ("http://www.google.com/", page[0].url().spec()); |
316 EXPECT_EQ(ASCIIToUTF16("Google"), page[0].title()); | 316 EXPECT_EQ(ASCIIToUTF16("Google"), page[0].title()); |
317 EXPECT_EQ("http://www.google.com/", page[1].url().spec()); | 317 EXPECT_EQ("http://www.google.com/", page[1].url().spec()); |
(...skipping 16 matching lines...) Expand all Loading... |
334 | 334 |
335 virtual void AddKeywords(ScopedVector<TemplateURL> template_urls, | 335 virtual void AddKeywords(ScopedVector<TemplateURL> template_urls, |
336 bool unique_on_host_and_path) OVERRIDE { | 336 bool unique_on_host_and_path) OVERRIDE { |
337 for (size_t i = 0; i < template_urls.size(); ++i) { | 337 for (size_t i = 0; i < template_urls.size(); ++i) { |
338 // The order might not be deterministic, look in the expected list for | 338 // The order might not be deterministic, look in the expected list for |
339 // that template URL. | 339 // that template URL. |
340 bool found = false; | 340 bool found = false; |
341 string16 keyword = template_urls[i]->keyword(); | 341 string16 keyword = template_urls[i]->keyword(); |
342 for (size_t j = 0; j < arraysize(kFirefox3Keywords); ++j) { | 342 for (size_t j = 0; j < arraysize(kFirefox3Keywords); ++j) { |
343 if (template_urls[i]->keyword() == | 343 if (template_urls[i]->keyword() == |
344 WideToUTF16Hack(kFirefox3Keywords[j].keyword)) { | 344 base::WideToUTF16Hack(kFirefox3Keywords[j].keyword)) { |
345 EXPECT_EQ(kFirefox3Keywords[j].url, template_urls[i]->url()); | 345 EXPECT_EQ(kFirefox3Keywords[j].url, template_urls[i]->url()); |
346 found = true; | 346 found = true; |
347 break; | 347 break; |
348 } | 348 } |
349 } | 349 } |
350 EXPECT_TRUE(found); | 350 EXPECT_TRUE(found); |
351 ++keyword_count_; | 351 ++keyword_count_; |
352 } | 352 } |
353 } | 353 } |
354 | 354 |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 db_path = db_path.AppendASCII("firefox2_profile"); | 500 db_path = db_path.AppendASCII("firefox2_profile"); |
501 | 501 |
502 FFUnitTestDecryptorProxy decryptor_proxy; | 502 FFUnitTestDecryptorProxy decryptor_proxy; |
503 ASSERT_TRUE(decryptor_proxy.Setup(nss_path)); | 503 ASSERT_TRUE(decryptor_proxy.Setup(nss_path)); |
504 | 504 |
505 ASSERT_TRUE(decryptor_proxy.DecryptorInit(nss_path, db_path)); | 505 ASSERT_TRUE(decryptor_proxy.DecryptorInit(nss_path, db_path)); |
506 EXPECT_EQ(ASCIIToUTF16("hello"), | 506 EXPECT_EQ(ASCIIToUTF16("hello"), |
507 decryptor_proxy.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECBJ" | 507 decryptor_proxy.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECBJ" |
508 "M63MpT9rtBAjMCm7qo/EhlA==")); | 508 "M63MpT9rtBAjMCm7qo/EhlA==")); |
509 // Test UTF-16 encoding. | 509 // Test UTF-16 encoding. |
510 EXPECT_EQ(WideToUTF16(L"\x4E2D"), | 510 EXPECT_EQ(base::WideToUTF16(L"\x4E2D"), |
511 decryptor_proxy.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECN9" | 511 decryptor_proxy.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECN9" |
512 "OQ5ZFmhb8BAiFo1Z+fUvaIQ==")); | 512 "OQ5ZFmhb8BAiFo1Z+fUvaIQ==")); |
513 } | 513 } |
514 | 514 |
515 TEST(FirefoxImporterTest, Firefox3NSS3Decryptor) { | 515 TEST(FirefoxImporterTest, Firefox3NSS3Decryptor) { |
516 base::FilePath nss_path; | 516 base::FilePath nss_path; |
517 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &nss_path)); | 517 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &nss_path)); |
518 #ifdef OS_MACOSX | 518 #ifdef OS_MACOSX |
519 nss_path = nss_path.AppendASCII("firefox3_nss_mac"); | 519 nss_path = nss_path.AppendASCII("firefox3_nss_mac"); |
520 #else | 520 #else |
521 nss_path = nss_path.AppendASCII("firefox3_nss"); | 521 nss_path = nss_path.AppendASCII("firefox3_nss"); |
522 #endif // !OS_MACOSX | 522 #endif // !OS_MACOSX |
523 base::FilePath db_path; | 523 base::FilePath db_path; |
524 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &db_path)); | 524 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &db_path)); |
525 db_path = db_path.AppendASCII("firefox3_profile"); | 525 db_path = db_path.AppendASCII("firefox3_profile"); |
526 | 526 |
527 FFUnitTestDecryptorProxy decryptor_proxy; | 527 FFUnitTestDecryptorProxy decryptor_proxy; |
528 ASSERT_TRUE(decryptor_proxy.Setup(nss_path)); | 528 ASSERT_TRUE(decryptor_proxy.Setup(nss_path)); |
529 | 529 |
530 ASSERT_TRUE(decryptor_proxy.DecryptorInit(nss_path, db_path)); | 530 ASSERT_TRUE(decryptor_proxy.DecryptorInit(nss_path, db_path)); |
531 EXPECT_EQ(ASCIIToUTF16("hello"), | 531 EXPECT_EQ(ASCIIToUTF16("hello"), |
532 decryptor_proxy.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECKa" | 532 decryptor_proxy.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECKa" |
533 "jtRg4qFSHBAhv9luFkXgDJA==")); | 533 "jtRg4qFSHBAhv9luFkXgDJA==")); |
534 // Test UTF-16 encoding. | 534 // Test UTF-16 encoding. |
535 EXPECT_EQ(WideToUTF16(L"\x4E2D"), | 535 EXPECT_EQ(base::WideToUTF16(L"\x4E2D"), |
536 decryptor_proxy.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECLW" | 536 decryptor_proxy.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECLW" |
537 "qqiccfQHWBAie74hxnULxlw==")); | 537 "qqiccfQHWBAie74hxnULxlw==")); |
538 } | 538 } |
539 | 539 |
540 TEST(FirefoxImporterTest, Firefox2BookmarkParse) { | 540 TEST(FirefoxImporterTest, Firefox2BookmarkParse) { |
541 bool result; | 541 bool result; |
542 | 542 |
543 // Tests charset. | 543 // Tests charset. |
544 std::string charset; | 544 std::string charset; |
545 result = Firefox2Importer::ParseCharsetFromLine( | 545 result = Firefox2Importer::ParseCharsetFromLine( |
(...skipping 28 matching lines...) Expand all Loading... |
574 string16 title; | 574 string16 title; |
575 GURL url, favicon; | 575 GURL url, favicon; |
576 string16 shortcut; | 576 string16 shortcut; |
577 string16 post_data; | 577 string16 post_data; |
578 base::Time add_date; | 578 base::Time add_date; |
579 result = Firefox2Importer::ParseBookmarkFromLine( | 579 result = Firefox2Importer::ParseBookmarkFromLine( |
580 "<DT><A HREF=\"http://chinese.site.cn/path?query=1#ref\" " | 580 "<DT><A HREF=\"http://chinese.site.cn/path?query=1#ref\" " |
581 "SHORTCUTURL=\"\xE4\xB8\xAD\">\xE4\xB8\xAD\xE6\x96\x87</A>", | 581 "SHORTCUTURL=\"\xE4\xB8\xAD\">\xE4\xB8\xAD\xE6\x96\x87</A>", |
582 charset, &title, &url, &favicon, &shortcut, &add_date, &post_data); | 582 charset, &title, &url, &favicon, &shortcut, &add_date, &post_data); |
583 EXPECT_TRUE(result); | 583 EXPECT_TRUE(result); |
584 EXPECT_EQ(L"\x4E2D\x6587", UTF16ToWide(title)); | 584 EXPECT_EQ(L"\x4E2D\x6587", base::UTF16ToWide(title)); |
585 EXPECT_EQ("http://chinese.site.cn/path?query=1#ref", url.spec()); | 585 EXPECT_EQ("http://chinese.site.cn/path?query=1#ref", url.spec()); |
586 EXPECT_EQ(L"\x4E2D", UTF16ToWide(shortcut)); | 586 EXPECT_EQ(L"\x4E2D", base::UTF16ToWide(shortcut)); |
587 EXPECT_EQ(string16(), post_data); | 587 EXPECT_EQ(string16(), post_data); |
588 EXPECT_TRUE(base::Time() == add_date); | 588 EXPECT_TRUE(base::Time() == add_date); |
589 | 589 |
590 // No shortcut, and url contains %22 ('"' character). | 590 // No shortcut, and url contains %22 ('"' character). |
591 result = Firefox2Importer::ParseBookmarkFromLine( | 591 result = Firefox2Importer::ParseBookmarkFromLine( |
592 "<DT><A HREF=\"http://domain.com/?q=%22<>%22\">name</A>", | 592 "<DT><A HREF=\"http://domain.com/?q=%22<>%22\">name</A>", |
593 charset, &title, &url, &favicon, &shortcut, &add_date, &post_data); | 593 charset, &title, &url, &favicon, &shortcut, &add_date, &post_data); |
594 EXPECT_TRUE(result); | 594 EXPECT_TRUE(result); |
595 EXPECT_EQ(ASCIIToUTF16("name"), title); | 595 EXPECT_EQ(ASCIIToUTF16("name"), title); |
596 EXPECT_EQ("http://domain.com/?q=%22%3C%3E%22", url.spec()); | 596 EXPECT_EQ("http://domain.com/?q=%22%3C%3E%22", url.spec()); |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
757 EXPECT_EQ("http://www.tamurayukari.com/", entry.url.spec()); | 757 EXPECT_EQ("http://www.tamurayukari.com/", entry.url.spec()); |
758 EXPECT_EQ(0U, entry.path.size()); | 758 EXPECT_EQ(0U, entry.path.size()); |
759 entry = *it++; | 759 entry = *it++; |
760 EXPECT_EQ(ASCIIToUTF16("Google"), entry.title); | 760 EXPECT_EQ(ASCIIToUTF16("Google"), entry.title); |
761 EXPECT_EQ("http://www.google.com/", entry.url.spec()); | 761 EXPECT_EQ("http://www.google.com/", entry.url.spec()); |
762 EXPECT_EQ(0U, entry.path.size()); | 762 EXPECT_EQ(0U, entry.path.size()); |
763 } | 763 } |
764 | 764 |
765 importer->Release(); | 765 importer->Release(); |
766 } | 766 } |
OLD | NEW |