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

Side by Side Diff: ui/message_center/cocoa/tray_view_controller_unittest.mm

Issue 1292003004: Elide origins displayed on web notifications. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Style nit Created 5 years, 4 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 #import "ui/message_center/cocoa/tray_view_controller.h" 5 #import "ui/message_center/cocoa/tray_view_controller.h"
6 6
7 #include "base/mac/scoped_nsobject.h" 7 #include "base/mac/scoped_nsobject.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 base::MessageLoopForUI message_loop_; 65 base::MessageLoopForUI message_loop_;
66 scoped_ptr<base::RunLoop> nested_run_loop_; 66 scoped_ptr<base::RunLoop> nested_run_loop_;
67 base::scoped_nsobject<MCTrayViewController> tray_; 67 base::scoped_nsobject<MCTrayViewController> tray_;
68 }; 68 };
69 69
70 TEST_F(TrayViewControllerTest, AddRemoveOne) { 70 TEST_F(TrayViewControllerTest, AddRemoveOne) {
71 NSScrollView* view = [[tray_ scrollView] documentView]; 71 NSScrollView* view = [[tray_ scrollView] documentView];
72 EXPECT_EQ(0u, [[view subviews] count]); 72 EXPECT_EQ(0u, [[view subviews] count]);
73 scoped_ptr<message_center::Notification> notification_data; 73 scoped_ptr<message_center::Notification> notification_data;
74 notification_data.reset(new message_center::Notification( 74 notification_data.reset(new message_center::Notification(
75 message_center::NOTIFICATION_TYPE_SIMPLE, 75 message_center::NOTIFICATION_TYPE_SIMPLE, "1",
76 "1",
77 ASCIIToUTF16("First notification"), 76 ASCIIToUTF16("First notification"),
78 ASCIIToUTF16("This is a simple test."), 77 ASCIIToUTF16("This is a simple test."), gfx::Image(), base::string16(),
79 gfx::Image(), 78 GURL(), DummyNotifierId(), message_center::RichNotificationData(), NULL));
80 base::string16(),
81 DummyNotifierId(),
82 message_center::RichNotificationData(),
83 NULL));
84 center_->AddNotification(notification_data.Pass()); 79 center_->AddNotification(notification_data.Pass());
85 [tray_ onMessageCenterTrayChanged]; 80 [tray_ onMessageCenterTrayChanged];
86 ASSERT_EQ(1u, [[view subviews] count]); 81 ASSERT_EQ(1u, [[view subviews] count]);
87 82
88 // The view should have padding around it. 83 // The view should have padding around it.
89 NSView* notification = [[view subviews] objectAtIndex:0]; 84 NSView* notification = [[view subviews] objectAtIndex:0];
90 NSRect notification_frame = [notification frame]; 85 NSRect notification_frame = [notification frame];
91 EXPECT_CGFLOAT_EQ(2 * message_center::kMarginBetweenItems, 86 EXPECT_CGFLOAT_EQ(2 * message_center::kMarginBetweenItems,
92 NSHeight([view frame]) - NSHeight(notification_frame)); 87 NSHeight([view frame]) - NSHeight(notification_frame));
93 EXPECT_CGFLOAT_EQ(2 * message_center::kMarginBetweenItems, 88 EXPECT_CGFLOAT_EQ(2 * message_center::kMarginBetweenItems,
94 NSWidth([view frame]) - NSWidth(notification_frame)); 89 NSWidth([view frame]) - NSWidth(notification_frame));
95 EXPECT_GT(NSHeight([[tray_ view] frame]), 90 EXPECT_GT(NSHeight([[tray_ view] frame]),
96 NSHeight([[tray_ scrollView] frame])); 91 NSHeight([[tray_ scrollView] frame]));
97 92
98 center_->RemoveNotification("1", true); 93 center_->RemoveNotification("1", true);
99 [tray_ onMessageCenterTrayChanged]; 94 [tray_ onMessageCenterTrayChanged];
100 EXPECT_EQ(0u, [[view subviews] count]); 95 EXPECT_EQ(0u, [[view subviews] count]);
101 // The empty tray is now 100px tall to accommodate 96 // The empty tray is now 100px tall to accommodate
102 // the empty message. 97 // the empty message.
103 EXPECT_CGFLOAT_EQ(message_center::kMinScrollViewHeight, 98 EXPECT_CGFLOAT_EQ(message_center::kMinScrollViewHeight,
104 NSHeight([view frame])); 99 NSHeight([view frame]));
105 } 100 }
106 101
107 TEST_F(TrayViewControllerTest, AddThreeClearAll) { 102 TEST_F(TrayViewControllerTest, AddThreeClearAll) {
108 NSScrollView* view = [[tray_ scrollView] documentView]; 103 NSScrollView* view = [[tray_ scrollView] documentView];
109 EXPECT_EQ(0u, [[view subviews] count]); 104 EXPECT_EQ(0u, [[view subviews] count]);
110 scoped_ptr<message_center::Notification> notification; 105 scoped_ptr<message_center::Notification> notification;
111 notification.reset(new message_center::Notification( 106 notification.reset(new message_center::Notification(
112 message_center::NOTIFICATION_TYPE_SIMPLE, 107 message_center::NOTIFICATION_TYPE_SIMPLE, "1",
113 "1",
114 ASCIIToUTF16("First notification"), 108 ASCIIToUTF16("First notification"),
115 ASCIIToUTF16("This is a simple test."), 109 ASCIIToUTF16("This is a simple test."), gfx::Image(), base::string16(),
116 gfx::Image(), 110 GURL(), DummyNotifierId(), message_center::RichNotificationData(), NULL));
117 base::string16(),
118 DummyNotifierId(),
119 message_center::RichNotificationData(),
120 NULL));
121 center_->AddNotification(notification.Pass()); 111 center_->AddNotification(notification.Pass());
122 notification.reset(new message_center::Notification( 112 notification.reset(new message_center::Notification(
123 message_center::NOTIFICATION_TYPE_SIMPLE, 113 message_center::NOTIFICATION_TYPE_SIMPLE, "2",
124 "2",
125 ASCIIToUTF16("Second notification"), 114 ASCIIToUTF16("Second notification"),
126 ASCIIToUTF16("This is a simple test."), 115 ASCIIToUTF16("This is a simple test."), gfx::Image(), base::string16(),
127 gfx::Image(), 116 GURL(), DummyNotifierId(), message_center::RichNotificationData(), NULL));
128 base::string16(),
129 DummyNotifierId(),
130 message_center::RichNotificationData(),
131 NULL));
132 center_->AddNotification(notification.Pass()); 117 center_->AddNotification(notification.Pass());
133 notification.reset(new message_center::Notification( 118 notification.reset(new message_center::Notification(
134 message_center::NOTIFICATION_TYPE_SIMPLE, 119 message_center::NOTIFICATION_TYPE_SIMPLE, "3",
135 "3",
136 ASCIIToUTF16("Third notification"), 120 ASCIIToUTF16("Third notification"),
137 ASCIIToUTF16("This is a simple test."), 121 ASCIIToUTF16("This is a simple test."), gfx::Image(), base::string16(),
138 gfx::Image(), 122 GURL(), DummyNotifierId(), message_center::RichNotificationData(), NULL));
139 base::string16(),
140 DummyNotifierId(),
141 message_center::RichNotificationData(),
142 NULL));
143 center_->AddNotification(notification.Pass()); 123 center_->AddNotification(notification.Pass());
144 [tray_ onMessageCenterTrayChanged]; 124 [tray_ onMessageCenterTrayChanged];
145 ASSERT_EQ(3u, [[view subviews] count]); 125 ASSERT_EQ(3u, [[view subviews] count]);
146 126
147 [tray_ clearAllNotifications:nil]; 127 [tray_ clearAllNotifications:nil];
148 WaitForAnimationEnded(); 128 WaitForAnimationEnded();
149 [tray_ onMessageCenterTrayChanged]; 129 [tray_ onMessageCenterTrayChanged];
150 130
151 EXPECT_EQ(0u, [[view subviews] count]); 131 EXPECT_EQ(0u, [[view subviews] count]);
152 // The empty tray is now 100px tall to accommodate 132 // The empty tray is now 100px tall to accommodate
153 // the empty message. 133 // the empty message.
154 EXPECT_CGFLOAT_EQ(message_center::kMinScrollViewHeight, 134 EXPECT_CGFLOAT_EQ(message_center::kMinScrollViewHeight,
155 NSHeight([view frame])); 135 NSHeight([view frame]));
156 } 136 }
157 137
158 TEST_F(TrayViewControllerTest, NoClearAllWhenNoNotifications) { 138 TEST_F(TrayViewControllerTest, NoClearAllWhenNoNotifications) {
159 EXPECT_TRUE([tray_ pauseButton]); 139 EXPECT_TRUE([tray_ pauseButton]);
160 EXPECT_TRUE([tray_ clearAllButton]); 140 EXPECT_TRUE([tray_ clearAllButton]);
161 141
162 // With no notifications, the clear all button should be hidden. 142 // With no notifications, the clear all button should be hidden.
163 EXPECT_TRUE([[tray_ clearAllButton] isHidden]); 143 EXPECT_TRUE([[tray_ clearAllButton] isHidden]);
164 EXPECT_LT(NSMinX([[tray_ clearAllButton] frame]), 144 EXPECT_LT(NSMinX([[tray_ clearAllButton] frame]),
165 NSMinX([[tray_ pauseButton] frame])); 145 NSMinX([[tray_ pauseButton] frame]));
166 146
167 // Add a notification. 147 // Add a notification.
168 scoped_ptr<message_center::Notification> notification; 148 scoped_ptr<message_center::Notification> notification;
169 notification.reset(new message_center::Notification( 149 notification.reset(new message_center::Notification(
170 message_center::NOTIFICATION_TYPE_SIMPLE, 150 message_center::NOTIFICATION_TYPE_SIMPLE, "1",
171 "1",
172 ASCIIToUTF16("First notification"), 151 ASCIIToUTF16("First notification"),
173 ASCIIToUTF16("This is a simple test."), 152 ASCIIToUTF16("This is a simple test."), gfx::Image(), base::string16(),
174 gfx::Image(), 153 GURL(), DummyNotifierId(), message_center::RichNotificationData(), NULL));
175 base::string16(),
176 DummyNotifierId(),
177 message_center::RichNotificationData(),
178 NULL));
179 center_->AddNotification(notification.Pass()); 154 center_->AddNotification(notification.Pass());
180 [tray_ onMessageCenterTrayChanged]; 155 [tray_ onMessageCenterTrayChanged];
181 156
182 // Clear all should now be visible. 157 // Clear all should now be visible.
183 EXPECT_FALSE([[tray_ clearAllButton] isHidden]); 158 EXPECT_FALSE([[tray_ clearAllButton] isHidden]);
184 EXPECT_GT(NSMinX([[tray_ clearAllButton] frame]), 159 EXPECT_GT(NSMinX([[tray_ clearAllButton] frame]),
185 NSMinX([[tray_ pauseButton] frame])); 160 NSMinX([[tray_ pauseButton] frame]));
186 161
187 // Adding a second notification should keep things still visible. 162 // Adding a second notification should keep things still visible.
188 notification.reset(new message_center::Notification( 163 notification.reset(new message_center::Notification(
189 message_center::NOTIFICATION_TYPE_SIMPLE, 164 message_center::NOTIFICATION_TYPE_SIMPLE, "2",
190 "2",
191 ASCIIToUTF16("Second notification"), 165 ASCIIToUTF16("Second notification"),
192 ASCIIToUTF16("This is a simple test."), 166 ASCIIToUTF16("This is a simple test."), gfx::Image(), base::string16(),
193 gfx::Image(), 167 GURL(), DummyNotifierId(), message_center::RichNotificationData(), NULL));
194 base::string16(),
195 DummyNotifierId(),
196 message_center::RichNotificationData(),
197 NULL));
198 center_->AddNotification(notification.Pass()); 168 center_->AddNotification(notification.Pass());
199 [tray_ onMessageCenterTrayChanged]; 169 [tray_ onMessageCenterTrayChanged];
200 EXPECT_FALSE([[tray_ clearAllButton] isHidden]); 170 EXPECT_FALSE([[tray_ clearAllButton] isHidden]);
201 EXPECT_GT(NSMinX([[tray_ clearAllButton] frame]), 171 EXPECT_GT(NSMinX([[tray_ clearAllButton] frame]),
202 NSMinX([[tray_ pauseButton] frame])); 172 NSMinX([[tray_ pauseButton] frame]));
203 173
204 // Clear all notifications. 174 // Clear all notifications.
205 [tray_ clearAllNotifications:nil]; 175 [tray_ clearAllNotifications:nil];
206 WaitForAnimationEnded(); 176 WaitForAnimationEnded();
207 [tray_ onMessageCenterTrayChanged]; 177 [tray_ onMessageCenterTrayChanged];
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 225
256 TEST_F(TrayViewControllerTest, EmptyCenter) { 226 TEST_F(TrayViewControllerTest, EmptyCenter) {
257 EXPECT_FALSE([[tray_ emptyDescription] isHidden]); 227 EXPECT_FALSE([[tray_ emptyDescription] isHidden]);
258 228
259 // With no notifications, the divider should be hidden. 229 // With no notifications, the divider should be hidden.
260 EXPECT_TRUE([[tray_ divider] isHidden]); 230 EXPECT_TRUE([[tray_ divider] isHidden]);
261 EXPECT_TRUE([[tray_ scrollView] isHidden]); 231 EXPECT_TRUE([[tray_ scrollView] isHidden]);
262 232
263 scoped_ptr<message_center::Notification> notification; 233 scoped_ptr<message_center::Notification> notification;
264 notification.reset(new message_center::Notification( 234 notification.reset(new message_center::Notification(
265 message_center::NOTIFICATION_TYPE_SIMPLE, 235 message_center::NOTIFICATION_TYPE_SIMPLE, "1",
266 "1",
267 ASCIIToUTF16("First notification"), 236 ASCIIToUTF16("First notification"),
268 ASCIIToUTF16("This is a simple test."), 237 ASCIIToUTF16("This is a simple test."), gfx::Image(), base::string16(),
269 gfx::Image(), 238 GURL(), DummyNotifierId(), message_center::RichNotificationData(), NULL));
270 base::string16(),
271 DummyNotifierId(),
272 message_center::RichNotificationData(),
273 NULL));
274 center_->AddNotification(notification.Pass()); 239 center_->AddNotification(notification.Pass());
275 [tray_ onMessageCenterTrayChanged]; 240 [tray_ onMessageCenterTrayChanged];
276 241
277 EXPECT_FALSE([[tray_ divider] isHidden]); 242 EXPECT_FALSE([[tray_ divider] isHidden]);
278 EXPECT_FALSE([[tray_ scrollView] isHidden]); 243 EXPECT_FALSE([[tray_ scrollView] isHidden]);
279 EXPECT_TRUE([[tray_ emptyDescription] isHidden]); 244 EXPECT_TRUE([[tray_ emptyDescription] isHidden]);
280 } 245 }
281 246
282 } // namespace message_center 247 } // namespace message_center
OLDNEW
« no previous file with comments | « ui/message_center/cocoa/popup_controller_unittest.mm ('k') | ui/message_center/message_center.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698