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 677 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 Loading... |
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 |
OLD | NEW |