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

Unified Diff: chrome/browser/chromeos/login/merge_session_load_page_unittest.cc

Issue 286933002: [cros login] Split login related classes into subfolders. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix includes in new tests Created 6 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
Index: chrome/browser/chromeos/login/merge_session_load_page_unittest.cc
diff --git a/chrome/browser/chromeos/login/merge_session_load_page_unittest.cc b/chrome/browser/chromeos/login/merge_session_load_page_unittest.cc
deleted file mode 100644
index 1b21460079d5023bf74be837bc87301ce5490eb8..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/login/merge_session_load_page_unittest.cc
+++ /dev/null
@@ -1,183 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/run_loop.h"
-#include "base/time/time.h"
-#include "chrome/browser/chromeos/login/merge_session_load_page.h"
-#include "chrome/browser/chromeos/login/oauth2_login_manager.h"
-#include "chrome/browser/chromeos/login/oauth2_login_manager_factory.h"
-#include "chrome/browser/chromeos/login/user_manager.h"
-#include "chrome/browser/chromeos/settings/cros_settings.h"
-#include "chrome/browser/chromeos/settings/device_settings_service.h"
-#include "chrome/test/base/chrome_render_view_host_test_harness.h"
-#include "content/public/browser/interstitial_page.h"
-#include "content/public/browser/navigation_controller.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/test/web_contents_tester.h"
-
-using content::InterstitialPage;
-using content::WebContents;
-using content::WebContentsTester;
-
-namespace {
-
-const char kURL1[] = "http://www.google.com/";
-const char kURL2[] = "http://mail.google.com/";
-
-const int64 kSessionMergeTimeout = 60;
-
-} // namespace
-
-namespace chromeos {
-
-class MergeSessionLoadPageTest;
-
-// An MergeSessionLoadPage class that does not create windows.
-class TestMergeSessionLoadPage : public MergeSessionLoadPage {
- public:
- TestMergeSessionLoadPage(WebContents* web_contents,
- const GURL& url,
- MergeSessionLoadPageTest* test_page)
- : MergeSessionLoadPage(web_contents,
- url,
- MergeSessionThrottle::CompletionCallback()),
- test_page_(test_page) {
- interstitial_page_->DontCreateViewForTesting();
- }
-
- private:
- MergeSessionLoadPageTest* test_page_;
-
- DISALLOW_COPY_AND_ASSIGN(TestMergeSessionLoadPage);
-};
-
-class MergeSessionLoadPageTest : public ChromeRenderViewHostTestHarness {
- protected:
- virtual void SetUp() OVERRIDE {
- ChromeRenderViewHostTestHarness::SetUp();
-#if defined OS_CHROMEOS
- test_user_manager_.reset(new chromeos::ScopedTestUserManager());
-#endif
- }
-
- virtual void TearDown() OVERRIDE {
-#if defined OS_CHROMEOS
- // Clean up pending tasks that might depend on the user manager.
- base::RunLoop().RunUntilIdle();
- test_user_manager_.reset();
-#endif
- ChromeRenderViewHostTestHarness::TearDown();
- }
-
- void Navigate(const char* url, int page_id) {
- WebContentsTester::For(web_contents())->TestDidNavigate(
- web_contents()->GetRenderViewHost(), page_id, GURL(url),
- content::PAGE_TRANSITION_TYPED);
- }
-
- void ShowInterstitial(const char* url) {
- (new TestMergeSessionLoadPage(web_contents(), GURL(url), this))->Show();
- }
-
- // Returns the MergeSessionLoadPage currently showing or NULL if none is
- // showing.
- InterstitialPage* GetMergeSessionLoadPage() {
- return InterstitialPage::GetInterstitialPage(web_contents());
- }
-
- OAuth2LoginManager* GetOAuth2LoginManager() {
- content::BrowserContext* browser_context =
- web_contents()->GetBrowserContext();
- if (!browser_context)
- return NULL;
-
- Profile* profile = Profile::FromBrowserContext(browser_context);
- if (!profile)
- return NULL;
-
- OAuth2LoginManager* login_manager =
- OAuth2LoginManagerFactory::GetInstance()->GetForProfile(
- profile);
- return login_manager;
- }
-
- void SetMergeSessionState(OAuth2LoginManager::SessionRestoreState state) {
- OAuth2LoginManager* login_manager = GetOAuth2LoginManager();
- ASSERT_TRUE(login_manager);
- login_manager->SetSessionRestoreState(state);
- }
-
- void SetSessionRestoreStart(const base::Time& time) {
- OAuth2LoginManager* login_manager = GetOAuth2LoginManager();
- ASSERT_TRUE(login_manager);
- login_manager->SetSessionRestoreStartForTesting(time);
- }
-
- private:
- ScopedTestDeviceSettingsService test_device_settings_service_;
- ScopedTestCrosSettings test_cros_settings_;
- scoped_ptr<chromeos::ScopedTestUserManager> test_user_manager_;
-};
-
-TEST_F(MergeSessionLoadPageTest, MergeSessionPageNotShown) {
- SetMergeSessionState(OAuth2LoginManager::SESSION_RESTORE_DONE);
- // Start a load.
- Navigate(kURL1, 1);
- // Load next page.
- controller().LoadURL(GURL(kURL2), content::Referrer(),
- content::PAGE_TRANSITION_TYPED, std::string());
-
- // Simulate the load causing an merge session interstitial page
- // to be shown.
- InterstitialPage* interstitial = GetMergeSessionLoadPage();
- EXPECT_FALSE(interstitial);
-}
-
-TEST_F(MergeSessionLoadPageTest, MergeSessionPageNotShownOnTimeout) {
- SetMergeSessionState(OAuth2LoginManager::SESSION_RESTORE_IN_PROGRESS);
- SetSessionRestoreStart(
- base::Time::Now() +
- base::TimeDelta::FromSeconds(kSessionMergeTimeout + 1));
-
- // Start a load.
- Navigate(kURL1, 1);
- // Load next page.
- controller().LoadURL(GURL(kURL2), content::Referrer(),
- content::PAGE_TRANSITION_TYPED, std::string());
-
- // Simulate the load causing an merge session interstitial page
- // to be shown.
- InterstitialPage* interstitial = GetMergeSessionLoadPage();
- EXPECT_FALSE(interstitial);
-}
-
-TEST_F(MergeSessionLoadPageTest, MergeSessionPageShown) {
- SetMergeSessionState(OAuth2LoginManager::SESSION_RESTORE_IN_PROGRESS);
-
- // Start a load.
- Navigate(kURL1, 1);
- // Load next page.
- controller().LoadURL(GURL(kURL2), content::Referrer(),
- content::PAGE_TRANSITION_TYPED, std::string());
-
- // Simulate the load causing an merge session interstitial page
- // to be shown.
- ShowInterstitial(kURL2);
- InterstitialPage* interstitial = GetMergeSessionLoadPage();
- ASSERT_TRUE(interstitial);
- base::RunLoop().RunUntilIdle();
-
- // Simulate merge session completion.
- SetMergeSessionState(OAuth2LoginManager::SESSION_RESTORE_DONE);
- base::RunLoop().RunUntilIdle();
-
- // The URL remains to be URL2.
- EXPECT_EQ(kURL2, web_contents()->GetVisibleURL().spec());
-
- // Commit navigation and the interstitial page is gone.
- Navigate(kURL2, 2);
- EXPECT_FALSE(GetMergeSessionLoadPage());
-}
-
-} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/login/merge_session_load_page.cc ('k') | chrome/browser/chromeos/login/merge_session_throttle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698