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

Unified Diff: ash/shelf/shelf_layout_manager_unittest.cc

Issue 909293002: Properly set ShelfAlignment during login (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 side-by-side diff with in-line comments
Download patch
Index: ash/shelf/shelf_layout_manager_unittest.cc
diff --git a/ash/shelf/shelf_layout_manager_unittest.cc b/ash/shelf/shelf_layout_manager_unittest.cc
index f4a8cb85cdf77e4a8139b238a69d012417ac8692..1ad900746ec5ef54f6e9b45015ab10a9079081a0 100644
--- a/ash/shelf/shelf_layout_manager_unittest.cc
+++ b/ash/shelf/shelf_layout_manager_unittest.cc
@@ -380,6 +380,7 @@ class ShelfLayoutManagerTest : public ash::test::AshTestBase {
// Open the add user screen if |show| is true, otherwise end it.
void ShowAddUserScreen(bool show) {
+ SetUserAddingScreenRunning(show);
ShelfLayoutManager* manager = GetShelfWidget()->shelf_layout_manager();
manager->SessionStateChanged(
show ? SessionStateDelegate::SESSION_STATE_LOGIN_SECONDARY :
@@ -779,6 +780,28 @@ TEST_F(ShelfLayoutManagerTest, SideAlignmentInteractionWithAddUserScreen) {
EXPECT_EQ(SHELF_ALIGNMENT_LEFT, manager->GetAlignment());
}
+// Makes sure shelf alignment is correct for login screen.
+TEST_F(ShelfLayoutManagerTest, SideAlignmentInteractionWithLoginScreen) {
+ ShelfLayoutManager* manager = GetShelfWidget()->shelf_layout_manager();
+ ASSERT_EQ(SHELF_ALIGNMENT_BOTTOM, manager->GetAlignment());
+ SetUserLoggedIn(false);
+ SetSessionStarted(false);
+
+ // The test session state delegate does not fire state changes.
+ SetSessionStarting();
+ manager->SessionStateChanged(
+ Shell::GetInstance()->session_state_delegate()->GetSessionState());
+
+ // Login sets alignment preferences before the session completes startup.
+ manager->SetAlignment(SHELF_ALIGNMENT_LEFT);
+ SetUserLoggedIn(true);
+ SetSessionStarted(true);
+
+ EXPECT_EQ(SHELF_ALIGNMENT_LEFT, manager->GetAlignment());
+ // Ensure that the shelf has been notified.
+ EXPECT_EQ(SHELF_ALIGNMENT_LEFT, GetShelfWidget()->shelf()->alignment());
+}
+
// Makes sure LayoutShelf invoked while animating cleans things up.
TEST_F(ShelfLayoutManagerTest, LayoutShelfWhileAnimating) {
ShelfWidget* shelf = GetShelfWidget();

Powered by Google App Engine
This is Rietveld 408576698