| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/system/tiles/tray_tiles.h" | 5 #include "ash/system/tiles/tray_tiles.h" |
| 6 | 6 |
| 7 #include "ash/system/tiles/tiles_default_view.h" | 7 #include "ash/system/tiles/tiles_default_view.h" |
| 8 #include "ash/test/ash_test_base.h" | 8 #include "ash/test/ash_test_base.h" |
| 9 #include "ash/test/test_session_controller_client.h" | 9 #include "ash/test/test_session_controller_client.h" |
| 10 #include "components/user_manager/user_type.h" | 10 #include "components/user_manager/user_type.h" |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 } | 32 } |
| 33 | 33 |
| 34 views::CustomButton* GetSettingsButton() { | 34 views::CustomButton* GetSettingsButton() { |
| 35 return tray_tiles()->default_view_->settings_button_; | 35 return tray_tiles()->default_view_->settings_button_; |
| 36 } | 36 } |
| 37 | 37 |
| 38 views::CustomButton* GetHelpButton() { | 38 views::CustomButton* GetHelpButton() { |
| 39 return tray_tiles()->default_view_->help_button_; | 39 return tray_tiles()->default_view_->help_button_; |
| 40 } | 40 } |
| 41 | 41 |
| 42 views::CustomButton* GetNightLightButton() { |
| 43 return tray_tiles()->default_view_->night_light_button_; |
| 44 } |
| 45 |
| 42 views::CustomButton* GetLockButton() { | 46 views::CustomButton* GetLockButton() { |
| 43 return tray_tiles()->default_view_->lock_button_; | 47 return tray_tiles()->default_view_->lock_button_; |
| 44 } | 48 } |
| 45 | 49 |
| 46 views::CustomButton* GetPowerButton() { | 50 views::CustomButton* GetPowerButton() { |
| 47 return tray_tiles()->default_view_->power_button_; | 51 return tray_tiles()->default_view_->power_button_; |
| 48 } | 52 } |
| 49 | 53 |
| 50 TrayTiles* tray_tiles() { return tray_tiles_.get(); } | 54 TrayTiles* tray_tiles() { return tray_tiles_.get(); } |
| 51 | 55 |
| 52 private: | 56 private: |
| 53 std::unique_ptr<TrayTiles> tray_tiles_; | 57 std::unique_ptr<TrayTiles> tray_tiles_; |
| 54 | 58 |
| 55 DISALLOW_COPY_AND_ASSIGN(TrayTilesTest); | 59 DISALLOW_COPY_AND_ASSIGN(TrayTilesTest); |
| 56 }; | 60 }; |
| 57 | 61 |
| 58 // Settings buttons are disabled before login. | 62 // Settings buttons are disabled before login. |
| 59 TEST_F(TrayTilesTest, ButtonStatesNotLoggedIn) { | 63 TEST_F(TrayTilesTest, ButtonStatesNotLoggedIn) { |
| 60 std::unique_ptr<views::View> default_view( | 64 std::unique_ptr<views::View> default_view( |
| 61 tray_tiles()->CreateDefaultViewForTesting()); | 65 tray_tiles()->CreateDefaultViewForTesting()); |
| 62 EXPECT_EQ(Button::STATE_DISABLED, GetSettingsButton()->state()); | 66 EXPECT_EQ(Button::STATE_DISABLED, GetSettingsButton()->state()); |
| 63 EXPECT_EQ(Button::STATE_DISABLED, GetHelpButton()->state()); | 67 EXPECT_EQ(Button::STATE_DISABLED, GetHelpButton()->state()); |
| 68 EXPECT_EQ(Button::STATE_DISABLED, GetNightLightButton()->state()); |
| 64 EXPECT_EQ(Button::STATE_DISABLED, GetLockButton()->state()); | 69 EXPECT_EQ(Button::STATE_DISABLED, GetLockButton()->state()); |
| 65 EXPECT_EQ(Button::STATE_NORMAL, GetPowerButton()->state()); | 70 EXPECT_EQ(Button::STATE_NORMAL, GetPowerButton()->state()); |
| 66 } | 71 } |
| 67 | 72 |
| 68 // All buttons are enabled after login. | 73 // All buttons are enabled after login. |
| 69 TEST_F(TrayTilesTest, ButtonStatesLoggedIn) { | 74 TEST_F(TrayTilesTest, ButtonStatesLoggedIn) { |
| 70 SetSessionStarted(true); | 75 SetSessionStarted(true); |
| 71 std::unique_ptr<views::View> default_view( | 76 std::unique_ptr<views::View> default_view( |
| 72 tray_tiles()->CreateDefaultViewForTesting()); | 77 tray_tiles()->CreateDefaultViewForTesting()); |
| 73 EXPECT_EQ(Button::STATE_NORMAL, GetSettingsButton()->state()); | 78 EXPECT_EQ(Button::STATE_NORMAL, GetSettingsButton()->state()); |
| 74 EXPECT_EQ(Button::STATE_NORMAL, GetHelpButton()->state()); | 79 EXPECT_EQ(Button::STATE_NORMAL, GetHelpButton()->state()); |
| 80 EXPECT_EQ(Button::STATE_NORMAL, GetNightLightButton()->state()); |
| 75 EXPECT_EQ(Button::STATE_NORMAL, GetLockButton()->state()); | 81 EXPECT_EQ(Button::STATE_NORMAL, GetLockButton()->state()); |
| 76 EXPECT_EQ(Button::STATE_NORMAL, GetPowerButton()->state()); | 82 EXPECT_EQ(Button::STATE_NORMAL, GetPowerButton()->state()); |
| 77 } | 83 } |
| 78 | 84 |
| 79 // Settings buttons are disabled at the lock screen. | 85 // Settings buttons are disabled at the lock screen. |
| 80 TEST_F(TrayTilesTest, ButtonStatesLockScreen) { | 86 TEST_F(TrayTilesTest, ButtonStatesLockScreen) { |
| 81 BlockUserSession(BLOCKED_BY_LOCK_SCREEN); | 87 BlockUserSession(BLOCKED_BY_LOCK_SCREEN); |
| 82 std::unique_ptr<views::View> default_view( | 88 std::unique_ptr<views::View> default_view( |
| 83 tray_tiles()->CreateDefaultViewForTesting()); | 89 tray_tiles()->CreateDefaultViewForTesting()); |
| 84 EXPECT_EQ(Button::STATE_DISABLED, GetSettingsButton()->state()); | 90 EXPECT_EQ(Button::STATE_DISABLED, GetSettingsButton()->state()); |
| 85 EXPECT_EQ(Button::STATE_DISABLED, GetHelpButton()->state()); | 91 EXPECT_EQ(Button::STATE_DISABLED, GetHelpButton()->state()); |
| 92 EXPECT_EQ(Button::STATE_DISABLED, GetNightLightButton()->state()); |
| 86 EXPECT_EQ(Button::STATE_DISABLED, GetLockButton()->state()); | 93 EXPECT_EQ(Button::STATE_DISABLED, GetLockButton()->state()); |
| 87 EXPECT_EQ(Button::STATE_NORMAL, GetPowerButton()->state()); | 94 EXPECT_EQ(Button::STATE_NORMAL, GetPowerButton()->state()); |
| 88 } | 95 } |
| 89 | 96 |
| 90 // Settings buttons are disabled when adding a second multiprofile user. | 97 // Settings buttons are disabled when adding a second multiprofile user. |
| 91 TEST_F(TrayTilesTest, ButtonStatesAddingUser) { | 98 TEST_F(TrayTilesTest, ButtonStatesAddingUser) { |
| 92 SetUserAddingScreenRunning(true); | 99 SetUserAddingScreenRunning(true); |
| 93 std::unique_ptr<views::View> default_view( | 100 std::unique_ptr<views::View> default_view( |
| 94 tray_tiles()->CreateDefaultViewForTesting()); | 101 tray_tiles()->CreateDefaultViewForTesting()); |
| 95 EXPECT_EQ(Button::STATE_DISABLED, GetSettingsButton()->state()); | 102 EXPECT_EQ(Button::STATE_DISABLED, GetSettingsButton()->state()); |
| 96 EXPECT_EQ(Button::STATE_DISABLED, GetHelpButton()->state()); | 103 EXPECT_EQ(Button::STATE_DISABLED, GetHelpButton()->state()); |
| 104 EXPECT_EQ(Button::STATE_DISABLED, GetNightLightButton()->state()); |
| 97 EXPECT_EQ(Button::STATE_DISABLED, GetLockButton()->state()); | 105 EXPECT_EQ(Button::STATE_DISABLED, GetLockButton()->state()); |
| 98 EXPECT_EQ(Button::STATE_NORMAL, GetPowerButton()->state()); | 106 EXPECT_EQ(Button::STATE_NORMAL, GetPowerButton()->state()); |
| 99 } | 107 } |
| 100 | 108 |
| 101 // Settings buttons are disabled when adding a supervised user. | 109 // Settings buttons are disabled when adding a supervised user. |
| 102 TEST_F(TrayTilesTest, ButtonStatesSupervisedUserFlow) { | 110 TEST_F(TrayTilesTest, ButtonStatesSupervisedUserFlow) { |
| 103 // Simulate the add supervised user flow, which is a regular user session but | 111 // Simulate the add supervised user flow, which is a regular user session but |
| 104 // with web UI settings disabled. | 112 // with web UI settings disabled. |
| 105 const bool enable_settings = false; | 113 const bool enable_settings = false; |
| 106 GetSessionControllerClient()->AddUserSession( | 114 GetSessionControllerClient()->AddUserSession( |
| 107 "foo@example.com", user_manager::USER_TYPE_REGULAR, enable_settings); | 115 "foo@example.com", user_manager::USER_TYPE_REGULAR, enable_settings); |
| 108 std::unique_ptr<views::View> default_view( | 116 std::unique_ptr<views::View> default_view( |
| 109 tray_tiles()->CreateDefaultViewForTesting()); | 117 tray_tiles()->CreateDefaultViewForTesting()); |
| 110 EXPECT_EQ(Button::STATE_DISABLED, GetSettingsButton()->state()); | 118 EXPECT_EQ(Button::STATE_DISABLED, GetSettingsButton()->state()); |
| 111 EXPECT_EQ(Button::STATE_DISABLED, GetHelpButton()->state()); | 119 EXPECT_EQ(Button::STATE_DISABLED, GetHelpButton()->state()); |
| 120 EXPECT_EQ(Button::STATE_DISABLED, GetNightLightButton()->state()); |
| 112 EXPECT_EQ(Button::STATE_DISABLED, GetLockButton()->state()); | 121 EXPECT_EQ(Button::STATE_DISABLED, GetLockButton()->state()); |
| 113 EXPECT_EQ(Button::STATE_NORMAL, GetPowerButton()->state()); | 122 EXPECT_EQ(Button::STATE_NORMAL, GetPowerButton()->state()); |
| 114 } | 123 } |
| 115 | 124 |
| 116 } // namespace ash | 125 } // namespace ash |
| OLD | NEW |