Index: chrome/browser/chromeos/login/screen_locker_browsertest.cc |
diff --git a/chrome/browser/chromeos/login/screen_locker_browsertest.cc b/chrome/browser/chromeos/login/screen_locker_browsertest.cc |
index 0288f91cb2edb16a73474397ded18fc5fd65ec7c..72a114bab6727cf3cc2f60282ab7bea2b005fd64 100644 |
--- a/chrome/browser/chromeos/login/screen_locker_browsertest.cc |
+++ b/chrome/browser/chromeos/login/screen_locker_browsertest.cc |
@@ -4,6 +4,8 @@ |
#include "chrome/browser/chromeos/login/screen_locker.h" |
+#include "ash/session_state_delegate.h" |
+#include "ash/shell.h" |
#include "ash/wm/window_state.h" |
#include "base/command_line.h" |
#include "base/memory/scoped_ptr.h" |
@@ -140,7 +142,11 @@ class ScreenLockerTest : public InProcessBrowserTest { |
}; |
IN_PROC_BROWSER_TEST_F(ScreenLockerTest, TestBasic) { |
+ EXPECT_EQ(ash::SessionStateDelegate::STATE_SESSION, |
+ ash::Shell::GetInstance()->session_state_delegate()-> |
+ GetSessionState()); |
ScreenLocker::Show(); |
+ |
scoped_ptr<test::ScreenLockerTester> tester(ScreenLocker::GetTester()); |
tester->EmulateWindowManagerReady(); |
content::WindowedNotificationObserver lock_state_observer( |
@@ -149,6 +155,10 @@ IN_PROC_BROWSER_TEST_F(ScreenLockerTest, TestBasic) { |
if (!tester->IsLocked()) |
lock_state_observer.Wait(); |
+ EXPECT_EQ(ash::SessionStateDelegate::STATE_LOCK, |
+ ash::Shell::GetInstance()->session_state_delegate()-> |
+ GetSessionState()); |
+ |
// Test to make sure that the widget is actually appearing and is of |
// reasonable size, preventing a regression of |
// http://code.google.com/p/chromium-os/issues/detail?id=5987 |
@@ -163,6 +173,7 @@ IN_PROC_BROWSER_TEST_F(ScreenLockerTest, TestBasic) { |
EXPECT_TRUE(tester->IsLocked()); |
tester->EnterPassword("pass"); |
content::RunAllPendingInMessageLoop(); |
+ |
// Successful authentication clears the lock screen and tells the |
// SessionManager to announce this over DBus. |
EXPECT_FALSE(tester->IsLocked()); |
@@ -171,6 +182,9 @@ IN_PROC_BROWSER_TEST_F(ScreenLockerTest, TestBasic) { |
fake_session_manager_client_->notify_lock_screen_shown_call_count()); |
EXPECT_TRUE(VerifyLockScreenDismissed()); |
+ EXPECT_EQ(ash::SessionStateDelegate::STATE_SESSION, |
+ ash::Shell::GetInstance()->session_state_delegate()-> |
+ GetSessionState()); |
} |
// Test how locking the screen affects an active fullscreen window. |