1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file. 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/ui/sync/profile_signin_confirmation_helper.h" 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "base/bind.h" 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "base/command_line.h" 9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "base/run_loop.h" 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/first_run/first_run.h" 11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/ui/browser.h" 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/common/chrome_switches.h" 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/test/base/in_process_browser_test.h" 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "content/public/test/test_launcher.h" 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)class ProfileSigninConfirmationHelperBrowserTest : public InProcessBrowserTest { 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) public: 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ProfileSigninConfirmationHelperBrowserTest() {} 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Force the first-run flow to trigger autoimport. 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) InProcessBrowserTest::SetUpCommandLine(command_line); 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) command_line->AppendSwitch(switches::kForceFirstRun); 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) } 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) private: 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ProfileSigninConfirmationHelperBrowserTest); 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}; 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 31f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// http://crbug.com/321302 3223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#if defined(GOOGLE_CHROME_BUILD) && (defined(OS_MACOSX) || defined(OS_LINUX)) 33f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#define MAYBE_HasNotBeenShutdown DISABLED_HasNotBeenShutdown 34f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#else 35f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#define MAYBE_HasNotBeenShutdown HasNotBeenShutdown 36f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#endif 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)IN_PROC_BROWSER_TEST_F(ProfileSigninConfirmationHelperBrowserTest, 38f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) MAYBE_HasNotBeenShutdown) { 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#if !defined(OS_CHROMEOS) 4090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) EXPECT_TRUE(first_run::auto_import_state() & first_run::AUTO_IMPORT_CALLED); 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) EXPECT_FALSE(ui::HasBeenShutdown(browser()->profile())); 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 44eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 45f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// http://crbug.com/321302 4623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#if defined(GOOGLE_CHROME_BUILD) && (defined(OS_MACOSX) || defined(OS_LINUX)) 47f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#define MAYBE_HasNoSyncedExtensions DISABLED_HasNoSyncedExtensions 48f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#else 49f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#define MAYBE_HasNoSyncedExtensions HasNoSyncedExtensions 50f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#endif 51eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochIN_PROC_BROWSER_TEST_F(ProfileSigninConfirmationHelperBrowserTest, 52f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) MAYBE_HasNoSyncedExtensions) { 53eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch EXPECT_FALSE(ui::HasSyncedExtensions(browser()->profile())); 54eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} 55