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

Side by Side Diff: chrome/browser/chromeos/login/users/avatar/user_image_manager_browsertest.cc

Issue 375413002: Replace chromeos::UserManager::Get() with chromeos::GetUserManager(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix test Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <map> 5 #include <map>
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { 105 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
106 LoginManagerTest::SetUpInProcessBrowserTestFixture(); 106 LoginManagerTest::SetUpInProcessBrowserTestFixture();
107 107
108 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_)); 108 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_));
109 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir_)); 109 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir_));
110 } 110 }
111 111
112 virtual void SetUpOnMainThread() OVERRIDE { 112 virtual void SetUpOnMainThread() OVERRIDE {
113 LoginManagerTest::SetUpOnMainThread(); 113 LoginManagerTest::SetUpOnMainThread();
114 local_state_ = g_browser_process->local_state(); 114 local_state_ = g_browser_process->local_state();
115 UserManager::Get()->AddObserver(this); 115 GetUserManager()->AddObserver(this);
116 } 116 }
117 117
118 virtual void TearDownOnMainThread() OVERRIDE { 118 virtual void TearDownOnMainThread() OVERRIDE {
119 UserManager::Get()->RemoveObserver(this); 119 GetUserManager()->RemoveObserver(this);
120 LoginManagerTest::TearDownOnMainThread(); 120 LoginManagerTest::TearDownOnMainThread();
121 } 121 }
122 122
123 // UserManager::Observer overrides: 123 // UserManager::Observer overrides:
124 virtual void LocalStateChanged(UserManager* user_manager) OVERRIDE { 124 virtual void LocalStateChanged(UserManager* user_manager) OVERRIDE {
125 if (run_loop_) 125 if (run_loop_)
126 run_loop_->Quit(); 126 run_loop_->Quit();
127 } 127 }
128 128
129 // Logs in |username|. 129 // Logs in |username|.
130 void LogIn(const std::string& username) { 130 void LogIn(const std::string& username) {
131 UserManager::Get()->UserLoggedIn(username, username, false); 131 GetUserManager()->UserLoggedIn(username, username, false);
132 } 132 }
133 133
134 // Stores old (pre-migration) user image info. 134 // Stores old (pre-migration) user image info.
135 void SetOldUserImageInfo(const std::string& username, 135 void SetOldUserImageInfo(const std::string& username,
136 int image_index, 136 int image_index,
137 const base::FilePath& image_path) { 137 const base::FilePath& image_path) {
138 RegisterUser(username); 138 RegisterUser(username);
139 DictionaryPrefUpdate images_pref(local_state_, "UserImages"); 139 DictionaryPrefUpdate images_pref(local_state_, "UserImages");
140 base::DictionaryValue* image_properties = new base::DictionaryValue(); 140 base::DictionaryValue* image_properties = new base::DictionaryValue();
141 image_properties->Set( 141 image_properties->Set(
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 // Completes the download of all non-image profile data for the user 218 // Completes the download of all non-image profile data for the user
219 // |username|. This method must only be called after a profile data 219 // |username|. This method must only be called after a profile data
220 // download has been started. |url_fetcher_factory| will capture 220 // download has been started. |url_fetcher_factory| will capture
221 // the net::TestURLFetcher created by the ProfileDownloader to 221 // the net::TestURLFetcher created by the ProfileDownloader to
222 // download the profile image. 222 // download the profile image.
223 void CompleteProfileMetadataDownload( 223 void CompleteProfileMetadataDownload(
224 const std::string& username, 224 const std::string& username,
225 net::TestURLFetcherFactory* url_fetcher_factory) { 225 net::TestURLFetcherFactory* url_fetcher_factory) {
226 ProfileDownloader* profile_downloader = 226 ProfileDownloader* profile_downloader =
227 reinterpret_cast<UserImageManagerImpl*>( 227 reinterpret_cast<UserImageManagerImpl*>(
228 UserManager::Get()->GetUserImageManager(username))-> 228 GetUserManager()->GetUserImageManager(username))
229 profile_downloader_.get(); 229 ->profile_downloader_.get();
230 ASSERT_TRUE(profile_downloader); 230 ASSERT_TRUE(profile_downloader);
231 231
232 static_cast<OAuth2TokenService::Consumer*>(profile_downloader)-> 232 static_cast<OAuth2TokenService::Consumer*>(profile_downloader)->
233 OnGetTokenSuccess(NULL, 233 OnGetTokenSuccess(NULL,
234 std::string(), 234 std::string(),
235 base::Time::Now() + base::TimeDelta::FromDays(1)); 235 base::Time::Now() + base::TimeDelta::FromDays(1));
236 236
237 net::TestURLFetcher* fetcher = 237 net::TestURLFetcher* fetcher =
238 url_fetcher_factory->GetFetcherByID(0); 238 url_fetcher_factory->GetFetcherByID(0);
239 ASSERT_TRUE(fetcher); 239 ASSERT_TRUE(fetcher);
(...skipping 27 matching lines...) Expand all
267 pref_change_registrar.Add("UserDisplayName", run_loop.QuitClosure()); 267 pref_change_registrar.Add("UserDisplayName", run_loop.QuitClosure());
268 net::TestURLFetcher* fetcher = url_fetcher_factory->GetFetcherByID(0); 268 net::TestURLFetcher* fetcher = url_fetcher_factory->GetFetcherByID(0);
269 ASSERT_TRUE(fetcher); 269 ASSERT_TRUE(fetcher);
270 fetcher->SetResponseString(profile_image_data); 270 fetcher->SetResponseString(profile_image_data);
271 fetcher->set_status(net::URLRequestStatus(net::URLRequestStatus::SUCCESS, 271 fetcher->set_status(net::URLRequestStatus(net::URLRequestStatus::SUCCESS,
272 net::OK)); 272 net::OK));
273 fetcher->set_response_code(200); 273 fetcher->set_response_code(200);
274 fetcher->delegate()->OnURLFetchComplete(fetcher); 274 fetcher->delegate()->OnURLFetchComplete(fetcher);
275 run_loop.Run(); 275 run_loop.Run();
276 276
277 const User* user = UserManager::Get()->GetLoggedInUser(); 277 const User* user = GetUserManager()->GetLoggedInUser();
278 ASSERT_TRUE(user); 278 ASSERT_TRUE(user);
279 UserImageManagerImpl* uim = reinterpret_cast<UserImageManagerImpl*>( 279 UserImageManagerImpl* uim = reinterpret_cast<UserImageManagerImpl*>(
280 UserManager::Get()->GetUserImageManager(user->email())); 280 GetUserManager()->GetUserImageManager(user->email()));
281 if (uim->job_.get()) { 281 if (uim->job_.get()) {
282 run_loop_.reset(new base::RunLoop); 282 run_loop_.reset(new base::RunLoop);
283 run_loop_->Run(); 283 run_loop_->Run();
284 } 284 }
285 } 285 }
286 286
287 base::FilePath test_data_dir_; 287 base::FilePath test_data_dir_;
288 base::FilePath user_data_dir_; 288 base::FilePath user_data_dir_;
289 289
290 PrefService* local_state_; 290 PrefService* local_state_;
291 291
292 scoped_ptr<gfx::ImageSkia> decoded_image_; 292 scoped_ptr<gfx::ImageSkia> decoded_image_;
293 293
294 scoped_ptr<base::RunLoop> run_loop_; 294 scoped_ptr<base::RunLoop> run_loop_;
295 295
296 private: 296 private:
297 DISALLOW_COPY_AND_ASSIGN(UserImageManagerTest); 297 DISALLOW_COPY_AND_ASSIGN(UserImageManagerTest);
298 }; 298 };
299 299
300 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_DefaultUserImagePreserved) { 300 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_DefaultUserImagePreserved) {
301 // Setup an old default (stock) user image. 301 // Setup an old default (stock) user image.
302 ScopedUserManagerEnabler(new MockUserManager); 302 ScopedUserManagerEnabler(new MockUserManager);
303 SetOldUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); 303 SetOldUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath());
304 } 304 }
305 305
306 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, DefaultUserImagePreserved) { 306 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, DefaultUserImagePreserved) {
307 UserManager::Get()->GetUsers(); // Load users. 307 GetUserManager()->GetUsers(); // Load users.
308 // Old info preserved. 308 // Old info preserved.
309 ExpectOldUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); 309 ExpectOldUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath());
310 LogIn(kTestUser1); 310 LogIn(kTestUser1);
311 // Image info is migrated now. 311 // Image info is migrated now.
312 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); 312 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath());
313 } 313 }
314 314
315 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_OtherUsersUnaffected) { 315 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_OtherUsersUnaffected) {
316 // Setup two users with stock images. 316 // Setup two users with stock images.
317 ScopedUserManagerEnabler(new MockUserManager); 317 ScopedUserManagerEnabler(new MockUserManager);
318 SetOldUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); 318 SetOldUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath());
319 SetOldUserImageInfo(kTestUser2, kFirstDefaultImageIndex + 1, 319 SetOldUserImageInfo(kTestUser2, kFirstDefaultImageIndex + 1,
320 base::FilePath()); 320 base::FilePath());
321 } 321 }
322 322
323 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, OtherUsersUnaffected) { 323 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, OtherUsersUnaffected) {
324 UserManager::Get()->GetUsers(); // Load users. 324 GetUserManager()->GetUsers(); // Load users.
325 // Old info preserved. 325 // Old info preserved.
326 ExpectOldUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); 326 ExpectOldUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath());
327 ExpectOldUserImageInfo(kTestUser2, kFirstDefaultImageIndex + 1, 327 ExpectOldUserImageInfo(kTestUser2, kFirstDefaultImageIndex + 1,
328 base::FilePath()); 328 base::FilePath());
329 LogIn(kTestUser1); 329 LogIn(kTestUser1);
330 // Image info is migrated for the first user and unaffected for the rest. 330 // Image info is migrated for the first user and unaffected for the rest.
331 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); 331 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath());
332 ExpectOldUserImageInfo(kTestUser2, kFirstDefaultImageIndex + 1, 332 ExpectOldUserImageInfo(kTestUser2, kFirstDefaultImageIndex + 1,
333 base::FilePath()); 333 base::FilePath());
334 } 334 }
335 335
336 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_PRE_NonJPEGImageFromFile) { 336 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_PRE_NonJPEGImageFromFile) {
337 // Setup a user with non-JPEG image. 337 // Setup a user with non-JPEG image.
338 ScopedUserManagerEnabler(new MockUserManager); 338 ScopedUserManagerEnabler(new MockUserManager);
339 SaveUserImagePNG( 339 SaveUserImagePNG(
340 kTestUser1, kDefaultImageResourceIDs[kFirstDefaultImageIndex]); 340 kTestUser1, kDefaultImageResourceIDs[kFirstDefaultImageIndex]);
341 } 341 }
342 342
343 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) { 343 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) {
344 UserManager::Get()->GetUsers(); // Load users. 344 GetUserManager()->GetUsers(); // Load users.
345 // Old info preserved. 345 // Old info preserved.
346 ExpectOldUserImageInfo(kTestUser1, User::kExternalImageIndex, 346 ExpectOldUserImageInfo(kTestUser1, User::kExternalImageIndex,
347 GetUserImagePath(kTestUser1, "png")); 347 GetUserImagePath(kTestUser1, "png"));
348 const User* user = UserManager::Get()->FindUser(kTestUser1); 348 const User* user = GetUserManager()->FindUser(kTestUser1);
349 EXPECT_TRUE(user->image_is_stub()); 349 EXPECT_TRUE(user->image_is_stub());
350 350
351 base::RunLoop run_loop; 351 base::RunLoop run_loop;
352 PrefChangeRegistrar pref_change_registrar_; 352 PrefChangeRegistrar pref_change_registrar_;
353 pref_change_registrar_.Init(local_state_); 353 pref_change_registrar_.Init(local_state_);
354 pref_change_registrar_.Add("UserImages", run_loop.QuitClosure()); 354 pref_change_registrar_.Add("UserImages", run_loop.QuitClosure());
355 LogIn(kTestUser1); 355 LogIn(kTestUser1);
356 356
357 // Wait for migration. 357 // Wait for migration.
358 run_loop.Run(); 358 run_loop.Run();
359 359
360 // Image info is migrated and the image is converted to JPG. 360 // Image info is migrated and the image is converted to JPG.
361 ExpectNewUserImageInfo(kTestUser1, User::kExternalImageIndex, 361 ExpectNewUserImageInfo(kTestUser1, User::kExternalImageIndex,
362 GetUserImagePath(kTestUser1, "jpg")); 362 GetUserImagePath(kTestUser1, "jpg"));
363 user = UserManager::Get()->GetLoggedInUser(); 363 user = GetUserManager()->GetLoggedInUser();
364 ASSERT_TRUE(user); 364 ASSERT_TRUE(user);
365 EXPECT_FALSE(user->image_is_safe_format()); 365 EXPECT_FALSE(user->image_is_safe_format());
366 // Check image dimensions. 366 // Check image dimensions.
367 const gfx::ImageSkia& saved_image = GetDefaultImage(kFirstDefaultImageIndex); 367 const gfx::ImageSkia& saved_image = GetDefaultImage(kFirstDefaultImageIndex);
368 EXPECT_EQ(saved_image.width(), user->GetImage().width()); 368 EXPECT_EQ(saved_image.width(), user->GetImage().width());
369 EXPECT_EQ(saved_image.height(), user->GetImage().height()); 369 EXPECT_EQ(saved_image.height(), user->GetImage().height());
370 } 370 }
371 371
372 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) { 372 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) {
373 UserManager::Get()->GetUsers(); // Load users. 373 GetUserManager()->GetUsers(); // Load users.
374 const User* user = UserManager::Get()->FindUser(kTestUser1); 374 const User* user = GetUserManager()->FindUser(kTestUser1);
375 ASSERT_TRUE(user); 375 ASSERT_TRUE(user);
376 // Wait for image load. 376 // Wait for image load.
377 if (user->image_index() == User::kInvalidImageIndex) { 377 if (user->image_index() == User::kInvalidImageIndex) {
378 content::WindowedNotificationObserver( 378 content::WindowedNotificationObserver(
379 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, 379 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED,
380 content::NotificationService::AllSources()).Wait(); 380 content::NotificationService::AllSources()).Wait();
381 } 381 }
382 // Now the migrated image is used. 382 // Now the migrated image is used.
383 EXPECT_TRUE(user->image_is_safe_format()); 383 EXPECT_TRUE(user->image_is_safe_format());
384 // Check image dimensions. Images can't be compared since JPEG is lossy. 384 // Check image dimensions. Images can't be compared since JPEG is lossy.
385 const gfx::ImageSkia& saved_image = GetDefaultImage(kFirstDefaultImageIndex); 385 const gfx::ImageSkia& saved_image = GetDefaultImage(kFirstDefaultImageIndex);
386 EXPECT_EQ(saved_image.width(), user->GetImage().width()); 386 EXPECT_EQ(saved_image.width(), user->GetImage().width());
387 EXPECT_EQ(saved_image.height(), user->GetImage().height()); 387 EXPECT_EQ(saved_image.height(), user->GetImage().height());
388 } 388 }
389 389
390 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) { 390 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) {
391 RegisterUser(kTestUser1); 391 RegisterUser(kTestUser1);
392 } 392 }
393 393
394 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the 394 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the
395 // chosen user image. 395 // chosen user image.
396 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) { 396 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) {
397 const User* user = UserManager::Get()->FindUser(kTestUser1); 397 const User* user = GetUserManager()->FindUser(kTestUser1);
398 ASSERT_TRUE(user); 398 ASSERT_TRUE(user);
399 399
400 const gfx::ImageSkia& default_image = 400 const gfx::ImageSkia& default_image =
401 GetDefaultImage(kFirstDefaultImageIndex); 401 GetDefaultImage(kFirstDefaultImageIndex);
402 402
403 UserImageManager* user_image_manager = 403 UserImageManager* user_image_manager =
404 UserManager::Get()->GetUserImageManager(kTestUser1); 404 GetUserManager()->GetUserImageManager(kTestUser1);
405 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); 405 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex);
406 406
407 EXPECT_TRUE(user->HasDefaultImage()); 407 EXPECT_TRUE(user->HasDefaultImage());
408 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); 408 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index());
409 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); 409 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage()));
410 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); 410 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath());
411 } 411 }
412 412
413 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) { 413 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) {
414 RegisterUser(kTestUser1); 414 RegisterUser(kTestUser1);
415 } 415 }
416 416
417 // Verifies that SaveUserImage() correctly sets and persists the chosen user 417 // Verifies that SaveUserImage() correctly sets and persists the chosen user
418 // image. 418 // image.
419 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) { 419 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) {
420 const User* user = UserManager::Get()->FindUser(kTestUser1); 420 const User* user = GetUserManager()->FindUser(kTestUser1);
421 ASSERT_TRUE(user); 421 ASSERT_TRUE(user);
422 422
423 SkBitmap custom_image_bitmap; 423 SkBitmap custom_image_bitmap;
424 custom_image_bitmap.allocN32Pixels(10, 10); 424 custom_image_bitmap.allocN32Pixels(10, 10);
425 custom_image_bitmap.setImmutable(); 425 custom_image_bitmap.setImmutable();
426 const gfx::ImageSkia custom_image = 426 const gfx::ImageSkia custom_image =
427 gfx::ImageSkia::CreateFrom1xBitmap(custom_image_bitmap); 427 gfx::ImageSkia::CreateFrom1xBitmap(custom_image_bitmap);
428 428
429 run_loop_.reset(new base::RunLoop); 429 run_loop_.reset(new base::RunLoop);
430 UserImageManager* user_image_manager = 430 UserImageManager* user_image_manager =
431 UserManager::Get()->GetUserImageManager(kTestUser1); 431 GetUserManager()->GetUserImageManager(kTestUser1);
432 user_image_manager->SaveUserImage(UserImage::CreateAndEncode(custom_image)); 432 user_image_manager->SaveUserImage(UserImage::CreateAndEncode(custom_image));
433 run_loop_->Run(); 433 run_loop_->Run();
434 434
435 EXPECT_FALSE(user->HasDefaultImage()); 435 EXPECT_FALSE(user->HasDefaultImage());
436 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); 436 EXPECT_EQ(User::kExternalImageIndex, user->image_index());
437 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage())); 437 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage()));
438 ExpectNewUserImageInfo(kTestUser1, 438 ExpectNewUserImageInfo(kTestUser1,
439 User::kExternalImageIndex, 439 User::kExternalImageIndex,
440 GetUserImagePath(kTestUser1, "jpg")); 440 GetUserImagePath(kTestUser1, "jpg"));
441 441
442 const scoped_ptr<gfx::ImageSkia> saved_image = 442 const scoped_ptr<gfx::ImageSkia> saved_image =
443 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 443 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
444 ASSERT_TRUE(saved_image); 444 ASSERT_TRUE(saved_image);
445 445
446 // Check image dimensions. Images can't be compared since JPEG is lossy. 446 // Check image dimensions. Images can't be compared since JPEG is lossy.
447 EXPECT_EQ(custom_image.width(), saved_image->width()); 447 EXPECT_EQ(custom_image.width(), saved_image->width());
448 EXPECT_EQ(custom_image.height(), saved_image->height()); 448 EXPECT_EQ(custom_image.height(), saved_image->height());
449 } 449 }
450 450
451 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) { 451 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) {
452 RegisterUser(kTestUser1); 452 RegisterUser(kTestUser1);
453 } 453 }
454 454
455 // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen 455 // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen
456 // user image. 456 // user image.
457 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) { 457 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) {
458 const User* user = UserManager::Get()->FindUser(kTestUser1); 458 const User* user = GetUserManager()->FindUser(kTestUser1);
459 ASSERT_TRUE(user); 459 ASSERT_TRUE(user);
460 460
461 const base::FilePath custom_image_path = 461 const base::FilePath custom_image_path =
462 test_data_dir_.Append(test::kUserAvatarImage1RelativePath); 462 test_data_dir_.Append(test::kUserAvatarImage1RelativePath);
463 const scoped_ptr<gfx::ImageSkia> custom_image = 463 const scoped_ptr<gfx::ImageSkia> custom_image =
464 test::ImageLoader(custom_image_path).Load(); 464 test::ImageLoader(custom_image_path).Load();
465 ASSERT_TRUE(custom_image); 465 ASSERT_TRUE(custom_image);
466 466
467 run_loop_.reset(new base::RunLoop); 467 run_loop_.reset(new base::RunLoop);
468 UserImageManager* user_image_manager = 468 UserImageManager* user_image_manager =
469 UserManager::Get()->GetUserImageManager(kTestUser1); 469 GetUserManager()->GetUserImageManager(kTestUser1);
470 user_image_manager->SaveUserImageFromFile(custom_image_path); 470 user_image_manager->SaveUserImageFromFile(custom_image_path);
471 run_loop_->Run(); 471 run_loop_->Run();
472 472
473 EXPECT_FALSE(user->HasDefaultImage()); 473 EXPECT_FALSE(user->HasDefaultImage());
474 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); 474 EXPECT_EQ(User::kExternalImageIndex, user->image_index());
475 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage())); 475 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage()));
476 ExpectNewUserImageInfo(kTestUser1, 476 ExpectNewUserImageInfo(kTestUser1,
477 User::kExternalImageIndex, 477 User::kExternalImageIndex,
478 GetUserImagePath(kTestUser1, "jpg")); 478 GetUserImagePath(kTestUser1, "jpg"));
479 479
480 const scoped_ptr<gfx::ImageSkia> saved_image = 480 const scoped_ptr<gfx::ImageSkia> saved_image =
481 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 481 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
482 ASSERT_TRUE(saved_image); 482 ASSERT_TRUE(saved_image);
483 483
484 // Check image dimensions. Images can't be compared since JPEG is lossy. 484 // Check image dimensions. Images can't be compared since JPEG is lossy.
485 EXPECT_EQ(custom_image->width(), saved_image->width()); 485 EXPECT_EQ(custom_image->width(), saved_image->width());
486 EXPECT_EQ(custom_image->height(), saved_image->height()); 486 EXPECT_EQ(custom_image->height(), saved_image->height());
487 } 487 }
488 488
489 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, 489 IN_PROC_BROWSER_TEST_F(UserImageManagerTest,
490 PRE_SaveUserImageFromProfileImage) { 490 PRE_SaveUserImageFromProfileImage) {
491 RegisterUser(kTestUser1); 491 RegisterUser(kTestUser1);
492 chromeos::StartupUtils::MarkOobeCompleted(); 492 chromeos::StartupUtils::MarkOobeCompleted();
493 } 493 }
494 494
495 // Verifies that SaveUserImageFromProfileImage() correctly downloads, sets and 495 // Verifies that SaveUserImageFromProfileImage() correctly downloads, sets and
496 // persists the chosen user image. 496 // persists the chosen user image.
497 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) { 497 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) {
498 const User* user = UserManager::Get()->FindUser(kTestUser1); 498 const User* user = GetUserManager()->FindUser(kTestUser1);
499 ASSERT_TRUE(user); 499 ASSERT_TRUE(user);
500 500
501 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); 501 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting();
502 LoginUser(kTestUser1); 502 LoginUser(kTestUser1);
503 503
504 run_loop_.reset(new base::RunLoop); 504 run_loop_.reset(new base::RunLoop);
505 UserImageManager* user_image_manager = 505 UserImageManager* user_image_manager =
506 UserManager::Get()->GetUserImageManager(kTestUser1); 506 GetUserManager()->GetUserImageManager(kTestUser1);
507 user_image_manager->SaveUserImageFromProfileImage(); 507 user_image_manager->SaveUserImageFromProfileImage();
508 run_loop_->Run(); 508 run_loop_->Run();
509 509
510 net::TestURLFetcherFactory url_fetcher_factory; 510 net::TestURLFetcherFactory url_fetcher_factory;
511 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); 511 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory);
512 CompleteProfileImageDownload(&url_fetcher_factory); 512 CompleteProfileImageDownload(&url_fetcher_factory);
513 513
514 const gfx::ImageSkia& profile_image = 514 const gfx::ImageSkia& profile_image =
515 user_image_manager->DownloadedProfileImage(); 515 user_image_manager->DownloadedProfileImage();
516 516
(...skipping 18 matching lines...) Expand all
535 RegisterUser(kTestUser1); 535 RegisterUser(kTestUser1);
536 chromeos::StartupUtils::MarkOobeCompleted(); 536 chromeos::StartupUtils::MarkOobeCompleted();
537 } 537 }
538 538
539 // Sets the user image to the profile image, then sets it to one of the default 539 // Sets the user image to the profile image, then sets it to one of the default
540 // images while the profile image download is still in progress. Verifies that 540 // images while the profile image download is still in progress. Verifies that
541 // when the download completes, the profile image is ignored and does not 541 // when the download completes, the profile image is ignored and does not
542 // clobber the default image chosen in the meantime. 542 // clobber the default image chosen in the meantime.
543 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, 543 IN_PROC_BROWSER_TEST_F(UserImageManagerTest,
544 ProfileImageDownloadDoesNotClobber) { 544 ProfileImageDownloadDoesNotClobber) {
545 const User* user = UserManager::Get()->FindUser(kTestUser1); 545 const User* user = GetUserManager()->FindUser(kTestUser1);
546 ASSERT_TRUE(user); 546 ASSERT_TRUE(user);
547 547
548 const gfx::ImageSkia& default_image = 548 const gfx::ImageSkia& default_image =
549 GetDefaultImage(kFirstDefaultImageIndex); 549 GetDefaultImage(kFirstDefaultImageIndex);
550 550
551 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); 551 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting();
552 LoginUser(kTestUser1); 552 LoginUser(kTestUser1);
553 553
554 run_loop_.reset(new base::RunLoop); 554 run_loop_.reset(new base::RunLoop);
555 UserImageManager* user_image_manager = 555 UserImageManager* user_image_manager =
556 UserManager::Get()->GetUserImageManager(kTestUser1); 556 GetUserManager()->GetUserImageManager(kTestUser1);
557 user_image_manager->SaveUserImageFromProfileImage(); 557 user_image_manager->SaveUserImageFromProfileImage();
558 run_loop_->Run(); 558 run_loop_->Run();
559 559
560 net::TestURLFetcherFactory url_fetcher_factory; 560 net::TestURLFetcherFactory url_fetcher_factory;
561 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); 561 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory);
562 562
563 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); 563 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex);
564 564
565 CompleteProfileImageDownload(&url_fetcher_factory); 565 CompleteProfileImageDownload(&url_fetcher_factory);
566 566
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 652
653 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) { 653 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) {
654 RegisterUser(kTestUser1); 654 RegisterUser(kTestUser1);
655 chromeos::StartupUtils::MarkOobeCompleted(); 655 chromeos::StartupUtils::MarkOobeCompleted();
656 } 656 }
657 657
658 // Verifies that the user image can be set through policy. Also verifies that 658 // Verifies that the user image can be set through policy. Also verifies that
659 // after the policy has been cleared, the user is able to choose a different 659 // after the policy has been cleared, the user is able to choose a different
660 // image. 660 // image.
661 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, SetAndClear) { 661 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, SetAndClear) {
662 const User* user = UserManager::Get()->FindUser(kTestUser1); 662 const User* user = GetUserManager()->FindUser(kTestUser1);
663 ASSERT_TRUE(user); 663 ASSERT_TRUE(user);
664 664
665 LoginUser(kTestUser1); 665 LoginUser(kTestUser1);
666 base::RunLoop().RunUntilIdle(); 666 base::RunLoop().RunUntilIdle();
667 667
668 policy::CloudPolicyStore* store = GetStoreForUser(user); 668 policy::CloudPolicyStore* store = GetStoreForUser(user);
669 ASSERT_TRUE(store); 669 ASSERT_TRUE(store);
670 670
671 // Set policy. Verify that the policy-provided user image is downloaded, set 671 // Set policy. Verify that the policy-provided user image is downloaded, set
672 // and persisted. 672 // and persisted.
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); 715 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage()));
716 ExpectNewUserImageInfo(kTestUser1, default_image_index, base::FilePath()); 716 ExpectNewUserImageInfo(kTestUser1, default_image_index, base::FilePath());
717 717
718 // Choose a different user image. Verify that the chosen user image is set and 718 // Choose a different user image. Verify that the chosen user image is set and
719 // persisted. 719 // persisted.
720 const int user_image_index = kFirstDefaultImageIndex + 720 const int user_image_index = kFirstDefaultImageIndex +
721 (default_image_index - kFirstDefaultImageIndex + 1) % kDefaultImagesCount; 721 (default_image_index - kFirstDefaultImageIndex + 1) % kDefaultImagesCount;
722 const gfx::ImageSkia& user_image = GetDefaultImage(user_image_index); 722 const gfx::ImageSkia& user_image = GetDefaultImage(user_image_index);
723 723
724 UserImageManager* user_image_manager = 724 UserImageManager* user_image_manager =
725 UserManager::Get()->GetUserImageManager(kTestUser1); 725 GetUserManager()->GetUserImageManager(kTestUser1);
726 user_image_manager->SaveUserDefaultImageIndex(user_image_index); 726 user_image_manager->SaveUserDefaultImageIndex(user_image_index);
727 727
728 EXPECT_TRUE(user->HasDefaultImage()); 728 EXPECT_TRUE(user->HasDefaultImage());
729 EXPECT_EQ(user_image_index, user->image_index()); 729 EXPECT_EQ(user_image_index, user->image_index());
730 EXPECT_TRUE(test::AreImagesEqual(user_image, user->GetImage())); 730 EXPECT_TRUE(test::AreImagesEqual(user_image, user->GetImage()));
731 ExpectNewUserImageInfo(kTestUser1, user_image_index, base::FilePath()); 731 ExpectNewUserImageInfo(kTestUser1, user_image_index, base::FilePath());
732 } 732 }
733 733
734 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) { 734 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) {
735 RegisterUser(kTestUser1); 735 RegisterUser(kTestUser1);
736 chromeos::StartupUtils::MarkOobeCompleted(); 736 chromeos::StartupUtils::MarkOobeCompleted();
737 } 737 }
738 738
739 // Verifies that when the user chooses a user image and a different image is 739 // Verifies that when the user chooses a user image and a different image is
740 // then set through policy, the policy takes precedence, overriding the 740 // then set through policy, the policy takes precedence, overriding the
741 // previously chosen image. 741 // previously chosen image.
742 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) { 742 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) {
743 const User* user = UserManager::Get()->FindUser(kTestUser1); 743 const User* user = GetUserManager()->FindUser(kTestUser1);
744 ASSERT_TRUE(user); 744 ASSERT_TRUE(user);
745 745
746 LoginUser(kTestUser1); 746 LoginUser(kTestUser1);
747 base::RunLoop().RunUntilIdle(); 747 base::RunLoop().RunUntilIdle();
748 748
749 policy::CloudPolicyStore* store = GetStoreForUser(user); 749 policy::CloudPolicyStore* store = GetStoreForUser(user);
750 ASSERT_TRUE(store); 750 ASSERT_TRUE(store);
751 751
752 // Choose a user image. Verify that the chosen user image is set and 752 // Choose a user image. Verify that the chosen user image is set and
753 // persisted. 753 // persisted.
754 const gfx::ImageSkia& default_image = 754 const gfx::ImageSkia& default_image =
755 GetDefaultImage(kFirstDefaultImageIndex); 755 GetDefaultImage(kFirstDefaultImageIndex);
756 756
757 UserImageManager* user_image_manager = 757 UserImageManager* user_image_manager =
758 UserManager::Get()->GetUserImageManager(kTestUser1); 758 GetUserManager()->GetUserImageManager(kTestUser1);
759 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); 759 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex);
760 760
761 EXPECT_TRUE(user->HasDefaultImage()); 761 EXPECT_TRUE(user->HasDefaultImage());
762 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); 762 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index());
763 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); 763 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage()));
764 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); 764 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath());
765 765
766 // Set policy. Verify that the policy-provided user image is downloaded, set 766 // Set policy. Verify that the policy-provided user image is downloaded, set
767 // and persisted, overriding the previously set image. 767 // and persisted, overriding the previously set image.
768 user_policy_.payload().mutable_useravatarimage()->set_value( 768 user_policy_.payload().mutable_useravatarimage()->set_value(
(...skipping 24 matching lines...) Expand all
793 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, 793 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest,
794 PRE_UserDoesNotOverridePolicy) { 794 PRE_UserDoesNotOverridePolicy) {
795 RegisterUser(kTestUser1); 795 RegisterUser(kTestUser1);
796 chromeos::StartupUtils::MarkOobeCompleted(); 796 chromeos::StartupUtils::MarkOobeCompleted();
797 } 797 }
798 798
799 // Verifies that when the user image has been set through policy and the user 799 // Verifies that when the user image has been set through policy and the user
800 // chooses a different image, the policy takes precedence, preventing the user 800 // chooses a different image, the policy takes precedence, preventing the user
801 // from overriding the previously chosen image. 801 // from overriding the previously chosen image.
802 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) { 802 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) {
803 const User* user = UserManager::Get()->FindUser(kTestUser1); 803 const User* user = GetUserManager()->FindUser(kTestUser1);
804 ASSERT_TRUE(user); 804 ASSERT_TRUE(user);
805 805
806 LoginUser(kTestUser1); 806 LoginUser(kTestUser1);
807 base::RunLoop().RunUntilIdle(); 807 base::RunLoop().RunUntilIdle();
808 808
809 policy::CloudPolicyStore* store = GetStoreForUser(user); 809 policy::CloudPolicyStore* store = GetStoreForUser(user);
810 ASSERT_TRUE(store); 810 ASSERT_TRUE(store);
811 811
812 // Set policy. Verify that the policy-provided user image is downloaded, set 812 // Set policy. Verify that the policy-provided user image is downloaded, set
813 // and persisted. 813 // and persisted.
(...skipping 17 matching lines...) Expand all
831 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 831 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
832 ASSERT_TRUE(saved_image); 832 ASSERT_TRUE(saved_image);
833 833
834 // Check image dimensions. Images can't be compared since JPEG is lossy. 834 // Check image dimensions. Images can't be compared since JPEG is lossy.
835 EXPECT_EQ(policy_image_->width(), saved_image->width()); 835 EXPECT_EQ(policy_image_->width(), saved_image->width());
836 EXPECT_EQ(policy_image_->height(), saved_image->height()); 836 EXPECT_EQ(policy_image_->height(), saved_image->height());
837 837
838 // Choose a different user image. Verify that the user image does not change 838 // Choose a different user image. Verify that the user image does not change
839 // as policy takes precedence. 839 // as policy takes precedence.
840 UserImageManager* user_image_manager = 840 UserImageManager* user_image_manager =
841 UserManager::Get()->GetUserImageManager(kTestUser1); 841 GetUserManager()->GetUserImageManager(kTestUser1);
842 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); 842 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex);
843 843
844 EXPECT_FALSE(user->HasDefaultImage()); 844 EXPECT_FALSE(user->HasDefaultImage());
845 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); 845 EXPECT_EQ(User::kExternalImageIndex, user->image_index());
846 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); 846 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage()));
847 ExpectNewUserImageInfo(kTestUser1, 847 ExpectNewUserImageInfo(kTestUser1,
848 User::kExternalImageIndex, 848 User::kExternalImageIndex,
849 GetUserImagePath(kTestUser1, "jpg")); 849 GetUserImagePath(kTestUser1, "jpg"));
850 850
851 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 851 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
852 ASSERT_TRUE(saved_image); 852 ASSERT_TRUE(saved_image);
853 853
854 // Check image dimensions. Images can't be compared since JPEG is lossy. 854 // Check image dimensions. Images can't be compared since JPEG is lossy.
855 EXPECT_EQ(policy_image_->width(), saved_image->width()); 855 EXPECT_EQ(policy_image_->width(), saved_image->width());
856 EXPECT_EQ(policy_image_->height(), saved_image->height()); 856 EXPECT_EQ(policy_image_->height(), saved_image->height());
857 } 857 }
858 858
859 } // namespace chromeos 859 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/user_flow.cc ('k') | chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698