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

Unified Diff: chrome/browser/ui/views/passwords/manage_passwords_bubble_view_browsertest.cc

Issue 854173003: Credential Management API: the account chooser dialog supports custom avatars. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: added a test Created 5 years, 11 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 | « chrome/browser/ui/views/passwords/manage_passwords_bubble_view.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/passwords/manage_passwords_bubble_view_browsertest.cc
diff --git a/chrome/browser/ui/views/passwords/manage_passwords_bubble_view_browsertest.cc b/chrome/browser/ui/views/passwords/manage_passwords_bubble_view_browsertest.cc
index 9e2636e0f3e5f3608aa08403c2d427e18155333a..02c78128d140aa562df53bca7bb6d920a2ac2df7 100644
--- a/chrome/browser/ui/views/passwords/manage_passwords_bubble_view_browsertest.cc
+++ b/chrome/browser/ui/views/passwords/manage_passwords_bubble_view_browsertest.cc
@@ -17,12 +17,34 @@
#include "components/password_manager/core/browser/stub_password_manager_client.h"
#include "content/public/browser/notification_types.h"
#include "content/public/browser/render_view_host.h"
+#include "net/url_request/test_url_fetcher_factory.h"
#include "testing/gtest/include/gtest/gtest.h"
+using testing::Eq;
+using testing::Field;
+using testing::_;
+
namespace {
const char kDisplayDispositionMetric[] = "PasswordBubble.DisplayDisposition";
+// A helper class that will create FakeURLFetcher and record the requested URLs.
+class TestURLFetcherCallback {
+ public:
+ scoped_ptr<net::FakeURLFetcher> CreateURLFetcher(
+ const GURL& url,
+ net::URLFetcherDelegate* d,
+ const std::string& response_data,
+ net::HttpStatusCode response_code,
+ net::URLRequestStatus::Status status) {
+ OnRequestDone(url);
+ return scoped_ptr<net::FakeURLFetcher>(new net::FakeURLFetcher(
+ url, d, response_data, response_code, status));
+ }
+
+ MOCK_METHOD1(OnRequestDone, void(const GURL&));
+};
+
} // namespace
namespace metrics_util = password_manager::metrics_util;
@@ -229,3 +251,31 @@ IN_PROC_BROWSER_TEST_F(ManagePasswordsBubbleViewTest, TwoTabsWithBubble) {
tab_model->ActivateTabAt(1, true);
EXPECT_FALSE(ManagePasswordsBubbleView::IsShowing());
}
+
+IN_PROC_BROWSER_TEST_F(ManagePasswordsBubbleViewTest, ChooseCredential) {
+ ScopedVector<autofill::PasswordForm> local_credentials;
+ test_form()->display_name = base::ASCIIToUTF16("Peter");
+ test_form()->avatar_url = GURL("broken url");
+ local_credentials.push_back(new autofill::PasswordForm(*test_form()));
+ GURL avatar_url("https://google.com/avatar.png");
+ test_form()->avatar_url = avatar_url;
+ local_credentials.push_back(new autofill::PasswordForm(*test_form()));
+
+ // Prepare to capture the network request.
+ TestURLFetcherCallback url_callback;
+ net::FakeURLFetcherFactory factory(
+ NULL,
+ base::Bind(&TestURLFetcherCallback::CreateURLFetcher,
+ base::Unretained(&url_callback)));
+ factory.SetFakeResponse(avatar_url, std::string(), net::HTTP_OK,
+ net::URLRequestStatus::FAILED);
+ EXPECT_CALL(url_callback, OnRequestDone(avatar_url));
+
+ SetupChooseCredentials(local_credentials.Pass(),
+ ScopedVector<autofill::PasswordForm>());
+ EXPECT_TRUE(ManagePasswordsBubbleView::IsShowing());
+ EXPECT_CALL(*this, OnChooseCredential(
+ Field(&password_manager::CredentialInfo::type,
+ password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY)));
+ ManagePasswordsBubbleView::CloseBubble();
+}
« no previous file with comments | « chrome/browser/ui/views/passwords/manage_passwords_bubble_view.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698