Index: chrome/browser/sync/signin_manager_unittest.cc |
diff --git a/chrome/browser/sync/signin_manager_unittest.cc b/chrome/browser/sync/signin_manager_unittest.cc |
index 2ecad6ef017b701c0bd01f315132565d2560cb1e..93e97c6ebb13df89556747f2955f8bdccb870005 100644 |
--- a/chrome/browser/sync/signin_manager_unittest.cc |
+++ b/chrome/browser/sync/signin_manager_unittest.cc |
@@ -8,10 +8,12 @@ |
#include "chrome/browser/net/gaia/token_service.h" |
#include "chrome/browser/net/gaia/token_service_unittest.h" |
#include "chrome/browser/password_manager/encryptor.h" |
+#include "chrome/browser/prefs/pref_service.h" |
#include "chrome/browser/sync/util/oauth.h" |
#include "chrome/browser/webdata/web_data_service.h" |
#include "chrome/common/chrome_notification_types.h" |
#include "chrome/common/net/gaia/gaia_urls.h" |
+#include "chrome/common/pref_names.h" |
#include "chrome/test/base/testing_profile.h" |
#include "content/test/test_url_fetcher_factory.h" |
#include "net/url_request/url_request.h" |
@@ -112,6 +114,39 @@ TEST_F(SigninManagerTest, SignInClientLogin) { |
EXPECT_EQ("user@gmail.com", manager_->GetUsername()); |
} |
+TEST_F(SigninManagerTest, ClearInMemoryData) { |
+ browser_sync::SetIsUsingOAuthForTest(false); |
+ manager_->Initialize(profile_.get()); |
+ EXPECT_TRUE(manager_->GetUsername().empty()); |
+ |
+ manager_->StartSignIn("username", "password", "", ""); |
+ EXPECT_FALSE(manager_->GetUsername().empty()); |
+ |
+ SimulateValidResponseClientLogin(); |
+ |
+ // Should go into token service and stop. |
+ EXPECT_EQ(1U, google_login_success_.size()); |
+ EXPECT_EQ(0U, google_login_failure_.size()); |
+ |
+ EXPECT_EQ("user@gmail.com", manager_->GetUsername()); |
+ |
+ // Now clear the in memory data. |
+ manager_->ClearInMemoryData(); |
+ EXPECT_TRUE(manager_->GetUsername().empty()); |
+ |
+ // Ensure preferences are not modified. |
+ EXPECT_FALSE( |
+ profile_->GetPrefs()->GetString(prefs::kGoogleServicesUsername).empty()); |
+ |
+ // On reset it should be regenerated. |
+ manager_.reset(new SigninManager()); |
+ manager_->Initialize(profile_.get()); |
+ |
+ // Now make sure we have the right user name. |
+ EXPECT_EQ("user@gmail.com", manager_->GetUsername()); |
+} |
+ |
+ |
// NOTE: OAuth's "StartOAuthSignIn" is called before collecting credentials |
// from the user. See also SigninManagerTest::SignInClientLogin. |
TEST_F(SigninManagerTest, SignInOAuth) { |