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

Unified Diff: chrome/browser/chromeos/login/screen_locker_browsertest.cc

Issue 231123002: Notify about major session changes events. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tests Created 6 years, 8 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 side-by-side diff with in-line comments
Download patch
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.

Powered by Google App Engine
This is Rietveld 408576698