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

Unified Diff: components/autofill/content/public/cpp/autofill_types_struct_traits_unittest.cc

Issue 2101533002: [Autofill] Add typemap for PasswordForm and PasswordFormGenerationData. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: origin --> origin_with_path Created 4 years, 5 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/content/public/cpp/autofill_types_struct_traits_unittest.cc
diff --git a/components/autofill/content/public/cpp/autofill_types_struct_traits_unittest.cc b/components/autofill/content/public/cpp/autofill_types_struct_traits_unittest.cc
index 61a441681765bc1f01e31e84dd3414e59147fc53..0416fd8afc6c6a7fdd5f19d24c0e72709c7fab43 100644
--- a/components/autofill/content/public/cpp/autofill_types_struct_traits_unittest.cc
+++ b/components/autofill/content/public/cpp/autofill_types_struct_traits_unittest.cc
@@ -72,6 +72,48 @@ void CreateTestPasswordFormFillData(PasswordFormFillData* fill_data) {
fill_data->is_possible_change_password_form = false;
}
+void CreateTestPasswordForm(PasswordForm* form) {
+ form->scheme = PasswordForm::Scheme::SCHEME_HTML;
+ form->signon_realm = "https://foo.com/";
+ form->origin = GURL("https://foo.com/");
+ form->action = GURL("https://foo.com/login");
+ form->affiliated_web_realm = "https://foo.com/";
+ form->submit_element = base::ASCIIToUTF16("test_submit");
+ form->username_element = base::ASCIIToUTF16("username");
+ form->username_marked_by_site = true;
+ form->username_value = base::ASCIIToUTF16("test@gmail.com");
+ form->other_possible_usernames.push_back(base::ASCIIToUTF16("Jerry_1"));
+ form->other_possible_usernames.push_back(base::ASCIIToUTF16("Jerry_2"));
+ form->password_element = base::ASCIIToUTF16("password");
+ form->password_value = base::ASCIIToUTF16("test");
+ form->password_value_is_default = true;
+ form->new_password_element = base::ASCIIToUTF16("new_password");
+ form->new_password_value = base::ASCIIToUTF16("new_password_value");
+ form->new_password_value_is_default = false;
+ form->new_password_marked_by_site = false;
+ form->ssl_valid = true;
+ form->preferred = false;
+ form->date_created = base::Time::Now();
+ form->date_synced = base::Time::Now();
+ form->blacklisted_by_user = false;
+ form->type = PasswordForm::Type::TYPE_GENERATED;
+ form->times_used = 999;
+ test::CreateTestAddressFormData(&form->form_data);
+ form->generation_upload_status =
+ PasswordForm::GenerationUploadStatus::POSITIVE_SIGNAL_SENT;
+ form->display_name = base::ASCIIToUTF16("test display name");
+ form->icon_url = GURL("https://foo.com/icon.png");
+ form->federation_origin =
+ url::Origin::UnsafelyCreateOriginWithoutNormalization(
+ "http", "www.google.com", 80);
+ form->skip_zero_click = false;
+ form->layout = PasswordForm::Layout::LAYOUT_LOGIN_AND_SIGNUP;
+ form->was_parsed_using_autofill_predictions = false;
+ form->is_public_suffix_match = true;
+ form->is_affiliation_based_match = true;
+ form->does_look_like_signup_form = true;
+}
+
void CheckEqualPasswordFormFillData(const PasswordFormFillData& expected,
const PasswordFormFillData& actual) {
EXPECT_EQ(expected.name, actual.name);
@@ -119,6 +161,18 @@ void CheckEqualPasswordFormFillData(const PasswordFormFillData& expected,
actual.is_possible_change_password_form);
}
+void CheckEqualPasswordFormGenerationData(
+ const PasswordFormGenerationData& expected,
+ const PasswordFormGenerationData& actual) {
+ EXPECT_EQ(expected.name, actual.name);
+ EXPECT_EQ(expected.action, actual.action);
+ EXPECT_TRUE(expected.generation_field.SameFieldAs(actual.generation_field));
+ EXPECT_EQ(expected.generation_field.option_values,
+ actual.generation_field.option_values);
+ EXPECT_EQ(expected.generation_field.option_contents,
+ actual.generation_field.option_contents);
+}
+
} // namespace
class AutofillTypeTraitsTestImpl : public testing::Test,
@@ -159,6 +213,17 @@ class AutofillTypeTraitsTestImpl : public testing::Test,
callback.Run(s);
}
+ void PassPasswordFormGenerationData(
+ const PasswordFormGenerationData& s,
+ const PassPasswordFormGenerationDataCallback& callback) override {
+ callback.Run(s);
+ }
+
+ void PassPasswordForm(const PasswordForm& s,
+ const PassPasswordFormCallback& callback) override {
+ callback.Run(s);
+ }
+
private:
base::MessageLoop loop_;
@@ -202,6 +267,21 @@ void ExpectPasswordFormFillData(const PasswordFormFillData& expected,
closure.Run();
}
+void ExpectPasswordFormGenerationData(
+ const PasswordFormGenerationData& expected,
+ const base::Closure& closure,
+ const PasswordFormGenerationData& passed) {
+ CheckEqualPasswordFormGenerationData(expected, passed);
+ closure.Run();
+}
+
+void ExpectPasswordForm(const PasswordForm& expected,
+ const base::Closure& closure,
+ const PasswordForm& passed) {
+ EXPECT_EQ(expected, passed);
+ closure.Run();
+}
+
TEST_F(AutofillTypeTraitsTestImpl, PassFormFieldData) {
FormFieldData input;
test::CreateTestSelectField("TestLabel", "TestName", "TestValue", kOptions,
@@ -269,4 +349,28 @@ TEST_F(AutofillTypeTraitsTestImpl, PassPasswordFormFillData) {
loop.Run();
}
+TEST_F(AutofillTypeTraitsTestImpl, PassPasswordFormGenerationData) {
+ FormData form;
+ test::CreateTestAddressFormData(&form);
+ PasswordFormGenerationData input{form.name, form.action, form.fields[0]};
+
+ base::RunLoop loop;
+ mojom::TypeTraitsTestPtr proxy = GetTypeTraitsTestProxy();
+ proxy->PassPasswordFormGenerationData(
+ input,
+ base::Bind(&ExpectPasswordFormGenerationData, input, loop.QuitClosure()));
+ loop.Run();
+}
+
+TEST_F(AutofillTypeTraitsTestImpl, PassPasswordForm) {
+ PasswordForm input;
+ CreateTestPasswordForm(&input);
+
+ base::RunLoop loop;
+ mojom::TypeTraitsTestPtr proxy = GetTypeTraitsTestProxy();
+ proxy->PassPasswordForm(
+ input, base::Bind(&ExpectPasswordForm, input, loop.QuitClosure()));
+ loop.Run();
+}
+
} // namespace autofill

Powered by Google App Engine
This is Rietveld 408576698