OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "chrome/browser/profiles/profile_info_cache.h" | 6 #include "chrome/browser/profiles/profile_info_cache.h" |
7 #include "chrome/browser/profiles/profile_manager.h" | 7 #include "chrome/browser/profiles/profile_manager.h" |
| 8 #include "chrome/browser/ui/host_desktop.h" |
8 #include "chrome/test/base/in_process_browser_test.h" | 9 #include "chrome/test/base/in_process_browser_test.h" |
9 #include "chrome/test/base/testing_browser_process.h" | 10 #include "chrome/test/base/testing_browser_process.h" |
10 #include "chrome/test/base/ui_test_utils.h" | 11 #include "chrome/test/base/ui_test_utils.h" |
11 | 12 |
12 namespace { | 13 namespace { |
13 | 14 |
14 // An observer that returns back to test code after a new profile is | 15 // An observer that returns back to test code after a new profile is |
15 // initialized. | 16 // initialized. |
16 void OnUnblockOnProfileCreation(Profile* profile, | 17 void OnUnblockOnProfileCreation(Profile* profile, |
17 Profile::CreateStatus status) { | 18 Profile::CreateStatus status) { |
(...skipping 16 matching lines...) Expand all Loading... |
34 IN_PROC_BROWSER_TEST_F(ProfileManagerBrowserTest, DeleteSingletonProfile) { | 35 IN_PROC_BROWSER_TEST_F(ProfileManagerBrowserTest, DeleteSingletonProfile) { |
35 ProfileManager* profile_manager = g_browser_process->profile_manager(); | 36 ProfileManager* profile_manager = g_browser_process->profile_manager(); |
36 ProfileInfoCache& cache = profile_manager->GetProfileInfoCache(); | 37 ProfileInfoCache& cache = profile_manager->GetProfileInfoCache(); |
37 | 38 |
38 // We should start out with 1 profile. | 39 // We should start out with 1 profile. |
39 ASSERT_EQ(cache.GetNumberOfProfiles(), 1U); | 40 ASSERT_EQ(cache.GetNumberOfProfiles(), 1U); |
40 | 41 |
41 // Delete singleton profile. | 42 // Delete singleton profile. |
42 FilePath singleton_profile_path = cache.GetPathOfProfileAtIndex(0); | 43 FilePath singleton_profile_path = cache.GetPathOfProfileAtIndex(0); |
43 EXPECT_FALSE(singleton_profile_path.empty()); | 44 EXPECT_FALSE(singleton_profile_path.empty()); |
44 profile_manager->ScheduleProfileForDeletion(singleton_profile_path); | 45 profile_manager->ScheduleProfileForDeletion(singleton_profile_path, |
| 46 chrome::HOST_DESKTOP_TYPE_NATIVE); |
45 | 47 |
46 // Spin things till profile is actually deleted. | 48 // Spin things till profile is actually deleted. |
47 content::RunAllPendingInMessageLoop(); | 49 content::RunAllPendingInMessageLoop(); |
48 | 50 |
49 // Make sure a new profile was created automatically. | 51 // Make sure a new profile was created automatically. |
50 EXPECT_EQ(cache.GetNumberOfProfiles(), 1U); | 52 EXPECT_EQ(cache.GetNumberOfProfiles(), 1U); |
51 FilePath new_profile_path = cache.GetPathOfProfileAtIndex(0); | 53 FilePath new_profile_path = cache.GetPathOfProfileAtIndex(0); |
52 EXPECT_NE(new_profile_path, singleton_profile_path); | 54 EXPECT_NE(new_profile_path, singleton_profile_path); |
53 | 55 |
54 // Make sure that last used profile preference is set correctly. | 56 // Make sure that last used profile preference is set correctly. |
(...skipping 25 matching lines...) Expand all Loading... |
80 // by OnUnblockOnProfileCreation when the profile is created. | 82 // by OnUnblockOnProfileCreation when the profile is created. |
81 content::RunMessageLoop(); | 83 content::RunMessageLoop(); |
82 | 84 |
83 ASSERT_EQ(cache.GetNumberOfProfiles(), 2U); | 85 ASSERT_EQ(cache.GetNumberOfProfiles(), 2U); |
84 | 86 |
85 // Delete all profiles. | 87 // Delete all profiles. |
86 FilePath profile_path1 = cache.GetPathOfProfileAtIndex(0); | 88 FilePath profile_path1 = cache.GetPathOfProfileAtIndex(0); |
87 FilePath profile_path2 = cache.GetPathOfProfileAtIndex(1); | 89 FilePath profile_path2 = cache.GetPathOfProfileAtIndex(1); |
88 EXPECT_FALSE(profile_path1.empty()); | 90 EXPECT_FALSE(profile_path1.empty()); |
89 EXPECT_FALSE(profile_path2.empty()); | 91 EXPECT_FALSE(profile_path2.empty()); |
90 profile_manager->ScheduleProfileForDeletion(profile_path1); | 92 profile_manager->ScheduleProfileForDeletion(profile_path1, |
91 profile_manager->ScheduleProfileForDeletion(profile_path2); | 93 chrome::HOST_DESKTOP_TYPE_NATIVE); |
| 94 profile_manager->ScheduleProfileForDeletion(profile_path2, |
| 95 chrome::HOST_DESKTOP_TYPE_NATIVE); |
92 | 96 |
93 // Spin things so deletion can take place. | 97 // Spin things so deletion can take place. |
94 content::RunAllPendingInMessageLoop(); | 98 content::RunAllPendingInMessageLoop(); |
95 | 99 |
96 // Make sure a new profile was created automatically. | 100 // Make sure a new profile was created automatically. |
97 EXPECT_EQ(cache.GetNumberOfProfiles(), 1U); | 101 EXPECT_EQ(cache.GetNumberOfProfiles(), 1U); |
98 FilePath new_profile_path = cache.GetPathOfProfileAtIndex(0); | 102 FilePath new_profile_path = cache.GetPathOfProfileAtIndex(0); |
99 EXPECT_NE(new_profile_path, profile_path1); | 103 EXPECT_NE(new_profile_path, profile_path1); |
100 EXPECT_NE(new_profile_path, profile_path2); | 104 EXPECT_NE(new_profile_path, profile_path2); |
101 | 105 |
102 // Make sure that last used profile preference is set correctly. | 106 // Make sure that last used profile preference is set correctly. |
103 Profile* last_used = ProfileManager::GetLastUsedProfile(); | 107 Profile* last_used = ProfileManager::GetLastUsedProfile(); |
104 EXPECT_EQ(new_profile_path, last_used->GetPath()); | 108 EXPECT_EQ(new_profile_path, last_used->GetPath()); |
105 } | 109 } |
106 #endif // OS_MACOSX | 110 #endif // OS_MACOSX |
OLD | NEW |