Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Unified Diff: components/autofill/core/browser/autofill_merge_unittest.cc

Issue 1932193003: [Autofill] Modernize some AutofillMergeTest (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: mac import Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | components/test/data/autofill/merge/input/ambiguous.in » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/autofill/core/browser/autofill_merge_unittest.cc
diff --git a/components/autofill/core/browser/autofill_merge_unittest.cc b/components/autofill/core/browser/autofill_merge_unittest.cc
index 571fed9e1c64a9dce6840fe6919f32693e869dfd..e1fef9ea2f6bfc13663e5c4ba16176366b9b3a4d 100644
--- a/components/autofill/core/browser/autofill_merge_unittest.cc
+++ b/components/autofill/core/browser/autofill_merge_unittest.cc
@@ -8,6 +8,7 @@
#include <memory>
#include <vector>
+#include "base/files/file_enumerator.h"
#include "base/files/file_path.h"
#include "base/macros.h"
#include "base/path_service.h"
@@ -24,6 +25,10 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
+#if defined(OS_MACOSX)
+#include "base/mac/foundation_util.h"
+#endif
+
namespace autofill {
namespace {
@@ -35,20 +40,18 @@ const char kFieldSeparator[] = ": ";
const char kProfileSeparator[] = "---";
const size_t kFieldOffset = arraysize(kFieldSeparator) - 1;
-const ServerFieldType kProfileFieldTypes[] = {
- NAME_FIRST,
- NAME_MIDDLE,
- NAME_LAST,
- EMAIL_ADDRESS,
- COMPANY_NAME,
- ADDRESS_HOME_LINE1,
- ADDRESS_HOME_LINE2,
- ADDRESS_HOME_CITY,
- ADDRESS_HOME_STATE,
- ADDRESS_HOME_ZIP,
- ADDRESS_HOME_COUNTRY,
- PHONE_HOME_WHOLE_NUMBER
-};
+const ServerFieldType kProfileFieldTypes[] = {NAME_FIRST,
+ NAME_MIDDLE,
+ NAME_LAST,
+ NAME_FULL,
+ EMAIL_ADDRESS,
+ COMPANY_NAME,
+ ADDRESS_HOME_STREET_ADDRESS,
+ ADDRESS_HOME_CITY,
+ ADDRESS_HOME_STATE,
+ ADDRESS_HOME_ZIP,
+ ADDRESS_HOME_COUNTRY,
+ PHONE_HOME_WHOLE_NUMBER};
const base::FilePath& GetTestDataDir() {
CR_DEFINE_STATIC_LOCAL(base::FilePath, dir, ());
@@ -61,6 +64,25 @@ const base::FilePath& GetTestDataDir() {
return dir;
}
+const std::vector<base::FilePath> GetTestFiles() {
+ base::FilePath dir = GetTestDataDir();
+ dir = dir.AppendASCII("autofill").AppendASCII("merge").AppendASCII("input");
+ base::FileEnumerator input_files(dir, false, base::FileEnumerator::FILES,
+ kFileNamePattern);
+ std::vector<base::FilePath> files;
+ for (base::FilePath input_file = input_files.Next(); !input_file.empty();
+ input_file = input_files.Next()) {
+ files.push_back(input_file);
+ }
+ std::sort(files.begin(), files.end());
+
+#if defined(OS_MACOSX)
+ base::mac::ClearAmIBundledCache();
+#endif // defined(OS_MACOSX)
+
+ return files;
+}
+
// Serializes the |profiles| into a string.
std::string SerializeProfiles(const std::vector<AutofillProfile*>& profiles) {
std::string result;
@@ -72,6 +94,8 @@ std::string SerializeProfiles(const std::vector<AutofillProfile*>& profiles) {
base::string16 value = profiles[i]->GetRawInfo(type);
result += AutofillType(type).ToString();
result += kFieldSeparator;
+ base::ReplaceFirstSubstringAfterOffset(
+ &value, 0, base::ASCIIToUTF16("\n"), base::ASCIIToUTF16("\\n"));
result += base::UTF16ToUTF8(value);
result += "\n";
}
@@ -131,8 +155,8 @@ const std::vector<AutofillProfile*>& PersonalDataManagerMock::web_profiles()
// corresponding output file is a dump of the saved profiles that result from
// importing the input profiles. The output file format is identical to the
// input format.
-class AutofillMergeTest : public testing::Test,
- public DataDrivenTest {
+class AutofillMergeTest : public DataDrivenTest,
+ public testing::TestWithParam<base::FilePath> {
protected:
AutofillMergeTest();
~AutofillMergeTest() override;
@@ -194,7 +218,6 @@ void AutofillMergeTest::MergeProfiles(const std::string& profiles,
profiles, "\n", base::KEEP_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
for (size_t i = 0; i < lines.size(); ++i) {
std::string line = lines[i];
-
if (line != kProfileSeparator) {
// Add a field to the current profile.
size_t separator_pos = line.find(kFieldSeparator);
@@ -247,9 +270,10 @@ ServerFieldType AutofillMergeTest::StringToFieldType(const std::string& str) {
return string_to_field_type_map_[str];
}
-TEST_F(AutofillMergeTest, DataDrivenMergeProfiles) {
- RunDataDrivenTest(GetInputDirectory(kTestName), GetOutputDirectory(kTestName),
- kFileNamePattern);
+TEST_P(AutofillMergeTest, DataDrivenMergeProfiles) {
+ RunOneDataDrivenTest(GetParam(), GetOutputDirectory(kTestName));
}
+INSTANTIATE_TEST_CASE_P(, AutofillMergeTest, testing::ValuesIn(GetTestFiles()));
+
} // namespace autofill
« no previous file with comments | « no previous file | components/test/data/autofill/merge/input/ambiguous.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698