| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/message_loop.h" | 6 #include "base/message_loop.h" |
| 7 #include "base/scoped_ptr.h" | 7 #include "base/scoped_ptr.h" |
| 8 #include "chrome/browser/automation/ui_controls.h" | 8 #include "chrome/browser/automation/ui_controls.h" |
| 9 #include "chrome/browser/browser_window.h" | 9 #include "chrome/browser/browser_window.h" |
| 10 #include "chrome/browser/chromeos/cros/cros_in_process_browser_test.h" | 10 #include "chrome/browser/chromeos/cros/cros_in_process_browser_test.h" |
| 11 #include "chrome/browser/chromeos/cros/mock_input_method_library.h" | 11 #include "chrome/browser/chromeos/cros/mock_input_method_library.h" |
| 12 #include "chrome/browser/chromeos/cros/mock_screen_lock_library.h" | 12 #include "chrome/browser/chromeos/cros/mock_screen_lock_library.h" |
| 13 #include "chrome/browser/chromeos/login/mock_authenticator.h" | 13 #include "chrome/browser/chromeos/login/mock_authenticator.h" |
| 14 #include "chrome/browser/chromeos/login/screen_locker.h" | 14 #include "chrome/browser/chromeos/login/screen_locker.h" |
| 15 #include "chrome/browser/chromeos/login/screen_locker_tester.h" | 15 #include "chrome/browser/chromeos/login/screen_locker_tester.h" |
| 16 #include "chrome/browser/chromeos/login/user_manager.h" | 16 #include "chrome/browser/chromeos/login/user_manager.h" |
| 17 #include "chrome/browser/profiles/profile_manager.h" |
| 17 #include "chrome/browser/ui/browser.h" | 18 #include "chrome/browser/ui/browser.h" |
| 18 #include "chrome/browser/ui/views/browser_dialogs.h" | 19 #include "chrome/browser/ui/views/browser_dialogs.h" |
| 19 #include "chrome/common/chrome_switches.h" | 20 #include "chrome/common/chrome_switches.h" |
| 20 #include "chrome/common/notification_service.h" | 21 #include "chrome/common/notification_service.h" |
| 21 #include "chrome/common/notification_type.h" | 22 #include "chrome/common/notification_type.h" |
| 22 #include "chrome/test/ui_test_utils.h" | 23 #include "chrome/test/ui_test_utils.h" |
| 23 #include "testing/gmock/include/gmock/gmock.h" | 24 #include "testing/gmock/include/gmock/gmock.h" |
| 24 #include "testing/gtest/include/gtest/gtest.h" | 25 #include "testing/gtest/include/gtest/gtest.h" |
| 25 #include "views/controls/textfield/textfield.h" | 26 #include "views/controls/textfield/textfield.h" |
| 26 #include "views/window/window_gtk.h" | 27 #include "views/window/window_gtk.h" |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 275 TestNoPassword(KeyPress); | 276 TestNoPassword(KeyPress); |
| 276 } | 277 } |
| 277 | 278 |
| 278 IN_PROC_BROWSER_TEST_F(ScreenLockerTest, TestShowTwice) { | 279 IN_PROC_BROWSER_TEST_F(ScreenLockerTest, TestShowTwice) { |
| 279 EXPECT_CALL(*mock_screen_lock_library_, NotifyScreenLockCompleted()) | 280 EXPECT_CALL(*mock_screen_lock_library_, NotifyScreenLockCompleted()) |
| 280 .Times(2) | 281 .Times(2) |
| 281 .RetiresOnSaturation(); | 282 .RetiresOnSaturation(); |
| 282 scoped_ptr<test::ScreenLockerTester> tester(ScreenLocker::GetTester()); | 283 scoped_ptr<test::ScreenLockerTester> tester(ScreenLocker::GetTester()); |
| 283 LockScreenWithUser(tester.get(), "user"); | 284 LockScreenWithUser(tester.get(), "user"); |
| 284 | 285 |
| 286 // Ensure there's a profile or this test crashes. |
| 287 ProfileManager::GetDefaultProfile(); |
| 288 |
| 285 // Calling Show again simply send LockCompleted signal. | 289 // Calling Show again simply send LockCompleted signal. |
| 286 ScreenLocker::Show(); | 290 ScreenLocker::Show(); |
| 287 EXPECT_TRUE(tester->IsLocked()); | 291 EXPECT_TRUE(tester->IsLocked()); |
| 288 | 292 |
| 289 // Close the locker to match expectations. | 293 // Close the locker to match expectations. |
| 290 ScreenLocker::Hide(); | 294 ScreenLocker::Hide(); |
| 291 ui_test_utils::RunAllPendingInMessageLoop(); | 295 ui_test_utils::RunAllPendingInMessageLoop(); |
| 292 EXPECT_FALSE(tester->IsLocked()); | 296 EXPECT_FALSE(tester->IsLocked()); |
| 293 } | 297 } |
| 294 | 298 |
| 295 IN_PROC_BROWSER_TEST_F(ScreenLockerTest, TestEscape) { | 299 IN_PROC_BROWSER_TEST_F(ScreenLockerTest, TestEscape) { |
| 296 EXPECT_CALL(*mock_screen_lock_library_, NotifyScreenLockCompleted()) | 300 EXPECT_CALL(*mock_screen_lock_library_, NotifyScreenLockCompleted()) |
| 297 .Times(1) | 301 .Times(1) |
| 298 .RetiresOnSaturation(); | 302 .RetiresOnSaturation(); |
| 299 scoped_ptr<test::ScreenLockerTester> tester(ScreenLocker::GetTester()); | 303 scoped_ptr<test::ScreenLockerTester> tester(ScreenLocker::GetTester()); |
| 300 LockScreenWithUser(tester.get(), "user"); | 304 LockScreenWithUser(tester.get(), "user"); |
| 301 | 305 |
| 306 // Ensure there's a profile or this test crashes. |
| 307 ProfileManager::GetDefaultProfile(); |
| 308 |
| 302 tester->SetPassword("password"); | 309 tester->SetPassword("password"); |
| 303 EXPECT_EQ("password", tester->GetPassword()); | 310 EXPECT_EQ("password", tester->GetPassword()); |
| 304 // Escape clears the password. | 311 // Escape clears the password. |
| 305 ui_controls::SendKeyPress(GTK_WINDOW(tester->GetWidget()->GetNativeView()), | 312 ui_controls::SendKeyPress(GTK_WINDOW(tester->GetWidget()->GetNativeView()), |
| 306 ui::VKEY_ESCAPE, false, false, false, false); | 313 ui::VKEY_ESCAPE, false, false, false, false); |
| 307 ui_test_utils::RunAllPendingInMessageLoop(); | 314 ui_test_utils::RunAllPendingInMessageLoop(); |
| 308 EXPECT_EQ("", tester->GetPassword()); | 315 EXPECT_EQ("", tester->GetPassword()); |
| 309 | 316 |
| 310 // Close the locker to match expectations. | 317 // Close the locker to match expectations. |
| 311 ScreenLocker::Hide(); | 318 ScreenLocker::Hide(); |
| 312 ui_test_utils::RunAllPendingInMessageLoop(); | 319 ui_test_utils::RunAllPendingInMessageLoop(); |
| 313 EXPECT_FALSE(tester->IsLocked()); | 320 EXPECT_FALSE(tester->IsLocked()); |
| 314 } | 321 } |
| 315 | 322 |
| 316 } // namespace chromeos | 323 } // namespace chromeos |
| OLD | NEW |