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

Unified Diff: components/password_manager/content/browser/content_credential_manager_dispatcher_unittest.cc

Issue 733463003: Show user credentials chooser bubble. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge with trunk Created 6 years, 1 month 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/password_manager/content/browser/content_credential_manager_dispatcher_unittest.cc
diff --git a/components/password_manager/content/browser/content_credential_manager_dispatcher_unittest.cc b/components/password_manager/content/browser/content_credential_manager_dispatcher_unittest.cc
index bdefff8df7d1ffe8717ef33622e3202997ac8f50..fd148d0c5499842ec2b46b2d72b85a54ac8d8b22 100644
--- a/components/password_manager/content/browser/content_credential_manager_dispatcher_unittest.cc
+++ b/components/password_manager/content/browser/content_credential_manager_dispatcher_unittest.cc
@@ -4,6 +4,7 @@
#include "components/password_manager/content/browser/content_credential_manager_dispatcher.h"
+#include "base/bind.h"
#include "base/command_line.h"
#include "base/run_loop.h"
#include "base/strings/string16.h"
@@ -32,7 +33,9 @@ class TestPasswordManagerClient
: public password_manager::StubPasswordManagerClient {
public:
TestPasswordManagerClient(password_manager::PasswordStore* store)
- : did_prompt_user_to_save_(false), store_(store) {}
+ : did_prompt_user_to_save_(false),
+ did_prompt_user_to_choose_(false),
+ store_(store) {}
~TestPasswordManagerClient() override {}
password_manager::PasswordStore* GetPasswordStore() override {
@@ -50,7 +53,22 @@ class TestPasswordManagerClient
return true;
}
+ bool PromptUserToChooseCredentials(
+ const std::vector<autofill::PasswordForm*>& forms,
+ base::Callback<void(const password_manager::CredentialInfo&)>
+ callback) override {
+ EXPECT_FALSE(forms.empty());
+ did_prompt_user_to_choose_ = true;
+ ScopedVector<autofill::PasswordForm> entries;
+ entries.assign(forms.begin(), forms.end());
+ password_manager::CredentialInfo info(*entries[0]);
+ base::MessageLoop::current()->PostTask(FROM_HERE, base::Bind(callback,
+ info));
+ return true;
+ }
+
bool did_prompt_user_to_save() const { return did_prompt_user_to_save_; }
+ bool did_prompt_user_to_choose() const { return did_prompt_user_to_choose_; }
password_manager::PasswordFormManager* pending_manager() const {
return manager_.get();
@@ -58,6 +76,7 @@ class TestPasswordManagerClient
private:
bool did_prompt_user_to_save_;
+ bool did_prompt_user_to_choose_;
password_manager::PasswordStore* store_;
password_manager::StubPasswordManagerDriver driver_;
scoped_ptr<password_manager::PasswordFormManager> manager_;
@@ -180,6 +199,7 @@ TEST_F(ContentCredentialManagerDispatcherTest,
CredentialManagerMsg_SendCredential::Read(message, &param);
EXPECT_EQ(CREDENTIAL_TYPE_EMPTY, param.b.type);
process()->sink().ClearMessages();
+ EXPECT_FALSE(client_->did_prompt_user_to_choose());
}
TEST_F(ContentCredentialManagerDispatcherTest,
@@ -195,7 +215,7 @@ TEST_F(ContentCredentialManagerDispatcherTest,
const IPC::Message* message =
process()->sink().GetFirstMessageMatching(kMsgID);
EXPECT_TRUE(message);
- process()->sink().ClearMessages();
+ EXPECT_TRUE(client_->did_prompt_user_to_choose());
}
TEST_F(ContentCredentialManagerDispatcherTest,
@@ -215,6 +235,7 @@ TEST_F(ContentCredentialManagerDispatcherTest,
CredentialManagerMsg_RejectCredentialRequest::Read(message, &reject_param);
EXPECT_EQ(blink::WebCredentialManagerError::ErrorTypePendingRequest,
reject_param.b);
+ EXPECT_FALSE(client_->did_prompt_user_to_choose());
process()->sink().ClearMessages();
@@ -230,6 +251,7 @@ TEST_F(ContentCredentialManagerDispatcherTest,
CredentialManagerMsg_SendCredential::Read(message, &send_param);
EXPECT_NE(CREDENTIAL_TYPE_EMPTY, send_param.b.type);
process()->sink().ClearMessages();
+ EXPECT_TRUE(client_->did_prompt_user_to_choose());
}
} // namespace password_manager

Powered by Google App Engine
This is Rietveld 408576698