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

Unified Diff: content/child/notifications/notification_data_conversions_unittest.cc

Issue 1388483002: Implement the Notification `timestamp` property (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
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
« no previous file with comments | « content/child/notifications/notification_data_conversions.cc ('k') | content/common/platform_notification_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698