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

Unified Diff: chrome/browser/profile_resetter/profile_resetter_unittest.cc

Issue 15654005: Reset homepage and startup pages (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fixed ResetStartPage, default startup page is different on CrOS Created 7 years, 7 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
« no previous file with comments | « chrome/browser/profile_resetter/profile_resetter.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/profile_resetter/profile_resetter_unittest.cc
diff --git a/chrome/browser/profile_resetter/profile_resetter_unittest.cc b/chrome/browser/profile_resetter/profile_resetter_unittest.cc
index 64ad49168efa9fcf76149a80c864cda375b3102a..2cb521b9516b12650d1f07d4ce7f70e3b9c95443 100644
--- a/chrome/browser/profile_resetter/profile_resetter_unittest.cc
+++ b/chrome/browser/profile_resetter/profile_resetter_unittest.cc
@@ -5,90 +5,151 @@
#include "chrome/browser/profile_resetter/profile_resetter.h"
#include "base/bind.h"
-#include "base/callback.h"
-#include "base/message_loop.h"
-#include "content/public/test/test_browser_thread.h"
+#include "base/prefs/pref_service.h"
+#include "chrome/browser/prefs/session_startup_pref.h"
+#include "chrome/browser/search_engines/template_url_service_test_util.h"
+#include "chrome/common/pref_names.h"
+#include "chrome/test/base/testing_profile.h"
+#include "content/public/test/test_utils.h"
#include "testing/gmock/include/gmock/gmock.h"
namespace {
class MockObject {
public:
+ void RunLoop() {
+ EXPECT_CALL(*this, Callback());
+ runner_ = new content::MessageLoopRunner;
+ runner_->Run();
+ }
+
+ void StopLoop() {
+ DCHECK(runner_);
+ Callback();
+ runner_->Quit();
+ }
+
+ private:
MOCK_METHOD0(Callback, void(void));
+
+ scoped_refptr<content::MessageLoopRunner> runner_;
};
class ProfileResetterTest : public testing::Test {
- public:
- ProfileResetterTest()
- : ui_thread_(content::BrowserThread::UI, &message_loop_),
- resetter_(NULL) {}
-
- ~ProfileResetterTest() {}
-
- private:
- base::MessageLoopForUI message_loop_;
- content::TestBrowserThread ui_thread_;
-
protected:
+ ProfileResetterTest();
+ ~ProfileResetterTest();
+ // testing::Test:
+ virtual void SetUp() OVERRIDE;
+ virtual void TearDown() OVERRIDE;
+
testing::StrictMock<MockObject> mock_object_;
- ProfileResetter resetter_;
+ TemplateURLServiceTestUtil test_util_;
+ scoped_ptr<ProfileResetter> resetter_;
+
+ DISALLOW_COPY_AND_ASSIGN(ProfileResetterTest);
};
+ProfileResetterTest::ProfileResetterTest() {}
+
+ProfileResetterTest::~ProfileResetterTest() {}
+
+void ProfileResetterTest::SetUp() {
+ test_util_.SetUp();
+ resetter_.reset(new ProfileResetter(test_util_.profile()));
+}
+
+void ProfileResetterTest::TearDown() {
+ test_util_.TearDown();
+}
+
TEST_F(ProfileResetterTest, ResetDefaultSearchEngine) {
- EXPECT_CALL(mock_object_, Callback());
- resetter_.Reset(
+ test_util_.VerifyLoad();
+ resetter_->Reset(
ProfileResetter::DEFAULT_SEARCH_ENGINE,
ProfileResetter::DISABLE_EXTENSIONS,
- base::Bind(&MockObject::Callback, base::Unretained(&mock_object_)));
+ base::Bind(&MockObject::StopLoop, base::Unretained(&mock_object_)));
+ mock_object_.RunLoop();
}
TEST_F(ProfileResetterTest, ResetHomepage) {
- EXPECT_CALL(mock_object_, Callback());
- resetter_.Reset(
+ PrefService* prefs = test_util_.profile()->GetPrefs();
+ DCHECK(prefs);
+ prefs->SetBoolean(prefs::kHomePageIsNewTabPage, false);
+ prefs->SetString(prefs::kHomePage, "http://google.com");
+ prefs->SetBoolean(prefs::kShowHomeButton, true);
+
+ resetter_->Reset(
ProfileResetter::HOMEPAGE,
ProfileResetter::DISABLE_EXTENSIONS,
- base::Bind(&MockObject::Callback, base::Unretained(&mock_object_)));
+ base::Bind(&MockObject::StopLoop, base::Unretained(&mock_object_)));
+ mock_object_.RunLoop();
+
+ EXPECT_TRUE(prefs->GetBoolean(prefs::kHomePageIsNewTabPage));
+ EXPECT_EQ(std::string(), prefs->GetString(prefs::kHomePage));
+ EXPECT_FALSE(prefs->GetBoolean(prefs::kShowHomeButton));
}
TEST_F(ProfileResetterTest, ResetContentSettings) {
- EXPECT_CALL(mock_object_, Callback());
- resetter_.Reset(
+ resetter_->Reset(
ProfileResetter::CONTENT_SETTINGS,
ProfileResetter::DISABLE_EXTENSIONS,
- base::Bind(&MockObject::Callback, base::Unretained(&mock_object_)));
+ base::Bind(&MockObject::StopLoop, base::Unretained(&mock_object_)));
+ mock_object_.RunLoop();
}
TEST_F(ProfileResetterTest, ResetCookiesAndSiteData) {
- EXPECT_CALL(mock_object_, Callback());
- resetter_.Reset(
+ resetter_->Reset(
ProfileResetter::COOKIES_AND_SITE_DATA,
ProfileResetter::DISABLE_EXTENSIONS,
- base::Bind(&MockObject::Callback, base::Unretained(&mock_object_)));
+ base::Bind(&MockObject::StopLoop, base::Unretained(&mock_object_)));
+ mock_object_.RunLoop();
}
TEST_F(ProfileResetterTest, ResetExtensionsByDisabling) {
- EXPECT_CALL(mock_object_, Callback());
- resetter_.Reset(
+ resetter_->Reset(
ProfileResetter::EXTENSIONS,
ProfileResetter::DISABLE_EXTENSIONS,
- base::Bind(&MockObject::Callback, base::Unretained(&mock_object_)));
+ base::Bind(&MockObject::StopLoop, base::Unretained(&mock_object_)));
+ mock_object_.RunLoop();
}
TEST_F(ProfileResetterTest, ResetExtensionsByUninstalling) {
- EXPECT_CALL(mock_object_, Callback());
- resetter_.Reset(
+ resetter_->Reset(
ProfileResetter::EXTENSIONS,
ProfileResetter::UNINSTALL_EXTENSIONS,
- base::Bind(&MockObject::Callback, base::Unretained(&mock_object_)));
+ base::Bind(&MockObject::StopLoop, base::Unretained(&mock_object_)));
+ mock_object_.RunLoop();
+}
+
+TEST_F(ProfileResetterTest, ResetStartPage) {
+ PrefService* prefs = test_util_.profile()->GetPrefs();
+ DCHECK(prefs);
+
+ SessionStartupPref startup_pref(SessionStartupPref::URLS);
+ startup_pref.urls.push_back(GURL("http://foo"));
+ startup_pref.urls.push_back(GURL("http://bar"));
+ SessionStartupPref::SetStartupPref(prefs, startup_pref);
+
+ resetter_->Reset(
+ ProfileResetter::STARTUP_PAGE,
+ ProfileResetter::DISABLE_EXTENSIONS,
+ base::Bind(&MockObject::StopLoop, base::Unretained(&mock_object_)));
+ mock_object_.RunLoop();
+
+ startup_pref = SessionStartupPref::GetStartupPref(prefs);
+ EXPECT_EQ(SessionStartupPref::GetDefaultStartupType(), startup_pref.type);
+ EXPECT_EQ(std::vector<GURL>(), startup_pref.urls);
}
TEST_F(ProfileResetterTest, ResetExtensionsAll) {
// mock_object_ is a StrictMock, so we verify that it is called only once.
- EXPECT_CALL(mock_object_, Callback());
- resetter_.Reset(
+ test_util_.VerifyLoad();
+ resetter_->Reset(
ProfileResetter::ALL,
ProfileResetter::UNINSTALL_EXTENSIONS,
- base::Bind(&MockObject::Callback, base::Unretained(&mock_object_)));
+ base::Bind(&MockObject::StopLoop, base::Unretained(&mock_object_)));
+ mock_object_.RunLoop();
}
} // namespace
« no previous file with comments | « chrome/browser/profile_resetter/profile_resetter.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698