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

Side by Side Diff: chrome/browser/ui/webui/signin/sync_confirmation_handler_unittest.cc

Issue 1949613003: Clear initial focus in Sync Confirmation dialog. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix unit tests Created 4 years, 7 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 unified diff | Download patch
« no previous file with comments | « chrome/browser/ui/webui/signin/sync_confirmation_handler.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/webui/signin/sync_confirmation_handler.h" 5 #include "chrome/browser/ui/webui/signin/sync_confirmation_handler.h"
6 6
7 #include "base/test/user_action_tester.h" 7 #include "base/test/user_action_tester.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "chrome/browser/profiles/profile_avatar_icon_util.h" 9 #include "chrome/browser/profiles/profile_avatar_icon_util.h"
10 #include "chrome/browser/signin/account_fetcher_service_factory.h" 10 #include "chrome/browser/signin/account_fetcher_service_factory.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 "gaia", 136 "gaia",
137 "", 137 "",
138 "full_name", 138 "full_name",
139 "given_name", 139 "given_name",
140 "locale", 140 "locale",
141 "http://picture.example.com/picture.jpg"); 141 "http://picture.example.com/picture.jpg");
142 142
143 base::ListValue args; 143 base::ListValue args;
144 args.Set(0, new base::FundamentalValue(kDefaultDialogHeight)); 144 args.Set(0, new base::FundamentalValue(kDefaultDialogHeight));
145 handler()->HandleInitializedWithSize(&args); 145 handler()->HandleInitializedWithSize(&args);
146 EXPECT_EQ(1U, web_ui()->call_data().size()); 146 EXPECT_EQ(2U, web_ui()->call_data().size());
147
148 // When the primary account is ready, setUserImageURL happens before
149 // clearFocus since the image URL is known before showing the dialog.
147 EXPECT_EQ("sync.confirmation.setUserImageURL", 150 EXPECT_EQ("sync.confirmation.setUserImageURL",
148 web_ui()->call_data()[0]->function_name()); 151 web_ui()->call_data()[0]->function_name());
149 EXPECT_TRUE( 152 EXPECT_TRUE(
150 web_ui()->call_data()[0]->arg1()->IsType(base::Value::TYPE_STRING)); 153 web_ui()->call_data()[0]->arg1()->IsType(base::Value::TYPE_STRING));
151 std::string passed_picture_url; 154 std::string passed_picture_url;
152 EXPECT_TRUE( 155 EXPECT_TRUE(
153 web_ui()->call_data()[0]->arg1()->GetAsString(&passed_picture_url)); 156 web_ui()->call_data()[0]->arg1()->GetAsString(&passed_picture_url));
154 157
158 EXPECT_EQ("sync.confirmation.clearFocus",
159 web_ui()->call_data()[1]->function_name());
160
155 std::string original_picture_url = 161 std::string original_picture_url =
156 AccountTrackerServiceFactory::GetForProfile(profile())-> 162 AccountTrackerServiceFactory::GetForProfile(profile())->
157 GetAccountInfo("gaia").picture_url; 163 GetAccountInfo("gaia").picture_url;
158 GURL picture_url_with_size; 164 GURL picture_url_with_size;
159 EXPECT_TRUE(profiles::GetImageURLWithThumbnailSize(GURL(original_picture_url), 165 EXPECT_TRUE(profiles::GetImageURLWithThumbnailSize(GURL(original_picture_url),
160 kExpectedProfileImageSize, 166 kExpectedProfileImageSize,
161 &picture_url_with_size)); 167 &picture_url_with_size));
162 EXPECT_EQ(picture_url_with_size.spec(), passed_picture_url); 168 EXPECT_EQ(picture_url_with_size.spec(), passed_picture_url);
163 handler()->HandleUndo(nullptr); 169 handler()->HandleUndo(nullptr);
164 } 170 }
165 171
166 TEST_F(SyncConfirmationHandlerTest, TestSetImageIfPrimaryAccountReadyLater) { 172 TEST_F(SyncConfirmationHandlerTest, TestSetImageIfPrimaryAccountReadyLater) {
167 browser()->ShowModalSyncConfirmationWindow(); 173 browser()->ShowModalSyncConfirmationWindow();
168 174
169 base::ListValue args; 175 base::ListValue args;
170 args.Set(0, new base::FundamentalValue(kDefaultDialogHeight)); 176 args.Set(0, new base::FundamentalValue(kDefaultDialogHeight));
171 handler()->HandleInitializedWithSize(&args); 177 handler()->HandleInitializedWithSize(&args);
172 EXPECT_EQ(0U, web_ui()->call_data().size()); 178 EXPECT_EQ(1U, web_ui()->call_data().size());
173 179
174 account_fetcher_service()->FakeUserInfoFetchSuccess( 180 account_fetcher_service()->FakeUserInfoFetchSuccess(
175 "gaia", 181 "gaia",
176 "foo@example.com", 182 "foo@example.com",
177 "gaia", 183 "gaia",
178 "", 184 "",
179 "full_name", 185 "full_name",
180 "given_name", 186 "given_name",
181 "locale", 187 "locale",
182 "http://picture.example.com/picture.jpg"); 188 "http://picture.example.com/picture.jpg");
183 189
184 EXPECT_EQ(1U, web_ui()->call_data().size()); 190 EXPECT_EQ(2U, web_ui()->call_data().size());
191
192 // When the primary account isn't yet ready when the dialog is shown,
193 // clearFocus is called before setUserImageURL.
194 EXPECT_EQ("sync.confirmation.clearFocus",
195 web_ui()->call_data()[0]->function_name());
196
185 EXPECT_EQ("sync.confirmation.setUserImageURL", 197 EXPECT_EQ("sync.confirmation.setUserImageURL",
186 web_ui()->call_data()[0]->function_name()); 198 web_ui()->call_data()[1]->function_name());
187 EXPECT_TRUE( 199 EXPECT_TRUE(
188 web_ui()->call_data()[0]->arg1()->IsType(base::Value::TYPE_STRING)); 200 web_ui()->call_data()[1]->arg1()->IsType(base::Value::TYPE_STRING));
189 std::string passed_picture_url; 201 std::string passed_picture_url;
190 EXPECT_TRUE( 202 EXPECT_TRUE(
191 web_ui()->call_data()[0]->arg1()->GetAsString(&passed_picture_url)); 203 web_ui()->call_data()[1]->arg1()->GetAsString(&passed_picture_url));
192 204
193 std::string original_picture_url = 205 std::string original_picture_url =
194 AccountTrackerServiceFactory::GetForProfile(profile())-> 206 AccountTrackerServiceFactory::GetForProfile(profile())->
195 GetAccountInfo("gaia").picture_url; 207 GetAccountInfo("gaia").picture_url;
196 GURL picture_url_with_size; 208 GURL picture_url_with_size;
197 EXPECT_TRUE(profiles::GetImageURLWithThumbnailSize(GURL(original_picture_url), 209 EXPECT_TRUE(profiles::GetImageURLWithThumbnailSize(GURL(original_picture_url),
198 kExpectedProfileImageSize, 210 kExpectedProfileImageSize,
199 &picture_url_with_size)); 211 &picture_url_with_size));
200 EXPECT_EQ(picture_url_with_size.spec(), passed_picture_url); 212 EXPECT_EQ(picture_url_with_size.spec(), passed_picture_url);
201 handler()->HandleUndo(nullptr); 213 handler()->HandleUndo(nullptr);
(...skipping 25 matching lines...) Expand all
227 EXPECT_FALSE(sync()->IsFirstSetupInProgress()); 239 EXPECT_FALSE(sync()->IsFirstSetupInProgress());
228 EXPECT_TRUE(sync()->IsFirstSetupComplete()); 240 EXPECT_TRUE(sync()->IsFirstSetupComplete());
229 EXPECT_TRUE( 241 EXPECT_TRUE(
230 SigninManagerFactory::GetForProfile(profile())->IsAuthenticated()); 242 SigninManagerFactory::GetForProfile(profile())->IsAuthenticated());
231 EXPECT_EQ(0, user_action_tester()->GetActionCount("Signin_Undo_Signin")); 243 EXPECT_EQ(0, user_action_tester()->GetActionCount("Signin_Undo_Signin"));
232 EXPECT_EQ(1, user_action_tester()->GetActionCount( 244 EXPECT_EQ(1, user_action_tester()->GetActionCount(
233 "Signin_Signin_WithDefaultSyncSettings")); 245 "Signin_Signin_WithDefaultSyncSettings"));
234 EXPECT_EQ(0, user_action_tester()->GetActionCount( 246 EXPECT_EQ(0, user_action_tester()->GetActionCount(
235 "Signin_Signin_WithAdvancedSyncSettings")); 247 "Signin_Signin_WithAdvancedSyncSettings"));
236 } 248 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/signin/sync_confirmation_handler.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698