diff options
author | jeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-21 17:27:27 +0000 |
---|---|---|
committer | jeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-21 17:27:27 +0000 |
commit | be9551df15b9d5ebbc1e52cd736c1c95e38f1821 (patch) | |
tree | 3798c6d714a64d9aa921422faba1bb7d38ce3fdd /chrome/browser/importer/firefox_importer_unittest.cc | |
parent | e7760ea7123b355cd3a758b9833aac36093869d7 (diff) | |
download | chromium_src-be9551df15b9d5ebbc1e52cd736c1c95e38f1821.zip chromium_src-be9551df15b9d5ebbc1e52cd736c1c95e38f1821.tar.gz chromium_src-be9551df15b9d5ebbc1e52cd736c1c95e38f1821.tar.bz2 |
Bring up Firefox Password Import Unittest on OS X.
The NSSDecrptor class needs to be run in a child process on OS X, so we need to do some fancy footwork in the form of a bridge class.
Also a few small fixes for surrounding code.
BUG=18775
TEST=none
Review URL: http://codereview.chromium.org/174206
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23971 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/importer/firefox_importer_unittest.cc')
-rw-r--r-- | chrome/browser/importer/firefox_importer_unittest.cc | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/chrome/browser/importer/firefox_importer_unittest.cc b/chrome/browser/importer/firefox_importer_unittest.cc index 1c0af23..e7e9470 100644 --- a/chrome/browser/importer/firefox_importer_unittest.cc +++ b/chrome/browser/importer/firefox_importer_unittest.cc @@ -8,46 +8,61 @@ #include "base/file_util.h" #include "base/path_service.h" #include "chrome/browser/importer/firefox2_importer.h" +#include "chrome/browser/importer/firefox_importer_unittest_utils.h" #include "chrome/browser/importer/firefox_importer_utils.h" #include "chrome/browser/importer/nss_decryptor.h" #include "chrome/common/chrome_paths.h" using base::Time; -// TODO(jeremy): Port NSSDecryptor to OSX and enable these tests. -#if !defined(OS_MACOSX) +// The following 2 tests require the use of the NSSDecryptor, on OSX this needs +// to run in a separate process, so we use a proxy object so we can share the +// same test between platforms. TEST(FirefoxImporterTest, Firefox2NSS3Decryptor) { std::wstring nss_path; ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &nss_path)); +#ifdef OS_MACOSX + file_util::AppendToPath(&nss_path, L"firefox2_nss_mac"); +#else file_util::AppendToPath(&nss_path, L"firefox2_nss"); +#endif // !OS_MACOSX std::wstring db_path; ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &db_path)); file_util::AppendToPath(&db_path, L"firefox2_profile"); - NSSDecryptor decryptor; - EXPECT_TRUE(decryptor.Init(nss_path, db_path)); - EXPECT_EQ(L"hello", decryptor.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAE" + + FFUnitTestDecryptorProxy decryptor_proxy; + ASSERT_TRUE(decryptor_proxy.Setup(nss_path)); + + EXPECT_TRUE(decryptor_proxy.DecryptorInit(nss_path, db_path)); + EXPECT_EQ(L"hello", decryptor_proxy.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAE" "wFAYIKoZIhvcNAwcECBJM63MpT9rtBAjMCm7qo/EhlA==")); // Test UTF-16 encoding. - EXPECT_EQ(L"\x4E2D", decryptor.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAE" + EXPECT_EQ(L"\x4E2D", decryptor_proxy.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAE" "wFAYIKoZIhvcNAwcECN9OQ5ZFmhb8BAiFo1Z+fUvaIQ==")); } TEST(FirefoxImporterTest, Firefox3NSS3Decryptor) { std::wstring nss_path; ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &nss_path)); +#ifdef OS_MACOSX + file_util::AppendToPath(&nss_path, L"firefox3_nss_mac"); +#else file_util::AppendToPath(&nss_path, L"firefox3_nss"); +#endif // !OS_MACOSX std::wstring db_path; ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &db_path)); file_util::AppendToPath(&db_path, L"firefox3_profile"); - NSSDecryptor decryptor; - EXPECT_TRUE(decryptor.Init(nss_path, db_path)); - EXPECT_EQ(L"hello", decryptor.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAE" + + FFUnitTestDecryptorProxy decryptor_proxy; + ASSERT_TRUE(decryptor_proxy.Setup(nss_path)); + + EXPECT_TRUE(decryptor_proxy.DecryptorInit(nss_path, db_path)); + EXPECT_EQ(L"hello", decryptor_proxy.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAE" "wFAYIKoZIhvcNAwcECKajtRg4qFSHBAhv9luFkXgDJA==")); // Test UTF-16 encoding. - EXPECT_EQ(L"\x4E2D", decryptor.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAE" + EXPECT_EQ(L"\x4E2D", decryptor_proxy.Decrypt("MDIEEPgAAAAAAAAAAAAAAAAAAAE" "wFAYIKoZIhvcNAwcECLWqqiccfQHWBAie74hxnULxlw==")); } -#endif // !OS_MACOSX TEST(FirefoxImporterTest, Firefox2BookmarkParse) { bool result; |