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

Unified Diff: components/autofill/core/browser/webdata/autofill_table_unittest.cc

Issue 2744933004: [Autofill] Rewrite Autofill unitttests to use INSTANTIATE_TEST_CASE_P (Closed)
Patch Set: remove commented test case. Created 3 years, 9 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
Index: components/autofill/core/browser/webdata/autofill_table_unittest.cc
diff --git a/components/autofill/core/browser/webdata/autofill_table_unittest.cc b/components/autofill/core/browser/webdata/autofill_table_unittest.cc
index 235dd06230b05e92ab49f59c49c1252a7a7af676..58439067907dbeb5f6ad215f7b396000accac334 100644
--- a/components/autofill/core/browser/webdata/autofill_table_unittest.cc
+++ b/components/autofill/core/browser/webdata/autofill_table_unittest.cc
@@ -1955,61 +1955,112 @@ TEST_F(AutofillTableTest, DeleteUnmaskedCard) {
outputs.clear();
}
-TEST_F(AutofillTableTest, GetFormValuesForElementName_SubstringMatchEnabled) {
+const size_t kMaxCount = 2;
+struct GetFormValuesTestCase {
+ const char* const field_suggestion[kMaxCount];
+ const char* const field_contents;
+ size_t expected_suggestion_count;
+ const char* const expected_suggestion[kMaxCount];
+};
+
+class GetFormValuesTest : public testing::TestWithParam<GetFormValuesTestCase> {
+ public:
+ GetFormValuesTest() {}
+ ~GetFormValuesTest() override {}
+
+ protected:
+ void SetUp() override {
+ OSCryptMocker::SetUpWithSingleton();
+ ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
+ file_ = temp_dir_.GetPath().AppendASCII("TestWebDatabase");
+
+ table_.reset(new AutofillTable);
+ db_.reset(new WebDatabase);
+ db_->AddTable(table_.get());
+ ASSERT_EQ(sql::INIT_OK, db_->Init(file_));
+ }
+
+ void TearDown() override { OSCryptMocker::TearDown(); }
+
+ base::FilePath file_;
+ base::ScopedTempDir temp_dir_;
+ std::unique_ptr<AutofillTable> table_;
+ std::unique_ptr<WebDatabase> db_;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(GetFormValuesTest);
+};
+
+TEST_P(GetFormValuesTest, GetFormValuesForElementName_SubstringMatchEnabled) {
// Token matching is currently behind a flag.
base::CommandLine::ForCurrentProcess()->AppendSwitch(
switches::kEnableSuggestionsWithSubstringMatch);
- const size_t kMaxCount = 2;
- const struct {
- const char* const field_suggestion[kMaxCount];
- const char* const field_contents;
- size_t expected_suggestion_count;
- const char* const expected_suggestion[kMaxCount];
- } kTestCases[] = {
- {{"user.test", "test_user"}, "TEST", 2, {"test_user", "user.test"}},
- {{"user test", "test-user"}, "user", 2, {"user test", "test-user"}},
- {{"user test", "test-rest"}, "user", 1, {"user test", nullptr}},
- {{"user@test", "test_user"}, "user@t", 1, {"user@test", nullptr}},
- {{"user.test", "test_user"}, "er.tes", 0, {nullptr, nullptr}},
- {{"user test", "test_user"}, "_ser", 0, {nullptr, nullptr}},
- {{"user.test", "test_user"}, "%ser", 0, {nullptr, nullptr}},
- {{"user.test", "test_user"},
- "; DROP TABLE autofill;",
- 0,
- {nullptr, nullptr}},
- };
-
- for (const auto& test_case : kTestCases) {
- SCOPED_TRACE(testing::Message()
- << "suggestion = " << test_case.field_suggestion[0]
- << ", contents = " << test_case.field_contents);
-
- Time t1 = Time::Now();
+ auto test_case = GetParam();
+ SCOPED_TRACE(testing::Message()
+ << "suggestion = " << test_case.field_suggestion[0]
+ << ", contents = " << test_case.field_contents);
- // Simulate the submission of a handful of entries in a field called "Name".
- AutofillChangeList changes;
- FormFieldData field;
- for (size_t k = 0; k < kMaxCount; ++k) {
- field.name = ASCIIToUTF16("Name");
- field.value = ASCIIToUTF16(test_case.field_suggestion[k]);
- table_->AddFormFieldValue(field, &changes);
- }
+ Time t1 = Time::Now();
- std::vector<base::string16> v;
- table_->GetFormValuesForElementName(
- ASCIIToUTF16("Name"), ASCIIToUTF16(test_case.field_contents), &v, 6);
+ // Simulate the submission of a handful of entries in a field called "Name".
+ AutofillChangeList changes;
+ FormFieldData field;
+ for (size_t k = 0; k < kMaxCount; ++k) {
+ field.name = ASCIIToUTF16("Name");
+ field.value = ASCIIToUTF16(test_case.field_suggestion[k]);
+ table_->AddFormFieldValue(field, &changes);
+ }
- EXPECT_EQ(test_case.expected_suggestion_count, v.size());
- for (size_t j = 0; j < test_case.expected_suggestion_count; ++j) {
- EXPECT_EQ(ASCIIToUTF16(test_case.expected_suggestion[j]), v[j]);
- }
+ std::vector<base::string16> v;
+ table_->GetFormValuesForElementName(
+ ASCIIToUTF16("Name"), ASCIIToUTF16(test_case.field_contents), &v, 6);
- changes.clear();
- table_->RemoveFormElementsAddedBetween(t1, Time(), &changes);
+ EXPECT_EQ(test_case.expected_suggestion_count, v.size());
+ for (size_t j = 0; j < test_case.expected_suggestion_count; ++j) {
+ EXPECT_EQ(ASCIIToUTF16(test_case.expected_suggestion[j]), v[j]);
}
+
+ changes.clear();
+ table_->RemoveFormElementsAddedBetween(t1, Time(), &changes);
}
+INSTANTIATE_TEST_CASE_P(
+ AutofillTableTest,
+ GetFormValuesTest,
+ testing::Values(GetFormValuesTestCase{{"user.test", "test_user"},
+ "TEST",
+ 2,
+ {"test_user", "user.test"}},
+ GetFormValuesTestCase{{"user test", "test-user"},
+ "user",
+ 2,
+ {"user test", "test-user"}},
+ GetFormValuesTestCase{{"user test", "test-rest"},
+ "user",
+ 1,
+ {"user test", nullptr}},
+ GetFormValuesTestCase{{"user@test", "test_user"},
+ "user@t",
+ 1,
+ {"user@test", nullptr}},
+ GetFormValuesTestCase{{"user.test", "test_user"},
+ "er.tes",
+ 0,
+ {nullptr, nullptr}},
+ GetFormValuesTestCase{{"user test", "test_user"},
+ "_ser",
+ 0,
+ {nullptr, nullptr}},
+ GetFormValuesTestCase{{"user.test", "test_user"},
+ "%ser",
+ 0,
+ {nullptr, nullptr}},
+ GetFormValuesTestCase{{"user.test", "test_user"},
+ "; DROP TABLE autofill;",
+ 0,
+ {nullptr, nullptr}}));
+
TEST_F(AutofillTableTest, AutofillNoMetadata) {
MetadataBatch metadata_batch;
EXPECT_TRUE(table_->GetAllSyncMetadata(syncer::AUTOFILL, &metadata_batch));

Powered by Google App Engine
This is Rietveld 408576698