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

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

Issue 922463005: Ash Tray Browser Test (Retry) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ash/shell.h" 5 #include "ash/shell.h"
6 #include "ash/system/tray/system_tray.h"
6 #include "base/command_line.h" 7 #include "base/command_line.h"
7 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
8 #include "chrome/browser/chrome_notification_types.h" 9 #include "chrome/browser/chrome_notification_types.h"
9 #include "chrome/browser/chromeos/login/login_manager_test.h" 10 #include "chrome/browser/chromeos/login/login_manager_test.h"
10 #include "chrome/browser/chromeos/login/login_wizard.h" 11 #include "chrome/browser/chromeos/login/login_wizard.h"
11 #include "chrome/browser/chromeos/login/startup_utils.h" 12 #include "chrome/browser/chromeos/login/startup_utils.h"
12 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" 13 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
13 #include "chrome/browser/chromeos/login/wizard_controller.h" 14 #include "chrome/browser/chromeos/login/wizard_controller.h"
14 #include "chrome/browser/chromeos/settings/cros_settings.h" 15 #include "chrome/browser/chromeos/settings/cros_settings.h"
15 #include "chrome/browser/profiles/profile_manager.h" 16 #include "chrome/browser/profiles/profile_manager.h"
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 "document.getElementsByName('email')[0].value = '$Email';" 138 "document.getElementsByName('email')[0].value = '$Email';"
138 "document.getElementsByName('password')[0].value = '$Password';" 139 "document.getElementsByName('password')[0].value = '$Password';"
139 "document.getElementById('submit-button').click();" 140 "document.getElementById('submit-button').click();"
140 "})();"; 141 "})();";
141 ReplaceSubstringsAfterOffset(&js, 0, "$Email", user_email); 142 ReplaceSubstringsAfterOffset(&js, 0, "$Email", user_email);
142 ReplaceSubstringsAfterOffset(&js, 0, "$Password", password); 143 ReplaceSubstringsAfterOffset(&js, 0, "$Password", password);
143 ExecuteJsInGaiaAuthFrame(js); 144 ExecuteJsInGaiaAuthFrame(js);
144 } 145 }
145 }; 146 };
146 147
148 class LoginManagerTest : public InProcessBrowserTest {
Nikita (slow) 2015/02/13 12:16:17 Please rename this class to something else since L
149 protected:
150 void SetUpCommandLine(base::CommandLine* command_line) override {
151 command_line->AppendSwitch(chromeos::switches::kForceLoginManagerInTests);
Nikita (slow) 2015/02/13 12:16:17 As discussed over IM you need both kForceLoginMana
afakhry 2015/02/13 16:59:49 I thought you said having kForceLoginManagerInTest
152 }
153 };
154
155 // Used to make sure that the system tray is visible and within the screen
156 // bounds after login.
157 void TestSystemTrayIsVisible() {
158 ash::SystemTray* tray = ash::Shell::GetInstance()->GetPrimarySystemTray();
159 aura::Window* primary_win = ash::Shell::GetPrimaryRootWindow();
160 EXPECT_TRUE(tray->visible());
161 EXPECT_TRUE(primary_win->bounds().Contains(tray->GetBoundsInScreen()));
162 }
163
147 // After a chrome crash, the session manager will restart chrome with 164 // After a chrome crash, the session manager will restart chrome with
148 // the -login-user flag indicating that the user is already logged in. 165 // the -login-user flag indicating that the user is already logged in.
149 // This profile should NOT be an OTR profile. 166 // This profile should NOT be an OTR profile.
150 IN_PROC_BROWSER_TEST_F(LoginUserTest, UserPassed) { 167 IN_PROC_BROWSER_TEST_F(LoginUserTest, UserPassed) {
151 Profile* profile = browser()->profile(); 168 Profile* profile = browser()->profile();
152 std::string profile_base_path("hash"); 169 std::string profile_base_path("hash");
153 profile_base_path.insert(0, chrome::kProfileDirPrefix); 170 profile_base_path.insert(0, chrome::kProfileDirPrefix);
154 EXPECT_EQ(profile_base_path, profile->GetPath().BaseName().value()); 171 EXPECT_EQ(profile_base_path, profile->GetPath().BaseName().value());
155 EXPECT_FALSE(profile->IsOffTheRecord()); 172 EXPECT_FALSE(profile->IsOffTheRecord());
173
174 TestSystemTrayIsVisible();
156 } 175 }
157 176
158 // Verifies the cursor is not hidden at startup when user is logged in. 177 // Verifies the cursor is not hidden at startup when user is logged in.
159 IN_PROC_BROWSER_TEST_F(LoginUserTest, CursorShown) { 178 IN_PROC_BROWSER_TEST_F(LoginUserTest, CursorShown) {
160 EXPECT_TRUE(ash::Shell::GetInstance()->cursor_manager()->IsCursorVisible()); 179 EXPECT_TRUE(ash::Shell::GetInstance()->cursor_manager()->IsCursorVisible());
180
181 TestSystemTrayIsVisible();
161 } 182 }
162 183
163 // After a guest login, we should get the OTR default profile. 184 // After a guest login, we should get the OTR default profile.
164 IN_PROC_BROWSER_TEST_F(LoginGuestTest, GuestIsOTR) { 185 IN_PROC_BROWSER_TEST_F(LoginGuestTest, GuestIsOTR) {
165 Profile* profile = browser()->profile(); 186 Profile* profile = browser()->profile();
166 EXPECT_TRUE(profile->IsOffTheRecord()); 187 EXPECT_TRUE(profile->IsOffTheRecord());
167 // Ensure there's extension service for this profile. 188 // Ensure there's extension service for this profile.
168 EXPECT_TRUE(extensions::ExtensionSystem::Get(profile)->extension_service()); 189 EXPECT_TRUE(extensions::ExtensionSystem::Get(profile)->extension_service());
190
191 TestSystemTrayIsVisible();
169 } 192 }
170 193
171 // Verifies the cursor is not hidden at startup when running guest session. 194 // Verifies the cursor is not hidden at startup when running guest session.
172 IN_PROC_BROWSER_TEST_F(LoginGuestTest, CursorShown) { 195 IN_PROC_BROWSER_TEST_F(LoginGuestTest, CursorShown) {
173 EXPECT_TRUE(ash::Shell::GetInstance()->cursor_manager()->IsCursorVisible()); 196 EXPECT_TRUE(ash::Shell::GetInstance()->cursor_manager()->IsCursorVisible());
197
198 TestSystemTrayIsVisible();
174 } 199 }
175 200
176 // Verifies the cursor is hidden at startup on login screen. 201 // Verifies the cursor is hidden at startup on login screen.
177 IN_PROC_BROWSER_TEST_F(LoginCursorTest, CursorHidden) { 202 IN_PROC_BROWSER_TEST_F(LoginCursorTest, CursorHidden) {
178 // Login screen needs to be shown explicitly when running test. 203 // Login screen needs to be shown explicitly when running test.
179 chromeos::ShowLoginWizard(chromeos::WizardController::kLoginScreenName); 204 chromeos::ShowLoginWizard(chromeos::WizardController::kLoginScreenName);
180 205
181 // Cursor should be hidden at startup 206 // Cursor should be hidden at startup
182 EXPECT_FALSE(ash::Shell::GetInstance()->cursor_manager()->IsCursorVisible()); 207 EXPECT_FALSE(ash::Shell::GetInstance()->cursor_manager()->IsCursorVisible());
183 208
184 // Cursor should be shown after cursor is moved. 209 // Cursor should be shown after cursor is moved.
185 EXPECT_TRUE(ui_test_utils::SendMouseMoveSync(gfx::Point())); 210 EXPECT_TRUE(ui_test_utils::SendMouseMoveSync(gfx::Point()));
186 EXPECT_TRUE(ash::Shell::GetInstance()->cursor_manager()->IsCursorVisible()); 211 EXPECT_TRUE(ash::Shell::GetInstance()->cursor_manager()->IsCursorVisible());
187 212
188 base::MessageLoop::current()->DeleteSoon( 213 base::MessageLoop::current()->DeleteSoon(
189 FROM_HERE, chromeos::LoginDisplayHostImpl::default_host()); 214 FROM_HERE, chromeos::LoginDisplayHostImpl::default_host());
215
216 TestSystemTrayIsVisible();
190 } 217 }
191 218
192 // Verifies that the webui for login comes up successfully. 219 // Verifies that the webui for login comes up successfully.
193 IN_PROC_BROWSER_TEST_F(LoginSigninTest, WebUIVisible) { 220 IN_PROC_BROWSER_TEST_F(LoginSigninTest, WebUIVisible) {
194 base::TimeDelta no_timeout; 221 base::TimeDelta no_timeout;
195 EXPECT_TRUE(tracing::WaitForWatchEvent(no_timeout)); 222 EXPECT_TRUE(tracing::WaitForWatchEvent(no_timeout));
196 std::string json_events; 223 std::string json_events;
197 ASSERT_TRUE(tracing::EndTracing(&json_events)); 224 ASSERT_TRUE(tracing::EndTracing(&json_events));
198 } 225 }
199 226
(...skipping 16 matching lines...) Expand all
216 user_context.SetKey(chromeos::Key(kPassword)); 243 user_context.SetKey(chromeos::Key(kPassword));
217 SetExpectedCredentials(user_context); 244 SetExpectedCredentials(user_context);
218 245
219 SubmitGaiaAuthOfflineForm(kTestUser, kPassword); 246 SubmitGaiaAuthOfflineForm(kTestUser, kPassword);
220 247
221 content::WindowedNotificationObserver( 248 content::WindowedNotificationObserver(
222 chrome::NOTIFICATION_SESSION_STARTED, 249 chrome::NOTIFICATION_SESSION_STARTED,
223 content::NotificationService::AllSources()).Wait(); 250 content::NotificationService::AllSources()).Wait();
224 } 251 }
225 252
253 // Verifies that the system tray is visible for login manager.
254 IN_PROC_BROWSER_TEST_F(LoginManagerTest, SysTrayIsVisible) {
255 TestSystemTrayIsVisible();
256 }
257
226 } // namespace 258 } // namespace
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698