Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / profiles / user_manager_mac_unittest.mm
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/ui/cocoa/profiles/user_manager_mac.h"
6
7 #include "base/run_loop.h"
8 #include "chrome/browser/profiles/profile_window.h"
9 #include "chrome/browser/ui/user_manager.h"
10 #include "chrome/test/base/browser_with_test_window_test.h"
11 #include "chrome/test/base/testing_browser_process.h"
12 #include "chrome/test/base/testing_profile_manager.h"
13
14 class UserManagerMacTest : public BrowserWithTestWindowTest {
15  public:
16   UserManagerMacTest()
17       : testing_profile_manager_(TestingBrowserProcess::GetGlobal()) {
18   }
19
20   virtual void SetUp() override {
21     BrowserWithTestWindowTest::SetUp();
22     ASSERT_TRUE(testing_profile_manager_.SetUp());
23     // Pre-load the guest profile so we don't have to wait for the User Manager
24     // to asynchronously create it.
25     testing_profile_manager_.CreateGuestProfile();
26   }
27
28   virtual void TearDown() override {
29     testing_profile_manager_.DeleteGuestProfile();
30     TestingBrowserProcess::GetGlobal()->SetProfileManager(NULL);
31     base::RunLoop().RunUntilIdle();
32     BrowserWithTestWindowTest::TearDown();
33   }
34
35  private:
36   TestingProfileManager testing_profile_manager_;
37
38   DISALLOW_COPY_AND_ASSIGN(UserManagerMacTest);
39 };
40
41 TEST_F(UserManagerMacTest, ShowUserManager) {
42   EXPECT_FALSE(UserManager::IsShowing());
43   UserManager::Show(base::FilePath(),
44                     profiles::USER_MANAGER_NO_TUTORIAL,
45                     profiles::USER_MANAGER_SELECT_PROFILE_NO_ACTION);
46   EXPECT_TRUE(UserManager::IsShowing());
47
48   UserManager::Hide();
49   EXPECT_FALSE(UserManager::IsShowing());
50 }