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 "base/message_loop/message_loop.h" | 5 #include "base/message_loop/message_loop.h" |
6 #include "base/run_loop.h" | 6 #include "base/run_loop.h" |
7 #include "components/arc/test/fake_arc_bridge_instance.h" | 7 #include "components/arc/test/fake_arc_bridge_instance.h" |
8 #include "components/arc/test/fake_arc_bridge_service.h" | 8 #include "components/arc/test/fake_arc_bridge_service.h" |
9 #include "components/arc/test/fake_notifications_instance.h" | 9 #include "components/arc/test/fake_notifications_instance.h" |
10 #include "mojo/message_pump/message_pump_mojo.h" | 10 #include "mojo/message_pump/message_pump_mojo.h" |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 ArcNotificationManager* arc_notification_manager() { | 82 ArcNotificationManager* arc_notification_manager() { |
83 return arc_notification_manager_.get(); | 83 return arc_notification_manager_.get(); |
84 } | 84 } |
85 MockMessageCenter* message_center() { return message_center_.get(); } | 85 MockMessageCenter* message_center() { return message_center_.get(); } |
86 | 86 |
87 std::string CreateNotification() { | 87 std::string CreateNotification() { |
88 return CreateNotificationWithKey(kDummyNotificationKey); | 88 return CreateNotificationWithKey(kDummyNotificationKey); |
89 } | 89 } |
90 | 90 |
91 std::string CreateNotificationWithKey(const std::string& key) { | 91 std::string CreateNotificationWithKey(const std::string& key) { |
92 auto data = ArcNotificationData::New(); | 92 auto data = mojom::ArcNotificationData::New(); |
93 data->key = key; | 93 data->key = key; |
94 data->title = "TITLE"; | 94 data->title = "TITLE"; |
95 data->message = "MESSAGE"; | 95 data->message = "MESSAGE"; |
96 | 96 |
97 std::vector<unsigned char> icon_data; | 97 std::vector<unsigned char> icon_data; |
98 data->icon_data.Swap(&icon_data); | 98 data->icon_data.Swap(&icon_data); |
99 | 99 |
100 arc_notification_manager()->OnNotificationPosted(std::move(data)); | 100 arc_notification_manager()->OnNotificationPosted(std::move(data)); |
101 | 101 |
102 return key; | 102 return key; |
103 } | 103 } |
104 | 104 |
105 private: | 105 private: |
106 base::MessageLoop loop_; | 106 base::MessageLoop loop_; |
107 std::unique_ptr<FakeArcBridgeService> service_; | 107 std::unique_ptr<FakeArcBridgeService> service_; |
108 std::unique_ptr<FakeNotificationsInstance> arc_notifications_instance_; | 108 std::unique_ptr<FakeNotificationsInstance> arc_notifications_instance_; |
109 std::unique_ptr<ArcNotificationManager> arc_notification_manager_; | 109 std::unique_ptr<ArcNotificationManager> arc_notification_manager_; |
110 std::unique_ptr<MockMessageCenter> message_center_; | 110 std::unique_ptr<MockMessageCenter> message_center_; |
111 | 111 |
112 void SetUp() override { | 112 void SetUp() override { |
113 NotificationsInstancePtr arc_notifications_instance; | 113 mojom::NotificationsInstancePtr arc_notifications_instance; |
114 arc_notifications_instance_.reset( | 114 arc_notifications_instance_.reset( |
115 new FakeNotificationsInstance(GetProxy(&arc_notifications_instance))); | 115 new FakeNotificationsInstance(GetProxy(&arc_notifications_instance))); |
116 service_.reset(new FakeArcBridgeService()); | 116 service_.reset(new FakeArcBridgeService()); |
117 message_center_.reset(new MockMessageCenter()); | 117 message_center_.reset(new MockMessageCenter()); |
118 | 118 |
119 arc_notification_manager_.reset(new ArcNotificationManager( | 119 arc_notification_manager_.reset(new ArcNotificationManager( |
120 service(), EmptyAccountId(), message_center_.get())); | 120 service(), EmptyAccountId(), message_center_.get())); |
121 | 121 |
122 ArcBridgeServiceObserver observer; | 122 ArcBridgeServiceObserver observer; |
123 service_->AddObserver(&observer); | 123 service_->AddObserver(&observer); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 message_center::Notification* notification = | 160 message_center::Notification* notification = |
161 *message_center()->GetVisibleNotifications().begin(); | 161 *message_center()->GetVisibleNotifications().begin(); |
162 notification->delegate()->Close(true /* by_user */); | 162 notification->delegate()->Close(true /* by_user */); |
163 // |notification| gets stale here. | 163 // |notification| gets stale here. |
164 } | 164 } |
165 | 165 |
166 arc_notifications_instance()->WaitForIncomingMethodCall(); | 166 arc_notifications_instance()->WaitForIncomingMethodCall(); |
167 | 167 |
168 ASSERT_EQ(1u, arc_notifications_instance()->events().size()); | 168 ASSERT_EQ(1u, arc_notifications_instance()->events().size()); |
169 EXPECT_EQ(key, arc_notifications_instance()->events().at(0).first); | 169 EXPECT_EQ(key, arc_notifications_instance()->events().at(0).first); |
170 EXPECT_EQ(ArcNotificationEvent::CLOSED, | 170 EXPECT_EQ(mojom::ArcNotificationEvent::CLOSED, |
171 arc_notifications_instance()->events().at(0).second); | 171 arc_notifications_instance()->events().at(0).second); |
172 } | 172 } |
173 | 173 |
174 TEST_F(ArcNotificationManagerTest, NotificationRemovedByConnectionClose) { | 174 TEST_F(ArcNotificationManagerTest, NotificationRemovedByConnectionClose) { |
175 service()->SetReady(); | 175 service()->SetReady(); |
176 EXPECT_EQ(0u, message_center()->GetVisibleNotifications().size()); | 176 EXPECT_EQ(0u, message_center()->GetVisibleNotifications().size()); |
177 CreateNotificationWithKey("notification1"); | 177 CreateNotificationWithKey("notification1"); |
178 CreateNotificationWithKey("notification2"); | 178 CreateNotificationWithKey("notification2"); |
179 CreateNotificationWithKey("notification3"); | 179 CreateNotificationWithKey("notification3"); |
180 EXPECT_EQ(3u, message_center()->GetVisibleNotifications().size()); | 180 EXPECT_EQ(3u, message_center()->GetVisibleNotifications().size()); |
181 | 181 |
182 arc_notification_manager()->OnNotificationsInstanceClosed(); | 182 arc_notification_manager()->OnNotificationsInstanceClosed(); |
183 | 183 |
184 EXPECT_EQ(0u, message_center()->GetVisibleNotifications().size()); | 184 EXPECT_EQ(0u, message_center()->GetVisibleNotifications().size()); |
185 } | 185 } |
186 | 186 |
187 } // namespace arc | 187 } // namespace arc |
OLD | NEW |