Index: chrome/renderer/autofill/password_generation_agent_browsertest.cc |
diff --git a/chrome/renderer/autofill/password_generation_agent_browsertest.cc b/chrome/renderer/autofill/password_generation_agent_browsertest.cc |
index 2743a9af67ea17ca6e4986c687f9e66ec536edf7..d376f05d21d0c711cc7aa4d1e33b63a78d99becb 100644 |
--- a/chrome/renderer/autofill/password_generation_agent_browsertest.cc |
+++ b/chrome/renderer/autofill/password_generation_agent_browsertest.cc |
@@ -72,16 +72,27 @@ class PasswordGenerationAgentTest : public ChromeRenderViewTest { |
render_thread_->sink().ClearMessages(); |
} |
+ void AllowToRunFormClassifier() { |
+ AutofillMsg_AllowToRunFormClassifier msg(0); |
+ static_cast<IPC::Listener*>(password_generation_)->OnMessageReceived(msg); |
+ } |
+ |
void ExpectFormClassifierVoteReceived( |
+ bool received, |
const base::string16& expected_generation_element) { |
const IPC::Message* message = |
render_thread_->sink().GetFirstMessageMatching( |
AutofillHostMsg_SaveGenerationFieldDetectedByClassifier::ID); |
- ASSERT_TRUE(message); |
- std::tuple<autofill::PasswordForm, base::string16> actual_parameters; |
- AutofillHostMsg_SaveGenerationFieldDetectedByClassifier::Read( |
- message, &actual_parameters); |
- EXPECT_EQ(expected_generation_element, std::get<1>(actual_parameters)); |
+ if (received) { |
+ ASSERT_TRUE(message); |
+ std::tuple<autofill::PasswordForm, base::string16> actual_parameters; |
+ AutofillHostMsg_SaveGenerationFieldDetectedByClassifier::Read( |
+ message, &actual_parameters); |
+ EXPECT_EQ(expected_generation_element, std::get<1>(actual_parameters)); |
+ } else { |
+ ASSERT_FALSE(message); |
+ } |
+ |
render_thread_->sink().ClearMessages(); |
} |
@@ -661,13 +672,23 @@ TEST_F(PasswordGenerationAgentTest, PresavingGeneratedPassword) { |
} |
TEST_F(PasswordGenerationAgentTest, FormClassifierVotesSignupForm) { |
+ AllowToRunFormClassifier(); |
LoadHTMLWithUserGesture(kAccountCreationFormHTML); |
- ExpectFormClassifierVoteReceived(base::ASCIIToUTF16("first_password")); |
+ ExpectFormClassifierVoteReceived(true /* vote is expected */, |
+ base::ASCIIToUTF16("first_password")); |
} |
TEST_F(PasswordGenerationAgentTest, FormClassifierVotesSigninForm) { |
+ AllowToRunFormClassifier(); |
+ LoadHTMLWithUserGesture(kSigninFormHTML); |
+ ExpectFormClassifierVoteReceived(true /* vote is expected */, |
+ base::string16()); |
+} |
+ |
+TEST_F(PasswordGenerationAgentTest, FormClassifierDisabled) { |
LoadHTMLWithUserGesture(kSigninFormHTML); |
- ExpectFormClassifierVoteReceived(base::string16()); |
+ ExpectFormClassifierVoteReceived(false /* vote is not expected */, |
+ base::string16()); |
} |
} // namespace autofill |