| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |