Index: chrome/browser/profiles/profile_manager_unittest.cc |
diff --git a/chrome/browser/profiles/profile_manager_unittest.cc b/chrome/browser/profiles/profile_manager_unittest.cc |
index 205665c17411610eb9932fd1da22f3e4576f3014..efc80af5da8a090f318cfb68410020b1199b4d97 100644 |
--- a/chrome/browser/profiles/profile_manager_unittest.cc |
+++ b/chrome/browser/profiles/profile_manager_unittest.cc |
@@ -300,6 +300,62 @@ TEST_F(ProfileManagerTest, GetGuestProfilePath) { |
EXPECT_EQ(expected_path, guest_path); |
} |
+#if defined(OS_CHROMEOS) |
+class UnittestGuestProfileManager : public UnittestProfileManager { |
+ public: |
+ explicit UnittestGuestProfileManager(const base::FilePath& user_data_dir) |
+ : UnittestProfileManager(user_data_dir) {} |
+ |
+ protected: |
+ virtual Profile* CreateProfileHelper( |
+ const base::FilePath& file_path) OVERRIDE { |
+ TestingProfile* testing_profile = new TestingProfile(file_path, NULL); |
+ |
+ TestingProfile::Builder builder; |
+ builder.SetIncognito(); |
+ builder.SetGuestSession(); |
+ builder.SetPath(ProfileManager::GetGuestProfilePath()); |
+ testing_profile->SetOffTheRecordProfile(builder.Build().PassAs<Profile>()); |
+ |
+ return testing_profile; |
+ } |
+}; |
+ |
+class ProfileManagerGuestTest : public ProfileManagerTest { |
+ protected: |
+ virtual void SetUp() { |
+ // Create a new temporary directory, and store the path |
+ ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
+ TestingBrowserProcess::GetGlobal()->SetProfileManager( |
+ new UnittestGuestProfileManager(temp_dir_.path())); |
+ |
+ CommandLine* cl = CommandLine::ForCurrentProcess(); |
+ cl->AppendSwitch(switches::kTestType); |
+ cl->AppendSwitchASCII(chromeos::switches::kLoginProfile, "user"); |
+ cl->AppendSwitch(chromeos::switches::kGuestSession); |
+ cl->AppendSwitch(::switches::kIncognito); |
+ |
+ chromeos::UserManager::Get()->UserLoggedIn( |
+ chromeos::UserManager::kGuestUserName, |
+ chromeos::UserManager::kGuestUserName, |
+ false); |
+ } |
+}; |
+ |
+TEST_F(ProfileManagerGuestTest, GuestProfileIngonito) { |
+ ProfileManager::AllowGetDefaultProfile(); |
Mr4D (OOO till 08-26)
2013/12/20 23:39:57
This function doesn't exist anymore (landed a patc
Dmitry Polukhin
2013/12/21 00:04:56
Excellent! This was artifact that has nothing with
|
+ |
+ ProfileManager* profile_manager = g_browser_process->profile_manager(); |
+ Profile* primary_profile = profile_manager->GetPrimaryUserProfile(); |
Mr4D (OOO till 08-26)
2013/12/20 23:39:57
Nit: Since Get*UserProfile function is static - an
Dmitry Polukhin
2013/12/21 00:04:56
Done. Because these functions are not virtual over
|
+ EXPECT_TRUE(primary_profile->IsOffTheRecord()); |
+ |
+ Profile* active_profile = profile_manager->GetActiveUserProfile(); |
Mr4D (OOO till 08-26)
2013/12/20 23:39:57
Same here.
Dmitry Polukhin
2013/12/21 00:04:56
Done.
|
+ EXPECT_TRUE(active_profile->IsOffTheRecord()); |
+ |
+ EXPECT_TRUE(active_profile->IsSameProfile(primary_profile)); |
+} |
+#endif |
+ |
TEST_F(ProfileManagerTest, AutoloadProfilesWithBackgroundApps) { |
ProfileManager* profile_manager = g_browser_process->profile_manager(); |
ProfileInfoCache& cache = profile_manager->GetProfileInfoCache(); |