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