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

Side by Side Diff: chrome/browser/notifications/platform_notification_service_unittest.cc

Issue 2916383004: Revert of Minimize the delegate dependencies for non persistent notifications. (Closed)
Patch Set: Created 3 years, 6 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 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/feature_list.h" 10 #include "base/feature_list.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 using content::PlatformNotificationData; 58 using content::PlatformNotificationData;
59 59
60 namespace { 60 namespace {
61 61
62 const char kNotificationId[] = "my-notification-id"; 62 const char kNotificationId[] = "my-notification-id";
63 const int kNotificationVibrationPattern[] = { 100, 200, 300 }; 63 const int kNotificationVibrationPattern[] = { 100, 200, 300 };
64 64
65 class MockDesktopNotificationDelegate 65 class MockDesktopNotificationDelegate
66 : public content::DesktopNotificationDelegate { 66 : public content::DesktopNotificationDelegate {
67 public: 67 public:
68 MockDesktopNotificationDelegate() : displayed_(false) {} 68 MockDesktopNotificationDelegate()
69 : displayed_(false),
70 clicked_(false) {}
69 71
70 ~MockDesktopNotificationDelegate() override {} 72 ~MockDesktopNotificationDelegate() override {}
71 73
72 // content::DesktopNotificationDelegate implementation. 74 // content::DesktopNotificationDelegate implementation.
73 void NotificationDisplayed() override { displayed_ = true; } 75 void NotificationDisplayed() override { displayed_ = true; }
74 void NotificationClosed() override {} 76 void NotificationClosed() override {}
75 void NotificationClick() override {} 77 void NotificationClick() override { clicked_ = true; }
76 78
77 bool displayed() const { return displayed_; } 79 bool displayed() const { return displayed_; }
80 bool clicked() const { return clicked_; }
78 81
79 private: 82 private:
80 bool displayed_; 83 bool displayed_;
84 bool clicked_;
81 85
82 DISALLOW_COPY_AND_ASSIGN(MockDesktopNotificationDelegate); 86 DISALLOW_COPY_AND_ASSIGN(MockDesktopNotificationDelegate);
83 }; 87 };
84 88
85 } // namespace 89 } // namespace
86 90
87 class PlatformNotificationServiceTest : public testing::Test { 91 class PlatformNotificationServiceTest : public testing::Test {
88 public: 92 public:
89 void SetUp() override { 93 void SetUp() override {
90 profile_manager_ = base::MakeUnique<TestingProfileManager>( 94 profile_manager_ = base::MakeUnique<TestingProfileManager>(
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 NotificationDisplayService* display_service() const { 186 NotificationDisplayService* display_service() const {
183 return NotificationDisplayServiceFactory::GetForProfile(profile_); 187 return NotificationDisplayServiceFactory::GetForProfile(profile_);
184 } 188 }
185 189
186 std::unique_ptr<TestingProfileManager> profile_manager_; 190 std::unique_ptr<TestingProfileManager> profile_manager_;
187 TestingProfile* profile_; 191 TestingProfile* profile_;
188 content::TestBrowserThreadBundle thread_bundle_; 192 content::TestBrowserThreadBundle thread_bundle_;
189 std::unique_ptr<std::set<std::string>> displayed_notifications_; 193 std::unique_ptr<std::set<std::string>> displayed_notifications_;
190 }; 194 };
191 195
192 // Native, non persistent notifications don't have delegates any more
193 #if !defined(OS_MACOSX)
194 TEST_F(PlatformNotificationServiceTest, DisplayPageDisplayedEvent) { 196 TEST_F(PlatformNotificationServiceTest, DisplayPageDisplayedEvent) {
195 auto* delegate = CreateSimplePageNotification(); 197 auto* delegate = CreateSimplePageNotification();
196 198
197 EXPECT_EQ(1u, GetNotificationCount()); 199 EXPECT_EQ(1u, GetNotificationCount());
198 EXPECT_TRUE(delegate->displayed()); 200 EXPECT_TRUE(delegate->displayed());
199 } 201 }
200 #endif // !defined(OS_MACOSX)
201 202
202 TEST_F(PlatformNotificationServiceTest, DisplayPageCloseClosure) { 203 TEST_F(PlatformNotificationServiceTest, DisplayPageCloseClosure) {
203 base::Closure close_closure; 204 base::Closure close_closure;
204 CreateSimplePageNotificationWithCloseClosure(&close_closure); 205 CreateSimplePageNotificationWithCloseClosure(&close_closure);
205 206
206 EXPECT_EQ(1u, GetNotificationCount()); 207 EXPECT_EQ(1u, GetNotificationCount());
207 208
208 ASSERT_FALSE(close_closure.is_null()); 209 ASSERT_FALSE(close_closure.is_null());
209 close_closure.Run(); 210 close_closure.Run();
210 211
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 profile(), 433 profile(),
433 GURL() /* service_worker_scope */, 434 GURL() /* service_worker_scope */,
434 GURL("chrome-extension://honijodknafkokifofgiaalefdiedpko/main.html"), 435 GURL("chrome-extension://honijodknafkokifofgiaalefdiedpko/main.html"),
435 notification_data, NotificationResources(), 436 notification_data, NotificationResources(),
436 new MockNotificationDelegate("hello")); 437 new MockNotificationDelegate("hello"));
437 EXPECT_EQ("NotificationTest", 438 EXPECT_EQ("NotificationTest",
438 base::UTF16ToUTF8(notification.context_message())); 439 base::UTF16ToUTF8(notification.context_message()));
439 } 440 }
440 441
441 #endif // BUILDFLAG(ENABLE_EXTENSIONS) 442 #endif // BUILDFLAG(ENABLE_EXTENSIONS)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698