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

Unified Diff: chrome/browser/notifications/notification_platform_bridge_linux_unittest.cc

Issue 2875443002: Linux native notifications: Support list notifications (Closed)
Patch Set: Rebase Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/notifications/notification_platform_bridge_linux.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/notifications/notification_platform_bridge_linux_unittest.cc
diff --git a/chrome/browser/notifications/notification_platform_bridge_linux_unittest.cc b/chrome/browser/notifications/notification_platform_bridge_linux_unittest.cc
index 53a301f2942be47e4ad3c209222e23cff5e5d3a5..a92d231679d2de0d1e0d548deb359675edbb92ef 100644
--- a/chrome/browser/notifications/notification_platform_bridge_linux_unittest.cc
+++ b/chrome/browser/notifications/notification_platform_bridge_linux_unittest.cc
@@ -47,6 +47,12 @@ class NotificationBuilder {
Notification GetResult() { return notification_; }
+ NotificationBuilder& SetItems(
+ const std::vector<message_center::NotificationItem>& items) {
+ notification_.set_items(items);
+ return *this;
+ }
+
NotificationBuilder& SetProgress(int progress) {
notification_.set_progress(progress);
return *this;
@@ -68,6 +74,7 @@ class NotificationBuilder {
struct NotificationRequest {
std::string summary;
+ std::string body;
};
NotificationRequest ParseRequest(dbus::MethodCall* method_call) {
@@ -83,7 +90,7 @@ NotificationRequest ParseRequest(dbus::MethodCall* method_call) {
EXPECT_TRUE(reader.PopUint32(&uint32)); // replaces_id
EXPECT_TRUE(reader.PopString(&str)); // app_icon
EXPECT_TRUE(reader.PopString(&request.summary)); // summary
- EXPECT_TRUE(reader.PopString(&str)); // body
+ EXPECT_TRUE(reader.PopString(&request.body)); // body
{
dbus::MessageReader actions_reader(nullptr);
@@ -145,8 +152,8 @@ ACTION_P(OnGetServerInformation, spec_version) {
return response;
}
-ACTION_P(OnNotify, id) {
- ParseRequest(arg0);
+ACTION_P2(OnNotify, verifier, id) {
+ verifier(ParseRequest(arg0));
return GetIdResponse(id);
}
@@ -187,7 +194,7 @@ class NotificationPlatformBridgeLinuxTest : public testing::Test {
EXPECT_CALL(*mock_notification_proxy_.get(),
MockCallMethodAndBlock(Calls("GetCapabilities"), _))
- .WillOnce(OnGetCapabilities(std::vector<std::string>()));
+ .WillOnce(OnGetCapabilities(std::vector<std::string>{"body"}));
EXPECT_CALL(*mock_notification_proxy_.get(),
MockCallMethodAndBlock(Calls("GetServerInformation"), _))
@@ -240,7 +247,7 @@ TEST_F(NotificationPlatformBridgeLinuxTest, SetUpAndTearDown) {
TEST_F(NotificationPlatformBridgeLinuxTest, NotifyAndCloseFormat) {
EXPECT_CALL(*mock_notification_proxy_.get(),
MockCallMethodAndBlock(Calls("Notify"), _))
- .WillOnce(OnNotify(1));
+ .WillOnce(OnNotify([](const NotificationRequest&) {}, 1));
EXPECT_CALL(*mock_notification_proxy_.get(),
MockCallMethodAndBlock(Calls("CloseNotification"), _))
.WillOnce(OnCloseNotification());
@@ -252,17 +259,16 @@ TEST_F(NotificationPlatformBridgeLinuxTest, NotifyAndCloseFormat) {
notification_bridge_linux_->Close("", "");
}
-ACTION_P2(VerifySummary, summary, id) {
- NotificationRequest request = ParseRequest(arg0);
- EXPECT_EQ(summary, request.summary);
- return GetIdResponse(id);
-}
-
TEST_F(NotificationPlatformBridgeLinuxTest, ProgressPercentageAddedToSummary) {
EXPECT_CALL(*mock_notification_proxy_.get(),
MockCallMethodAndBlock(Calls("Notify"), _))
- .WillOnce(VerifySummary(
- base::UTF16ToUTF8(base::FormatPercent(42)) + " - The Title", 1));
+ .WillOnce(OnNotify(
+ [](const NotificationRequest& request) {
+ EXPECT_EQ(
+ base::UTF16ToUTF8(base::FormatPercent(42)) + " - The Title",
+ request.summary);
+ },
+ 1));
CreateNotificationBridgeLinux();
notification_bridge_linux_->Display(
@@ -273,3 +279,23 @@ TEST_F(NotificationPlatformBridgeLinuxTest, ProgressPercentageAddedToSummary) {
.SetTitle(base::UTF8ToUTF16("The Title"))
.GetResult());
}
+
+TEST_F(NotificationPlatformBridgeLinuxTest, NotificationListItemsInBody) {
+ EXPECT_CALL(*mock_notification_proxy_.get(),
+ MockCallMethodAndBlock(Calls("Notify"), _))
+ .WillOnce(OnNotify(
+ [](const NotificationRequest& request) {
+ EXPECT_EQ("abc - 123\ndef - 456", request.body);
+ },
+ 1));
+
+ CreateNotificationBridgeLinux();
+ notification_bridge_linux_->Display(
+ NotificationCommon::PERSISTENT, "", "", false,
+ NotificationBuilder("")
+ .SetType(message_center::NOTIFICATION_TYPE_MULTIPLE)
+ .SetItems(std::vector<message_center::NotificationItem>{
+ {base::UTF8ToUTF16("abc"), base::UTF8ToUTF16("123")},
+ {base::UTF8ToUTF16("def"), base::UTF8ToUTF16("456")}})
+ .GetResult());
+}
« no previous file with comments | « chrome/browser/notifications/notification_platform_bridge_linux.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698