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

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

Issue 315213002: Reset avatar image when the avatar policy becomes unset (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 677 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 GetUserImagePath(kTestUser1, "jpg")); 688 GetUserImagePath(kTestUser1, "jpg"));
689 689
690 scoped_ptr<gfx::ImageSkia> saved_image = 690 scoped_ptr<gfx::ImageSkia> saved_image =
691 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 691 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
692 ASSERT_TRUE(saved_image); 692 ASSERT_TRUE(saved_image);
693 693
694 // Check image dimensions. Images can't be compared since JPEG is lossy. 694 // Check image dimensions. Images can't be compared since JPEG is lossy.
695 EXPECT_EQ(policy_image_->width(), saved_image->width()); 695 EXPECT_EQ(policy_image_->width(), saved_image->width());
696 EXPECT_EQ(policy_image_->height(), saved_image->height()); 696 EXPECT_EQ(policy_image_->height(), saved_image->height());
697 697
698 // Clear policy. Verify that the policy-provided user image remains set as no 698 // Clear policy. Verify that the user image switches to a random default
699 // different user image has been chosen yet. 699 // image.
700 user_policy_.payload().Clear(); 700 user_policy_.payload().Clear();
701 user_policy_.Build(); 701 user_policy_.Build();
702 fake_session_manager_client_->set_user_policy(kTestUser1, 702 fake_session_manager_client_->set_user_policy(kTestUser1,
703 user_policy_.GetBlob()); 703 user_policy_.GetBlob());
704 run_loop_.reset(new base::RunLoop); 704 run_loop_.reset(new base::RunLoop);
705 store->AddObserver(this); 705 store->AddObserver(this);
706 store->Load(); 706 store->Load();
707 run_loop_->Run(); 707 run_loop_->Run();
708 store->RemoveObserver(this); 708 store->RemoveObserver(this);
709 base::RunLoop().RunUntilIdle(); 709 base::RunLoop().RunUntilIdle();
710 710
711 EXPECT_FALSE(user->HasDefaultImage()); 711 const int default_image_index = user->image_index();
712 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); 712 EXPECT_TRUE(user->HasDefaultImage());
713 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); 713 ASSERT_LE(kFirstDefaultImageIndex, default_image_index);
714 ExpectNewUserImageInfo(kTestUser1, 714 ASSERT_GT(kFirstDefaultImageIndex + kDefaultImagesCount, default_image_index);
715 User::kExternalImageIndex, 715 const gfx::ImageSkia& default_image = GetDefaultImage(default_image_index);
716 GetUserImagePath(kTestUser1, "jpg")); 716 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage()));
717 717 ExpectNewUserImageInfo(kTestUser1, default_image_index, base::FilePath());
718 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
719 ASSERT_TRUE(saved_image);
720
721 // Check image dimensions. Images can't be compared since JPEG is lossy.
722 EXPECT_EQ(policy_image_->width(), saved_image->width());
723 EXPECT_EQ(policy_image_->height(), saved_image->height());
724 718
725 // Choose a different user image. Verify that the chosen user image is set and 719 // Choose a different user image. Verify that the chosen user image is set and
726 // persisted. 720 // persisted.
727 const gfx::ImageSkia& default_image = 721 const int user_image_index = kFirstDefaultImageIndex +
728 GetDefaultImage(kFirstDefaultImageIndex); 722 (default_image_index - kFirstDefaultImageIndex + 1) % kDefaultImagesCount;
723 const gfx::ImageSkia& user_image = GetDefaultImage(user_image_index);
729 724
730 UserImageManager* user_image_manager = 725 UserImageManager* user_image_manager =
731 UserManager::Get()->GetUserImageManager(kTestUser1); 726 UserManager::Get()->GetUserImageManager(kTestUser1);
732 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); 727 user_image_manager->SaveUserDefaultImageIndex(user_image_index);
733 728
734 EXPECT_TRUE(user->HasDefaultImage()); 729 EXPECT_TRUE(user->HasDefaultImage());
735 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); 730 EXPECT_EQ(user_image_index, user->image_index());
736 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); 731 EXPECT_TRUE(test::AreImagesEqual(user_image, user->GetImage()));
737 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); 732 ExpectNewUserImageInfo(kTestUser1, user_image_index, base::FilePath());
738 } 733 }
739 734
740 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) { 735 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) {
741 RegisterUser(kTestUser1); 736 RegisterUser(kTestUser1);
742 chromeos::StartupUtils::MarkOobeCompleted(); 737 chromeos::StartupUtils::MarkOobeCompleted();
743 } 738 }
744 739
745 // Verifies that when the user chooses a user image and a different image is 740 // Verifies that when the user chooses a user image and a different image is
746 // then set through policy, the policy takes precedence, overriding the 741 // then set through policy, the policy takes precedence, overriding the
747 // previously chosen image. 742 // previously chosen image.
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
856 851
857 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 852 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
858 ASSERT_TRUE(saved_image); 853 ASSERT_TRUE(saved_image);
859 854
860 // Check image dimensions. Images can't be compared since JPEG is lossy. 855 // Check image dimensions. Images can't be compared since JPEG is lossy.
861 EXPECT_EQ(policy_image_->width(), saved_image->width()); 856 EXPECT_EQ(policy_image_->width(), saved_image->width());
862 EXPECT_EQ(policy_image_->height(), saved_image->height()); 857 EXPECT_EQ(policy_image_->height(), saved_image->height());
863 } 858 }
864 859
865 } // namespace chromeos 860 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698