| 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
|
|
|