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

Side by Side Diff: chrome/browser/chromeos/login/login_browsertest.cc

Issue 3678006: Implement action interface in network_menu.js for 'connect'. (Closed)
Patch Set: Set status for non connected networks. Created 10 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/time.h" 6 #include "base/time.h"
7 #include "chrome/browser/browser.h" 7 #include "chrome/browser/browser.h"
8 #include "chrome/browser/chromeos/cros/cros_in_process_browser_test.h" 8 #include "chrome/browser/chromeos/cros/cros_in_process_browser_test.h"
9 #include "chrome/browser/chromeos/cros/mock_cryptohome_library.h" 9 #include "chrome/browser/chromeos/cros/mock_cryptohome_library.h"
10 #include "chrome/browser/chromeos/cros/mock_input_method_library.h" 10 #include "chrome/browser/chromeos/cros/mock_input_method_library.h"
11 #include "chrome/browser/chromeos/cros/mock_keyboard_library.h" 11 #include "chrome/browser/chromeos/cros/mock_keyboard_library.h"
12 #include "chrome/browser/chromeos/cros/mock_library_loader.h" 12 #include "chrome/browser/chromeos/cros/mock_library_loader.h"
13 #include "chrome/browser/chromeos/cros/mock_network_library.h" 13 #include "chrome/browser/chromeos/cros/mock_network_library.h"
14 #include "chrome/browser/chromeos/cros/mock_power_library.h" 14 #include "chrome/browser/chromeos/cros/mock_power_library.h"
15 #include "chrome/browser/chromeos/cros/mock_screen_lock_library.h" 15 #include "chrome/browser/chromeos/cros/mock_screen_lock_library.h"
16 #include "chrome/browser/chromeos/cros/mock_system_library.h" 16 #include "chrome/browser/chromeos/cros/mock_system_library.h"
17 #include "chrome/browser/chromeos/cros/mock_touchpad_library.h" 17 #include "chrome/browser/chromeos/cros/mock_touchpad_library.h"
18 #include "chrome/browser/profile_manager.h" 18 #include "chrome/browser/profile_manager.h"
19 #include "chrome/common/chrome_switches.h" 19 #include "chrome/common/chrome_switches.h"
20 #include "chrome/test/in_process_browser_test.h" 20 #include "chrome/test/in_process_browser_test.h"
21 #include "chrome/test/ui_test_utils.h" 21 #include "chrome/test/ui_test_utils.h"
22 #include "testing/gmock/include/gmock/gmock.h" 22 #include "testing/gmock/include/gmock/gmock.h"
23 #include "testing/gtest/include/gtest/gtest.h" 23 #include "testing/gtest/include/gtest/gtest.h"
24 24
25 namespace chromeos { 25 namespace chromeos {
26 using ::testing::_; 26 using ::testing::_;
27 using ::testing::AnyNumber;
27 using ::testing::InvokeWithoutArgs; 28 using ::testing::InvokeWithoutArgs;
29 using ::testing::NiceMock;
28 using ::testing::Return; 30 using ::testing::Return;
29 using ::testing::ReturnRef; 31 using ::testing::ReturnRef;
30 using ::testing::NiceMock;
31 32
32 class LoginTestBase : public InProcessBrowserTest { 33 class LoginTestBase : public CrosInProcessBrowserTest {
33 public: 34 public:
34 LoginTestBase() { 35 LoginTestBase() : mock_cryptohome_library_(NULL),
35 testApi_ = chromeos::CrosLibrary::Get()->GetTestApi(); 36 mock_screen_lock_library_(NULL) {
36 testApi_->SetLibraryLoader(&loader_, false);
37 EXPECT_CALL(loader_, Load(_))
38 .WillRepeatedly(Return(true));
39
40 testApi_->SetKeyboardLibrary(&mock_keyboard_library_, false);
41 testApi_->SetInputMethodLibrary(&mock_input_method_library_, false);
42 EXPECT_CALL(mock_input_method_library_, GetActiveInputMethods())
43 .WillRepeatedly(
44 InvokeWithoutArgs(CreateFallbackInputMethodDescriptors));
45
46 testApi_->SetNetworkLibrary(&mock_network_library_, false);
47
48 testApi_->SetPowerLibrary(&mock_power_library_, false);
49 EXPECT_CALL(mock_power_library_, battery_time_to_empty())
50 .WillRepeatedly((Return(base::TimeDelta::FromMinutes(42))));
51 EXPECT_CALL(mock_power_library_, battery_time_to_full())
52 .WillRepeatedly((Return(base::TimeDelta::FromMinutes(24))));
53
54 testApi_->SetTouchpadLibrary(&mock_touchpad_library_, false);
55 testApi_->SetCryptohomeLibrary(&mock_cryptohome_library_, false);
56 testApi_->SetScreenLockLibrary(&mock_screen_lock_library_, false);
57 testApi_->SetSystemLibrary(&mock_system_library_, false);
58 } 37 }
59 38
60 protected: 39 protected:
61 NiceMock<MockLibraryLoader> loader_; 40 virtual void SetUpInProcessBrowserTestFixture() {
62 NiceMock<MockCryptohomeLibrary> mock_cryptohome_library_; 41 cros_mock_->InitStatusAreaMocks();
63 NiceMock<MockKeyboardLibrary> mock_keyboard_library_; 42 cros_mock_->SetStatusAreaMocksExpectations();
64 NiceMock<MockInputMethodLibrary> mock_input_method_library_; 43 cros_mock_->InitMockCryptohomeLibrary();
65 NiceMock<MockNetworkLibrary> mock_network_library_; 44 cros_mock_->InitMockScreenLockLibrary();
66 NiceMock<MockPowerLibrary> mock_power_library_; 45 mock_cryptohome_library_ = cros_mock_->mock_cryptohome_library();
67 NiceMock<MockScreenLockLibrary> mock_screen_lock_library_; 46 mock_screen_lock_library_ = cros_mock_->mock_screen_lock_library();
68 NiceMock<MockTouchpadLibrary> mock_touchpad_library_; 47 EXPECT_CALL(*mock_cryptohome_library_, IsMounted())
69 NiceMock<MockSystemLibrary> mock_system_library_; 48 .WillRepeatedly(Return(true));
70 ImePropertyList ime_properties_; 49 }
71 chromeos::CrosLibrary::TestApi* testApi_; 50
51 MockCryptohomeLibrary* mock_cryptohome_library_;
52 MockScreenLockLibrary* mock_screen_lock_library_;
53
54 private:
55 DISALLOW_COPY_AND_ASSIGN(LoginTestBase);
72 }; 56 };
73 57
74 class LoginUserTest : public LoginTestBase { 58 class LoginUserTest : public LoginTestBase {
75 public: 59 protected:
76 LoginUserTest() { 60 virtual void SetUpInProcessBrowserTestFixture() {
77 EXPECT_CALL(mock_cryptohome_library_, IsMounted()) 61 LoginTestBase::SetUpInProcessBrowserTestFixture();
78 .WillRepeatedly(Return(true)); 62 EXPECT_CALL(*mock_screen_lock_library_, AddObserver(_))
79 EXPECT_CALL(mock_screen_lock_library_, AddObserver(_))
80 .WillOnce(Return()); 63 .WillOnce(Return());
81 } 64 }
82 65
83 virtual void SetUpCommandLine(CommandLine* command_line) { 66 virtual void SetUpCommandLine(CommandLine* command_line) {
84 command_line->AppendSwitchASCII(switches::kLoginUser, "TestUser@gmail.com"); 67 command_line->AppendSwitchASCII(switches::kLoginUser, "TestUser@gmail.com");
85 command_line->AppendSwitchASCII(switches::kLoginProfile, "user"); 68 command_line->AppendSwitchASCII(switches::kLoginProfile, "user");
86 command_line->AppendSwitch(switches::kNoFirstRun); 69 command_line->AppendSwitch(switches::kNoFirstRun);
87 } 70 }
88 }; 71 };
89 72
90 class LoginProfileTest : public LoginTestBase { 73 class LoginProfileTest : public LoginTestBase {
91 public: 74 protected:
92 LoginProfileTest() {
93 EXPECT_CALL(mock_cryptohome_library_, IsMounted())
94 .WillRepeatedly(Return(true));
95 }
96
97 virtual void SetUpCommandLine(CommandLine* command_line) { 75 virtual void SetUpCommandLine(CommandLine* command_line) {
98 command_line->AppendSwitchASCII(switches::kLoginProfile, "user"); 76 command_line->AppendSwitchASCII(switches::kLoginProfile, "user");
99 command_line->AppendSwitch(switches::kNoFirstRun); 77 command_line->AppendSwitch(switches::kNoFirstRun);
100 } 78 }
101 }; 79 };
102 80
103 // After a chrome crash, the session manager will restart chrome with 81 // After a chrome crash, the session manager will restart chrome with
104 // the -login-user flag indicating that the user is already logged in. 82 // the -login-user flag indicating that the user is already logged in.
105 // This profile should NOT be an OTR profile. 83 // This profile should NOT be an OTR profile.
106 IN_PROC_BROWSER_TEST_F(LoginUserTest, UserPassed) { 84 IN_PROC_BROWSER_TEST_F(LoginUserTest, UserPassed) {
107 Profile* profile = browser()->profile(); 85 Profile* profile = browser()->profile();
108 EXPECT_EQ("user", profile->GetPath().BaseName().value()); 86 EXPECT_EQ("user", profile->GetPath().BaseName().value());
109 EXPECT_FALSE(profile->IsOffTheRecord()); 87 EXPECT_FALSE(profile->IsOffTheRecord());
110 } 88 }
111 89
112 // On initial launch, we should get the OTR default profile. 90 // On initial launch, we should get the OTR default profile.
113 IN_PROC_BROWSER_TEST_F(LoginProfileTest, UserNotPassed) { 91 IN_PROC_BROWSER_TEST_F(LoginProfileTest, UserNotPassed) {
114 Profile* profile = browser()->profile(); 92 Profile* profile = browser()->profile();
115 EXPECT_EQ("Default", profile->GetPath().BaseName().value()); 93 EXPECT_EQ("Default", profile->GetPath().BaseName().value());
116 EXPECT_TRUE(profile->IsOffTheRecord()); 94 EXPECT_TRUE(profile->IsOffTheRecord());
117 // Ensure there's no extension service for this profile. 95 // Ensure there's no extension service for this profile.
118 EXPECT_EQ(NULL, profile->GetExtensionsService()); 96 EXPECT_EQ(NULL, profile->GetExtensionsService());
119 } 97 }
120 98
121 } // namespace chromeos 99 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698