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

Side by Side Diff: ash/system/tiles/tray_tiles_unittest.cc

Issue 2857103007: [Night Light] CL2: Ash and system tray work (Closed)
Patch Set: James' comments Created 3 years, 7 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 unified diff | Download patch
OLDNEW
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
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());
James Cook 2017/05/05 20:47:43 Any particular reason this feature is disabled at
afakhry 2017/05/06 00:49:35 I guess so. I think I'll have to check again with
James Cook 2017/05/08 16:09:07 Ah. It wasn't clear to me from the videos / mocks
afakhry 2017/05/08 17:36:26 Oh, sorry, I think I confused even more! You are r
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698