| Index: content/child/notifications/notification_data_conversions_unittest.cc
|
| diff --git a/content/child/notifications/notification_data_conversions_unittest.cc b/content/child/notifications/notification_data_conversions_unittest.cc
|
| index 5c6a5decb3b78bad227b86299792579b497c97be..8f58d30cb08c6c5f4e6d0db2e51cd15c91c50ac8 100644
|
| --- a/content/child/notifications/notification_data_conversions_unittest.cc
|
| +++ b/content/child/notifications/notification_data_conversions_unittest.cc
|
| @@ -24,6 +24,7 @@ const char kNotificationBody[] = "Hello, world!";
|
| const char kNotificationTag[] = "my_tag";
|
| const char kNotificationIconUrl[] = "https://example.com/icon.png";
|
| const int kNotificationVibrationPattern[] = {100, 200, 300};
|
| +const double kNotificationTimestamp = 621046800.;
|
| const unsigned char kNotificationData[] = {0xdf, 0xff, 0x0, 0x0, 0xff, 0xdf};
|
| const char kAction1Name[] = "btn1";
|
| const char kAction1Title[] = "Button 1";
|
| @@ -40,6 +41,7 @@ TEST(NotificationDataConversionsTest, ToPlatformNotificationData) {
|
| web_data.icon = blink::WebURL(GURL(kNotificationIconUrl));
|
| web_data.vibrate = blink::WebVector<int>(
|
| kNotificationVibrationPattern, arraysize(kNotificationVibrationPattern));
|
| + web_data.timestamp = kNotificationTimestamp;
|
| web_data.silent = true;
|
| web_data.requireInteraction = true;
|
| web_data.data =
|
| @@ -66,6 +68,7 @@ TEST(NotificationDataConversionsTest, ToPlatformNotificationData) {
|
| EXPECT_THAT(platform_data.vibration_pattern,
|
| testing::ElementsAreArray(kNotificationVibrationPattern));
|
|
|
| + EXPECT_DOUBLE_EQ(kNotificationTimestamp, platform_data.timestamp.ToJsTime());
|
| ASSERT_EQ(web_data.data.size(), platform_data.data.size());
|
| for (size_t i = 0; i < web_data.data.size(); ++i)
|
| EXPECT_EQ(web_data.data[i], platform_data.data[i]);
|
| @@ -92,6 +95,7 @@ TEST(NotificationDataConversionsTest, ToWebNotificationData) {
|
| platform_data.tag = kNotificationTag;
|
| platform_data.icon = GURL(kNotificationIconUrl);
|
| platform_data.vibration_pattern = vibration_pattern;
|
| + platform_data.timestamp = base::Time::FromJsTime(kNotificationTimestamp);
|
| platform_data.silent = true;
|
| platform_data.require_interaction = true;
|
| platform_data.data = developer_data;
|
| @@ -114,6 +118,7 @@ TEST(NotificationDataConversionsTest, ToWebNotificationData) {
|
| for (size_t i = 0; i < vibration_pattern.size(); ++i)
|
| EXPECT_EQ(vibration_pattern[i], web_data.vibrate[i]);
|
|
|
| + EXPECT_DOUBLE_EQ(kNotificationTimestamp, web_data.timestamp);
|
| EXPECT_TRUE(web_data.silent);
|
| EXPECT_TRUE(web_data.requireInteraction);
|
|
|
| @@ -159,4 +164,41 @@ TEST(NotificationDataConversionsTest, NotificationDataDirectionality) {
|
| }
|
| }
|
|
|
| +TEST(NotificationDataConversionsTest, TimeEdgeCaseValueBehaviour) {
|
| + {
|
| + blink::WebNotificationData web_data;
|
| + web_data.timestamp =
|
| + static_cast<double>(std::numeric_limits<unsigned long long>::max());
|
| +
|
| + blink::WebNotificationData copied_data =
|
| + ToWebNotificationData(ToPlatformNotificationData(web_data));
|
| + EXPECT_NE(web_data.timestamp, copied_data.timestamp);
|
| + }
|
| + {
|
| + blink::WebNotificationData web_data;
|
| + web_data.timestamp =
|
| + static_cast<double>(9211726771200000000ull); // January 1, 293878
|
| +
|
| + blink::WebNotificationData copied_data =
|
| + ToWebNotificationData(ToPlatformNotificationData(web_data));
|
| + EXPECT_NE(web_data.timestamp, copied_data.timestamp);
|
| + }
|
| + {
|
| + blink::WebNotificationData web_data;
|
| + web_data.timestamp = 0;
|
| +
|
| + blink::WebNotificationData copied_data =
|
| + ToWebNotificationData(ToPlatformNotificationData(web_data));
|
| + EXPECT_EQ(web_data.timestamp, copied_data.timestamp);
|
| + }
|
| + {
|
| + blink::WebNotificationData web_data;
|
| + web_data.timestamp = 0;
|
| +
|
| + blink::WebNotificationData copied_data =
|
| + ToWebNotificationData(ToPlatformNotificationData(web_data));
|
| + EXPECT_EQ(web_data.timestamp, copied_data.timestamp);
|
| + }
|
| +}
|
| +
|
| } // namespace content
|
|
|