| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <stdint.h> | 5 #include <stdint.h> |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 std::move(notification_bridge)); | 106 std::move(notification_bridge)); |
| 107 } | 107 } |
| 108 | 108 |
| 109 void TearDown() override { | 109 void TearDown() override { |
| 110 profile_manager_.reset(); | 110 profile_manager_.reset(); |
| 111 TestingBrowserProcess::DeleteInstance(); | 111 TestingBrowserProcess::DeleteInstance(); |
| 112 } | 112 } |
| 113 | 113 |
| 114 void DidGetDisplayedNotifications( | 114 void DidGetDisplayedNotifications( |
| 115 std::unique_ptr<std::set<std::string>> displayed_notifications, | 115 std::unique_ptr<std::set<std::string>> displayed_notifications, |
| 116 bool supports_synchronization) const { | 116 bool supports_synchronization) { |
| 117 displayed_notifications_ = std::move(displayed_notifications); | 117 displayed_notifications_ = std::move(displayed_notifications); |
| 118 } | 118 } |
| 119 | 119 |
| 120 protected: | 120 protected: |
| 121 // Displays a simple, fake notifications and returns a weak pointer to the | 121 // Displays a simple, fake notifications and returns a weak pointer to the |
| 122 // delegate receiving events for it (ownership is transferred to the service). | 122 // delegate receiving events for it (ownership is transferred to the service). |
| 123 MockDesktopNotificationDelegate* CreateSimplePageNotification() const { | 123 MockDesktopNotificationDelegate* CreateSimplePageNotification() const { |
| 124 return CreateSimplePageNotificationWithCloseClosure(nullptr); | 124 return CreateSimplePageNotificationWithCloseClosure(nullptr); |
| 125 } | 125 } |
| 126 | 126 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 145 } | 145 } |
| 146 | 146 |
| 147 // Returns the Platform Notification Service these unit tests are for. | 147 // Returns the Platform Notification Service these unit tests are for. |
| 148 PlatformNotificationServiceImpl* service() const { | 148 PlatformNotificationServiceImpl* service() const { |
| 149 return PlatformNotificationServiceImpl::GetInstance(); | 149 return PlatformNotificationServiceImpl::GetInstance(); |
| 150 } | 150 } |
| 151 | 151 |
| 152 // Returns the Profile to be used for these tests. | 152 // Returns the Profile to be used for these tests. |
| 153 Profile* profile() const { return profile_; } | 153 Profile* profile() const { return profile_; } |
| 154 | 154 |
| 155 size_t GetNotificationCount() const { | 155 size_t GetNotificationCount() { |
| 156 display_service()->GetDisplayed(base::Bind( | 156 display_service()->GetDisplayed(base::Bind( |
| 157 &PlatformNotificationServiceTest::DidGetDisplayedNotifications, | 157 &PlatformNotificationServiceTest::DidGetDisplayedNotifications, |
| 158 base::Unretained(this))); | 158 base::Unretained(this))); |
| 159 base::RunLoop().RunUntilIdle(); | 159 base::RunLoop().RunUntilIdle(); |
| 160 | 160 |
| 161 EXPECT_TRUE(displayed_notifications_.get()); | 161 EXPECT_TRUE(displayed_notifications_.get()); |
| 162 return displayed_notifications_->size(); | 162 return displayed_notifications_->size(); |
| 163 } | 163 } |
| 164 | 164 |
| 165 Notification GetDisplayedNotification() { | 165 Notification GetDisplayedNotification() { |
| 166 #if defined(OS_ANDROID) | 166 #if defined(OS_ANDROID) |
| 167 return static_cast<StubNotificationPlatformBridge*>( | 167 return static_cast<StubNotificationPlatformBridge*>( |
| 168 g_browser_process->notification_platform_bridge()) | 168 g_browser_process->notification_platform_bridge()) |
| 169 ->GetNotificationAt(profile_->GetPath().BaseName().value(), 0); | 169 ->GetNotificationAt(profile_->GetPath().BaseName().value(), 0); |
| 170 #else | 170 #else |
| 171 return static_cast<StubNotificationUIManager*>( | 171 return static_cast<StubNotificationUIManager*>( |
| 172 g_browser_process->notification_ui_manager()) | 172 g_browser_process->notification_ui_manager()) |
| 173 ->GetNotificationAt(0); | 173 ->GetNotificationAt(0); |
| 174 #endif | 174 #endif |
| 175 } | 175 } |
| 176 | 176 |
| 177 private: | 177 private: |
| 178 NotificationDisplayService* display_service() const { | 178 NotificationDisplayService* display_service() const { |
| 179 return NotificationDisplayServiceFactory::GetForProfile(profile_); | 179 return NotificationDisplayServiceFactory::GetForProfile(profile_); |
| 180 } | 180 } |
| 181 | 181 |
| 182 std::unique_ptr<TestingProfileManager> profile_manager_; | 182 std::unique_ptr<TestingProfileManager> profile_manager_; |
| 183 TestingProfile* profile_; | 183 TestingProfile* profile_; |
| 184 content::TestBrowserThreadBundle thread_bundle_; | 184 content::TestBrowserThreadBundle thread_bundle_; |
| 185 mutable std::unique_ptr<std::set<std::string>> displayed_notifications_; | 185 std::unique_ptr<std::set<std::string>> displayed_notifications_; |
| 186 }; | 186 }; |
| 187 | 187 |
| 188 TEST_F(PlatformNotificationServiceTest, DisplayPageDisplayedEvent) { | 188 TEST_F(PlatformNotificationServiceTest, DisplayPageDisplayedEvent) { |
| 189 auto* delegate = CreateSimplePageNotification(); | 189 auto* delegate = CreateSimplePageNotification(); |
| 190 | 190 |
| 191 EXPECT_EQ(1u, GetNotificationCount()); | 191 EXPECT_EQ(1u, GetNotificationCount()); |
| 192 EXPECT_TRUE(delegate->displayed()); | 192 EXPECT_TRUE(delegate->displayed()); |
| 193 } | 193 } |
| 194 | 194 |
| 195 TEST_F(PlatformNotificationServiceTest, DisplayPageCloseClosure) { | 195 TEST_F(PlatformNotificationServiceTest, DisplayPageCloseClosure) { |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 425 profile(), | 425 profile(), |
| 426 GURL() /* service_worker_scope */, | 426 GURL() /* service_worker_scope */, |
| 427 GURL("chrome-extension://honijodknafkokifofgiaalefdiedpko/main.html"), | 427 GURL("chrome-extension://honijodknafkokifofgiaalefdiedpko/main.html"), |
| 428 notification_data, NotificationResources(), | 428 notification_data, NotificationResources(), |
| 429 new MockNotificationDelegate("hello")); | 429 new MockNotificationDelegate("hello")); |
| 430 EXPECT_EQ("NotificationTest", | 430 EXPECT_EQ("NotificationTest", |
| 431 base::UTF16ToUTF8(notification.context_message())); | 431 base::UTF16ToUTF8(notification.context_message())); |
| 432 } | 432 } |
| 433 | 433 |
| 434 #endif // BUILDFLAG(ENABLE_EXTENSIONS) | 434 #endif // BUILDFLAG(ENABLE_EXTENSIONS) |
| OLD | NEW |