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

Side by Side Diff: ui/message_center/message_center_tray_unittest.cc

Issue 11819048: Implement message center on Windows (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Use notification manager instead of balloon view, remove singleton-ness from MessageCenterTray. Created 7 years, 11 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "ui/message_center/message_center_tray.h"
6
7 #include "base/utf_string_conversions.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "ui/message_center/message_center.h"
10 #include "ui/notifications/notification_types.h"
11
12 namespace ui {
13 namespace {
14
15 class MockDelegate : public MessageCenterTrayDelegate,
16 public MessageCenterTrayObserver {
17 public:
18 MockDelegate()
19 : show_popups_success_(true),
20 show_message_center_success_(true) {}
21 virtual ~MockDelegate() {}
22 virtual void OnMessageCenterTrayChanged() {}
23 virtual bool ShowPopups(message_center::MessageBubbleBase* bubble) {
24 return show_message_center_success_;
25 }
26 virtual void HidePopups() {}
27 virtual void UpdatePopups() {}
28 virtual bool ShowMessageCenter(message_center::MessageBubbleBase* bubble) {
29 return show_popups_success_;
30 }
31 virtual void HideMessageCenter() {}
32 virtual void UpdateMessageCenter() {}
33
34 bool show_popups_success_;
35 bool show_message_center_success_;
36
37 private:
38 DISALLOW_COPY_AND_ASSIGN(MockDelegate);
39 };
40
41 class MessageCenterTrayTest : public testing::Test {
42 public:
43 MessageCenterTrayTest() {}
44 virtual ~MessageCenterTrayTest() {}
45
46 virtual void SetUp() {
47 delegate_.reset(new MockDelegate);
48 message_center_.reset(new message_center::MessageCenter());
49 message_center_tray_.reset(
50 new MessageCenterTray(delegate_.get(), message_center_.get()));
51 }
52
53 protected:
54 scoped_ptr<MockDelegate> delegate_;
55 scoped_ptr<MessageCenterTray> message_center_tray_;
56 scoped_ptr<message_center::MessageCenter> message_center_;
57
58 private:
59 DISALLOW_COPY_AND_ASSIGN(MessageCenterTrayTest);
60 };
61
62 } // namespace
63
64 TEST_F(MessageCenterTrayTest, BasicMessageCenter) {
65 ASSERT_FALSE(message_center_tray_->popups_visible());
66 ASSERT_FALSE(message_center_tray_->message_center_visible());
67
68 message_center_tray_->ShowMessageCenterBubble();
69
70 ASSERT_FALSE(message_center_tray_->popups_visible());
71 ASSERT_TRUE(message_center_tray_->message_center_visible());
72
73 message_center_tray_->HideMessageCenterBubble();
74
75 ASSERT_FALSE(message_center_tray_->popups_visible());
76 ASSERT_FALSE(message_center_tray_->message_center_visible());
77
78 message_center_tray_->ToggleMessageCenterBubble();
79
80 ASSERT_FALSE(message_center_tray_->popups_visible());
81 ASSERT_TRUE(message_center_tray_->message_center_visible());
82
83 message_center_tray_->ToggleMessageCenterBubble();
84
85 ASSERT_FALSE(message_center_tray_->popups_visible());
86 ASSERT_FALSE(message_center_tray_->message_center_visible());
87 }
88
89 TEST_F(MessageCenterTrayTest, BasicPopup) {
90 ASSERT_FALSE(message_center_tray_->popups_visible());
91 ASSERT_FALSE(message_center_tray_->message_center_visible());
92
93 message_center_tray_->ShowPopupBubble();
94
95 ASSERT_FALSE(message_center_tray_->popups_visible());
96 ASSERT_FALSE(message_center_tray_->message_center_visible());
97
98 message_center_->AddNotification(
99 ui::notifications::NOTIFICATION_TYPE_SIMPLE,
100 "BasicPopup",
101 ASCIIToUTF16("Test Web Notification"),
102 ASCIIToUTF16("Notification message body."),
103 ASCIIToUTF16("www.test.org"),
104 "" /* extension id */,
105 NULL /* optional_fields */);
106
107 ASSERT_TRUE(message_center_tray_->popups_visible());
108 ASSERT_FALSE(message_center_tray_->message_center_visible());
109
110 message_center_tray_->HidePopupBubble();
111
112 ASSERT_FALSE(message_center_tray_->popups_visible());
113 ASSERT_FALSE(message_center_tray_->message_center_visible());
114 }
115
116 TEST_F(MessageCenterTrayTest, MessageCenterClosesPopups) {
117 ASSERT_FALSE(message_center_tray_->popups_visible());
118 ASSERT_FALSE(message_center_tray_->message_center_visible());
119
120 message_center_->AddNotification(
121 ui::notifications::NOTIFICATION_TYPE_SIMPLE,
122 "MessageCenterClosesPopups",
123 ASCIIToUTF16("Test Web Notification"),
124 ASCIIToUTF16("Notification message body."),
125 ASCIIToUTF16("www.test.org"),
126 "" /* extension id */,
127 NULL /* optional_fields */);
128
129 ASSERT_TRUE(message_center_tray_->popups_visible());
130 ASSERT_FALSE(message_center_tray_->message_center_visible());
131
132 message_center_tray_->ShowMessageCenterBubble();
133
134 ASSERT_FALSE(message_center_tray_->popups_visible());
135 ASSERT_TRUE(message_center_tray_->message_center_visible());
136
137 message_center_->AddNotification(
138 ui::notifications::NOTIFICATION_TYPE_SIMPLE,
139 "MessageCenterClosesPopups2",
140 ASCIIToUTF16("Test Web Notification"),
141 ASCIIToUTF16("Notification message body."),
142 ASCIIToUTF16("www.test.org"),
143 "" /* extension id */,
144 NULL /* optional_fields */);
145
146 message_center_tray_->ShowPopupBubble();
147
148 ASSERT_FALSE(message_center_tray_->popups_visible());
149 ASSERT_TRUE(message_center_tray_->message_center_visible());
150
151 message_center_tray_->HideMessageCenterBubble();
152
153 ASSERT_FALSE(message_center_tray_->popups_visible());
154 ASSERT_FALSE(message_center_tray_->message_center_visible());
155 }
156
157 TEST_F(MessageCenterTrayTest, ShowBubbleFails) {
158 // Now the delegate will signal that it was unable to show a bubble.
159 delegate_->show_popups_success_ = false;
160 delegate_->show_message_center_success_ = false;
161
162 ASSERT_FALSE(message_center_tray_->popups_visible());
163 ASSERT_FALSE(message_center_tray_->message_center_visible());
164
165 message_center_->AddNotification(
166 ui::notifications::NOTIFICATION_TYPE_SIMPLE,
167 "ShowBubbleFails",
168 ASCIIToUTF16("Test Web Notification"),
169 ASCIIToUTF16("Notification message body."),
170 ASCIIToUTF16("www.test.org"),
171 "" /* extension id */,
172 NULL /* optional_fields */);
173
174 message_center_tray_->ShowPopupBubble();
175
176 ASSERT_FALSE(message_center_tray_->popups_visible());
177 ASSERT_FALSE(message_center_tray_->message_center_visible());
178
179 message_center_tray_->ShowMessageCenterBubble();
180
181 ASSERT_FALSE(message_center_tray_->popups_visible());
182 ASSERT_FALSE(message_center_tray_->message_center_visible());
183
184 message_center_tray_->HideMessageCenterBubble();
185
186 ASSERT_FALSE(message_center_tray_->popups_visible());
187 ASSERT_FALSE(message_center_tray_->message_center_visible());
188
189 message_center_tray_->ToggleMessageCenterBubble();
190
191 ASSERT_FALSE(message_center_tray_->popups_visible());
192 ASSERT_FALSE(message_center_tray_->message_center_visible());
193
194 message_center_tray_->HidePopupBubble();
195
196 ASSERT_FALSE(message_center_tray_->popups_visible());
197 ASSERT_FALSE(message_center_tray_->message_center_visible());
198 }
199
200 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698