| 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 a92d231679d2de0d1e0d548deb359675edbb92ef..f18b203bc61dbd4a98da3e6c37a9dd460c6f06a6 100644
|
| --- a/chrome/browser/notifications/notification_platform_bridge_linux_unittest.cc
|
| +++ b/chrome/browser/notifications/notification_platform_bridge_linux_unittest.cc
|
| @@ -53,6 +53,11 @@ class NotificationBuilder {
|
| return *this;
|
| }
|
|
|
| + NotificationBuilder& SetNeverTimeout(bool never_timeout) {
|
| + notification_.set_never_timeout(never_timeout);
|
| + return *this;
|
| + }
|
| +
|
| NotificationBuilder& SetProgress(int progress) {
|
| notification_.set_progress(progress);
|
| return *this;
|
| @@ -75,6 +80,7 @@ class NotificationBuilder {
|
| struct NotificationRequest {
|
| std::string summary;
|
| std::string body;
|
| + int32_t expire_timeout = 0;
|
| };
|
|
|
| NotificationRequest ParseRequest(dbus::MethodCall* method_call) {
|
| @@ -85,7 +91,6 @@ NotificationRequest ParseRequest(dbus::MethodCall* method_call) {
|
| dbus::MessageReader reader(method_call);
|
| std::string str;
|
| uint32_t uint32;
|
| - int32_t int32;
|
| EXPECT_TRUE(reader.PopString(&str)); // app_name
|
| EXPECT_TRUE(reader.PopUint32(&uint32)); // replaces_id
|
| EXPECT_TRUE(reader.PopString(&str)); // app_icon
|
| @@ -115,7 +120,7 @@ NotificationRequest ParseRequest(dbus::MethodCall* method_call) {
|
| }
|
| }
|
|
|
| - EXPECT_TRUE(reader.PopInt32(&int32)); // expire_timeout
|
| + EXPECT_TRUE(reader.PopInt32(&request.expire_timeout));
|
| EXPECT_FALSE(reader.HasMoreData());
|
|
|
| return request;
|
| @@ -299,3 +304,28 @@ TEST_F(NotificationPlatformBridgeLinuxTest, NotificationListItemsInBody) {
|
| {base::UTF8ToUTF16("def"), base::UTF8ToUTF16("456")}})
|
| .GetResult());
|
| }
|
| +
|
| +TEST_F(NotificationPlatformBridgeLinuxTest, NotificationTimeouts) {
|
| + const int32_t kExpireTimeoutDefault = -1;
|
| + const int32_t kExpireTimeoutNever = 0;
|
| + EXPECT_CALL(*mock_notification_proxy_.get(),
|
| + MockCallMethodAndBlock(Calls("Notify"), _))
|
| + .WillOnce(OnNotify(
|
| + [=](const NotificationRequest& request) {
|
| + EXPECT_EQ(kExpireTimeoutDefault, request.expire_timeout);
|
| + },
|
| + 1))
|
| + .WillOnce(OnNotify(
|
| + [=](const NotificationRequest& request) {
|
| + EXPECT_EQ(kExpireTimeoutNever, request.expire_timeout);
|
| + },
|
| + 2));
|
| +
|
| + CreateNotificationBridgeLinux();
|
| + notification_bridge_linux_->Display(
|
| + NotificationCommon::PERSISTENT, "", "", false,
|
| + NotificationBuilder("1").SetNeverTimeout(false).GetResult());
|
| + notification_bridge_linux_->Display(
|
| + NotificationCommon::PERSISTENT, "", "", false,
|
| + NotificationBuilder("2").SetNeverTimeout(true).GetResult());
|
| +}
|
|
|