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

Unified Diff: chrome/browser/profiles/profile_shortcut_manager_unittest_win.cc

Issue 1242793005: Refactor most c/b/profiles calls to ProfileInfoCache. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Windows unit test and ChromeOS build Created 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/profiles/profile_shortcut_manager_unittest_win.cc
diff --git a/chrome/browser/profiles/profile_shortcut_manager_unittest_win.cc b/chrome/browser/profiles/profile_shortcut_manager_unittest_win.cc
index 6a9bfd39987695777eff93be4ca5388fbeb2c63c..e4b7d9e5caff6b4f6dc033ce9fae02946913fc45 100644
--- a/chrome/browser/profiles/profile_shortcut_manager_unittest_win.cc
+++ b/chrome/browser/profiles/profile_shortcut_manager_unittest_win.cc
@@ -14,6 +14,8 @@
#include "base/test/test_shortcut_win.h"
#include "base/win/shortcut.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_attributes_entry.h"
+#include "chrome/browser/profiles/profile_attributes_storage.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/profiles/profile_shortcut_manager.h"
#include "chrome/browser/profiles/profile_shortcut_manager_win.h"
@@ -36,7 +38,7 @@ class ProfileShortcutManagerTest : public testing::Test {
ProfileShortcutManagerTest()
: ui_thread_(BrowserThread::UI, &message_loop_),
file_thread_(BrowserThread::FILE, &message_loop_),
- profile_info_cache_(NULL),
+ profile_attributes_storage_(NULL),
fake_user_desktop_(base::DIR_USER_DESKTOP),
fake_system_desktop_(base::DIR_COMMON_DESKTOP) {
}
@@ -48,7 +50,8 @@ class ProfileShortcutManagerTest : public testing::Test {
TestingBrowserProcess::GetGlobal();
profile_manager_.reset(new TestingProfileManager(browser_process));
ASSERT_TRUE(profile_manager_->SetUp());
- profile_info_cache_ = profile_manager_->profile_info_cache();
+ profile_attributes_storage_ =
+ profile_manager_->profile_attributes_storage();
profile_shortcut_manager_.reset(
ProfileShortcutManager::Create(profile_manager_->profile_manager()));
profile_1_name_ = L"My profile";
@@ -63,13 +66,13 @@ class ProfileShortcutManagerTest : public testing::Test {
message_loop_.RunUntilIdle();
// Delete all profiles and ensure their shortcuts got removed.
- const int num_profiles = profile_info_cache_->GetNumberOfProfiles();
+ const int num_profiles = profile_attributes_storage_->GetNumberOfProfiles();
for (int i = 0; i < num_profiles; ++i) {
- const base::FilePath profile_path =
- profile_info_cache_->GetPathOfProfileAtIndex(0);
- base::string16 profile_name =
- profile_info_cache_->GetNameOfProfileAtIndex(0);
- profile_info_cache_->DeleteProfileFromCache(profile_path);
+ std::vector<ProfileAttributesEntry*> entries =
+ profile_attributes_storage_->GetAllProfilesAttributes();
+ const base::FilePath profile_path = entries[0]->GetPath();
+ base::string16 profile_name = entries[0]->GetName();
+ profile_attributes_storage_->RemoveProfile(profile_path);
RunPendingTasks();
ASSERT_FALSE(ProfileShortcutExistsAtDefaultPath(profile_name));
// The icon file is not deleted until the profile directory is deleted.
@@ -81,7 +84,7 @@ class ProfileShortcutManagerTest : public testing::Test {
base::FilePath CreateProfileDirectory(const base::string16& profile_name) {
const base::FilePath profile_path =
- profile_info_cache_->GetUserDataDir().Append(profile_name);
+ profile_attributes_storage_->GetUserDataDir().Append(profile_name);
base::CreateDirectory(profile_path);
return profile_path;
}
@@ -93,13 +96,13 @@ class ProfileShortcutManagerTest : public testing::Test {
}
void SetupDefaultProfileShortcut(const tracked_objects::Location& location) {
- ASSERT_EQ(0, profile_info_cache_->GetNumberOfProfiles())
+ ASSERT_EQ(0, profile_attributes_storage_->GetNumberOfProfiles())
<< location.ToString();
ASSERT_FALSE(ProfileShortcutExistsAtDefaultPath(profile_1_name_))
<< location.ToString();
- profile_info_cache_->AddProfileToCache(profile_1_path_, profile_1_name_,
- std::string(), base::string16(), 0,
- std::string());
+ profile_attributes_storage_->AddProfile(profile_1_path_, profile_1_name_,
+ std::string(), base::string16(), 0,
+ std::string());
// Also create a non-badged shortcut for Chrome, which is conveniently done
// by |CreateProfileShortcut()| since there is only one profile.
profile_shortcut_manager_->CreateProfileShortcut(profile_1_path_);
@@ -186,9 +189,9 @@ class ProfileShortcutManagerTest : public testing::Test {
const base::FilePath& profile_path) {
ASSERT_FALSE(ProfileShortcutExistsAtDefaultPath(profile_name))
<< location.ToString();
- profile_info_cache_->AddProfileToCache(profile_path, profile_name,
- std::string(), base::string16(), 0,
- std::string());
+ profile_attributes_storage_->AddProfile(profile_path, profile_name,
+ std::string(), base::string16(), 0,
+ std::string());
profile_shortcut_manager_->CreateProfileShortcut(profile_path);
RunPendingTasks();
ValidateProfileShortcut(location, profile_name, profile_path);
@@ -237,13 +240,11 @@ class ProfileShortcutManagerTest : public testing::Test {
void RenameProfile(const tracked_objects::Location& location,
const base::FilePath& profile_path,
const base::string16& new_profile_name) {
- const size_t profile_index =
- profile_info_cache_->GetIndexOfProfileWithPath(profile_2_path_);
- ASSERT_NE(std::string::npos, profile_index);
- ASSERT_NE(profile_info_cache_->GetNameOfProfileAtIndex(profile_index),
- new_profile_name);
- profile_info_cache_->SetNameOfProfileAtIndex(profile_index,
- new_profile_name);
+ ProfileAttributesEntry* entry;
+ ASSERT_TRUE(profile_attributes_storage_->GetProfileAttributesWithPath(
+ profile_2_path_, &entry));
+ ASSERT_NE(entry->GetName(), new_profile_name);
+ entry->SetName(new_profile_name);
RunPendingTasks();
}
@@ -280,7 +281,7 @@ class ProfileShortcutManagerTest : public testing::Test {
content::TestBrowserThread file_thread_;
scoped_ptr<TestingProfileManager> profile_manager_;
scoped_ptr<ProfileShortcutManager> profile_shortcut_manager_;
- ProfileInfoCache* profile_info_cache_;
+ ProfileAttributesStorage* profile_attributes_storage_;
base::ScopedPathOverride fake_user_desktop_;
base::ScopedPathOverride fake_system_desktop_;
base::string16 profile_1_name_;
@@ -335,7 +336,7 @@ TEST_F(ProfileShortcutManagerTest, UnbadgedShortcutFilename) {
TEST_F(ProfileShortcutManagerTest, ShortcutFlags) {
const base::string16 kProfileName = L"MyProfileX";
const base::FilePath profile_path =
- profile_info_cache_->GetUserDataDir().Append(kProfileName);
+ profile_attributes_storage_->GetUserDataDir().Append(kProfileName);
EXPECT_EQ(L"--profile-directory=\"" + kProfileName + L"\"",
profiles::internal::CreateProfileShortcutFlags(profile_path));
}
@@ -365,9 +366,9 @@ TEST_F(ProfileShortcutManagerTest, CreateSecondProfileBadgesFirstShortcut) {
ASSERT_TRUE(ProfileShortcutExistsAtDefaultPath(base::string16()));
// Create a second profile without a shortcut.
- profile_info_cache_->AddProfileToCache(profile_2_path_, profile_2_name_,
- std::string(), base::string16(), 0,
- std::string());
+ profile_attributes_storage_->AddProfile(profile_2_path_, profile_2_name_,
+ std::string(), base::string16(), 0,
+ std::string());
RunPendingTasks();
// Ensure that the second profile doesn't have a shortcut and that the first
@@ -381,7 +382,7 @@ TEST_F(ProfileShortcutManagerTest, DesktopShortcutsDeleteSecondToLast) {
SetupAndCreateTwoShortcuts(FROM_HERE);
// Delete one shortcut.
- profile_info_cache_->DeleteProfileFromCache(profile_2_path_);
+ profile_attributes_storage_->RemoveProfile(profile_2_path_);
RunPendingTasks();
EXPECT_FALSE(ProfileShortcutExistsAtDefaultPath(profile_2_name_));
@@ -406,7 +407,7 @@ TEST_F(ProfileShortcutManagerTest, DeleteSecondToLastProfileWithoutShortcut) {
ASSERT_TRUE(base::PathExists(profile_2_shortcut_path));
// Delete the profile that doesn't have a shortcut.
- profile_info_cache_->DeleteProfileFromCache(profile_1_path_);
+ profile_attributes_storage_->RemoveProfile(profile_1_path_);
RunPendingTasks();
// Verify that the remaining shortcut does not have a profile name.
@@ -430,7 +431,7 @@ TEST_F(ProfileShortcutManagerTest, DeleteSecondToLastProfileWithShortcut) {
ASSERT_TRUE(base::PathExists(profile_2_shortcut_path));
// Delete the profile that has a shortcut.
- profile_info_cache_->DeleteProfileFromCache(profile_2_path_);
+ profile_attributes_storage_->RemoveProfile(profile_2_path_);
RunPendingTasks();
// Verify that the remaining shortcut does not have a profile name.
@@ -465,7 +466,7 @@ TEST_F(ProfileShortcutManagerTest, DeleteOnlyProfileWithShortcuts) {
// Delete the third profile and check that its shortcut is gone and no
// shortcuts have been re-created.
- profile_info_cache_->DeleteProfileFromCache(profile_3_path_);
+ profile_attributes_storage_->RemoveProfile(profile_3_path_);
RunPendingTasks();
ASSERT_FALSE(base::PathExists(profile_1_shortcut_path));
ASSERT_FALSE(base::PathExists(profile_2_shortcut_path));
@@ -477,7 +478,7 @@ TEST_F(ProfileShortcutManagerTest, DesktopShortcutsCreateSecond) {
SetupAndCreateTwoShortcuts(FROM_HERE);
// Delete one shortcut.
- profile_info_cache_->DeleteProfileFromCache(profile_2_path_);
+ profile_attributes_storage_->RemoveProfile(profile_2_path_);
RunPendingTasks();
// Verify that a default shortcut exists (no profile name/avatar).
@@ -544,7 +545,7 @@ TEST_F(ProfileShortcutManagerTest, RenamedDesktopShortcutsGetDeleted) {
EXPECT_TRUE(base::PathExists(preserved_profile_1_shortcut_path));
// Delete the profile and ensure both shortcuts were also deleted.
- profile_info_cache_->DeleteProfileFromCache(profile_2_path_);
+ profile_attributes_storage_->RemoveProfile(profile_2_path_);
RunPendingTasks();
EXPECT_FALSE(base::PathExists(profile_2_shortcut_path_1));
EXPECT_FALSE(base::PathExists(profile_2_shortcut_path_2));
@@ -688,11 +689,11 @@ TEST_F(ProfileShortcutManagerTest, ProfileShortcutsWithSystemLevelShortcut) {
CreateRegularSystemLevelShortcut(FROM_HERE);
// Create the initial profile.
- profile_info_cache_->AddProfileToCache(profile_1_path_, profile_1_name_,
- std::string(), base::string16(), 0,
- std::string());
+ profile_attributes_storage_->AddProfile(profile_1_path_, profile_1_name_,
+ std::string(), base::string16(), 0,
+ std::string());
RunPendingTasks();
- ASSERT_EQ(1U, profile_info_cache_->GetNumberOfProfiles());
+ ASSERT_EQ(1U, profile_attributes_storage_->GetNumberOfProfiles());
// Ensure system-level continues to exist and user-level was not created.
EXPECT_TRUE(base::PathExists(system_level_shortcut_path));
@@ -707,32 +708,33 @@ TEST_F(ProfileShortcutManagerTest, ProfileShortcutsWithSystemLevelShortcut) {
EXPECT_TRUE(base::PathExists(system_level_shortcut_path));
// Create a third profile without a shortcut and ensure it doesn't get one.
- profile_info_cache_->AddProfileToCache(profile_3_path_, profile_3_name_,
- std::string(), base::string16(), 0,
- std::string());
+ profile_attributes_storage_->AddProfile(profile_3_path_, profile_3_name_,
+ std::string(), base::string16(), 0,
+ std::string());
RunPendingTasks();
EXPECT_FALSE(ProfileShortcutExistsAtDefaultPath(profile_3_name_));
+ ProfileAttributesEntry* profile_3_entry;
+ ASSERT_TRUE(profile_attributes_storage_->GetProfileAttributesWithPath(
+ profile_3_path_, &profile_3_entry));
// Ensure that changing the avatar icon and the name does not result in a
// shortcut being created.
- profile_info_cache_->SetAvatarIconOfProfileAtIndex(
- profile_info_cache_->GetIndexOfProfileWithPath(profile_3_path_), 3);
+ profile_3_entry->SetAvatarIconIndex(3);
RunPendingTasks();
EXPECT_FALSE(ProfileShortcutExistsAtDefaultPath(profile_3_name_));
const base::string16 new_profile_3_name = L"New Name 3";
- profile_info_cache_->SetNameOfProfileAtIndex(
- profile_info_cache_->GetIndexOfProfileWithPath(profile_3_path_),
- new_profile_3_name);
+ profile_3_entry->SetName(new_profile_3_name);
RunPendingTasks();
EXPECT_FALSE(ProfileShortcutExistsAtDefaultPath(profile_3_name_));
EXPECT_FALSE(ProfileShortcutExistsAtDefaultPath(new_profile_3_name));
+ ProfileAttributesEntry* profile_2_entry;
+ ASSERT_TRUE(profile_attributes_storage_->GetProfileAttributesWithPath(
+ profile_2_path_, &profile_2_entry));
// Rename the second profile and ensure its shortcut got renamed.
const base::string16 new_profile_2_name = L"New Name 2";
- profile_info_cache_->SetNameOfProfileAtIndex(
- profile_info_cache_->GetIndexOfProfileWithPath(profile_2_path_),
- new_profile_2_name);
+ profile_2_entry->SetName(new_profile_2_name);
RunPendingTasks();
EXPECT_FALSE(ProfileShortcutExistsAtDefaultPath(profile_2_name_));
ValidateProfileShortcut(FROM_HERE, new_profile_2_name, profile_2_path_);
@@ -747,7 +749,7 @@ TEST_F(ProfileShortcutManagerTest,
// Delete a profile and verify that only the system-level shortcut still
// exists.
- profile_info_cache_->DeleteProfileFromCache(profile_1_path_);
+ profile_attributes_storage_->RemoveProfile(profile_1_path_);
RunPendingTasks();
EXPECT_TRUE(base::PathExists(system_level_shortcut_path));
@@ -776,7 +778,7 @@ TEST_F(ProfileShortcutManagerTest,
// Delete the profile that has a shortcut, which will exercise the non-profile
// shortcut creation path in |DeleteDesktopShortcuts()|, which is
// not covered by the |DeleteSecondToLastProfileWithSystemLevelShortcut| test.
- profile_info_cache_->DeleteProfileFromCache(profile_2_path_);
+ profile_attributes_storage_->RemoveProfile(profile_2_path_);
RunPendingTasks();
// Verify that only the system-level shortcut still exists.
@@ -828,7 +830,7 @@ TEST_F(ProfileShortcutManagerTest, UnbadgeProfileIconOnDeletion) {
// Deleting the default profile will unbadge the new profile's icon and should
// result in an icon that is identical to the unbadged default profile icon.
- profile_info_cache_->DeleteProfileFromCache(profile_1_path_);
+ profile_attributes_storage_->RemoveProfile(profile_1_path_);
RunPendingTasks();
std::string unbadged_icon_2;
@@ -842,8 +844,6 @@ TEST_F(ProfileShortcutManagerTest, ProfileIconOnAvatarChange) {
profiles::internal::GetProfileIconPath(profile_1_path_);
const base::FilePath icon_path_2 =
profiles::internal::GetProfileIconPath(profile_2_path_);
- const size_t profile_index_1 =
- profile_info_cache_->GetIndexOfProfileWithPath(profile_1_path_);
std::string badged_icon_1;
EXPECT_TRUE(base::ReadFileToString(icon_path_1, &badged_icon_1));
@@ -853,8 +853,11 @@ TEST_F(ProfileShortcutManagerTest, ProfileIconOnAvatarChange) {
// Profile 1 and 2 are created with the same icon.
EXPECT_EQ(badged_icon_1, badged_icon_2);
+ ProfileAttributesEntry* entry;
+ ASSERT_TRUE(profile_attributes_storage_->GetProfileAttributesWithPath(
+ profile_1_path_, &entry));
// Change profile 1's icon.
- profile_info_cache_->SetAvatarIconOfProfileAtIndex(profile_index_1, 1);
+ entry->SetAvatarIconIndex(1);
RunPendingTasks();
std::string new_badged_icon_1;
@@ -862,7 +865,7 @@ TEST_F(ProfileShortcutManagerTest, ProfileIconOnAvatarChange) {
EXPECT_NE(new_badged_icon_1, badged_icon_1);
// Ensure the new icon is not the unbadged icon.
- profile_info_cache_->DeleteProfileFromCache(profile_2_path_);
+ profile_attributes_storage_->RemoveProfile(profile_2_path_);
RunPendingTasks();
std::string unbadged_icon_1;
@@ -870,7 +873,7 @@ TEST_F(ProfileShortcutManagerTest, ProfileIconOnAvatarChange) {
EXPECT_NE(unbadged_icon_1, new_badged_icon_1);
// Ensure the icon doesn't change on avatar change without 2 profiles.
- profile_info_cache_->SetAvatarIconOfProfileAtIndex(profile_index_1, 1);
+ entry->SetAvatarIconIndex(1);
RunPendingTasks();
std::string unbadged_icon_1_a;

Powered by Google App Engine
This is Rietveld 408576698