summaryrefslogtreecommitdiffstats
path: root/chrome/browser/importer/firefox_importer_unittest.cc
diff options
context:
space:
mode:
authorjeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-21 17:27:27 +0000
committerjeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-21 17:27:27 +0000
commitbe9551df15b9d5ebbc1e52cd736c1c95e38f1821 (patch)
tree3798c6d714a64d9aa921422faba1bb7d38ce3fdd /chrome/browser/importer/firefox_importer_unittest.cc
parente7760ea7123b355cd3a758b9833aac36093869d7 (diff)
downloadchromium_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.cc37
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;