OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "base/strings/nullable_string16.h" | 9 #include "base/strings/nullable_string16.h" |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
(...skipping 11 matching lines...) Expand all Loading... |
22 const int64_t kNotificationId = 42; | 22 const int64_t kNotificationId = 42; |
23 const int64_t kServiceWorkerRegistrationId = 9001; | 23 const int64_t kServiceWorkerRegistrationId = 9001; |
24 | 24 |
25 const PlatformNotificationActionType kNotificationActionType = | 25 const PlatformNotificationActionType kNotificationActionType = |
26 PLATFORM_NOTIFICATION_ACTION_TYPE_TEXT; | 26 PLATFORM_NOTIFICATION_ACTION_TYPE_TEXT; |
27 const char kOrigin[] = "https://example.com/"; | 27 const char kOrigin[] = "https://example.com/"; |
28 const char kNotificationTitle[] = "My Notification"; | 28 const char kNotificationTitle[] = "My Notification"; |
29 const char kNotificationLang[] = "nl"; | 29 const char kNotificationLang[] = "nl"; |
30 const char kNotificationBody[] = "Hello, world!"; | 30 const char kNotificationBody[] = "Hello, world!"; |
31 const char kNotificationTag[] = "my_tag"; | 31 const char kNotificationTag[] = "my_tag"; |
| 32 const char kNotificationImageUrl[] = "https://example.com/image.jpg"; |
32 const char kNotificationIconUrl[] = "https://example.com/icon.png"; | 33 const char kNotificationIconUrl[] = "https://example.com/icon.png"; |
33 const char kNotificationBadgeUrl[] = "https://example.com/badge.png"; | 34 const char kNotificationBadgeUrl[] = "https://example.com/badge.png"; |
34 const char kNotificationActionIconUrl[] = "https://example.com/action_icon.png"; | 35 const char kNotificationActionIconUrl[] = "https://example.com/action_icon.png"; |
35 const int kNotificationVibrationPattern[] = {100, 200, 300}; | 36 const int kNotificationVibrationPattern[] = {100, 200, 300}; |
36 const double kNotificationTimestamp = 621046800.; | 37 const double kNotificationTimestamp = 621046800.; |
37 const unsigned char kNotificationData[] = {0xdf, 0xff, 0x0, 0x0, 0xff, 0xdf}; | 38 const unsigned char kNotificationData[] = {0xdf, 0xff, 0x0, 0x0, 0xff, 0xdf}; |
38 | 39 |
39 TEST(NotificationDatabaseDataTest, SerializeAndDeserializeData) { | 40 TEST(NotificationDatabaseDataTest, SerializeAndDeserializeData) { |
40 std::vector<int> vibration_pattern( | 41 std::vector<int> vibration_pattern( |
41 kNotificationVibrationPattern, | 42 kNotificationVibrationPattern, |
42 kNotificationVibrationPattern + arraysize(kNotificationVibrationPattern)); | 43 kNotificationVibrationPattern + arraysize(kNotificationVibrationPattern)); |
43 | 44 |
44 std::vector<char> developer_data( | 45 std::vector<char> developer_data( |
45 kNotificationData, kNotificationData + arraysize(kNotificationData)); | 46 kNotificationData, kNotificationData + arraysize(kNotificationData)); |
46 | 47 |
47 PlatformNotificationData notification_data; | 48 PlatformNotificationData notification_data; |
48 notification_data.title = base::ASCIIToUTF16(kNotificationTitle); | 49 notification_data.title = base::ASCIIToUTF16(kNotificationTitle); |
49 notification_data.direction = | 50 notification_data.direction = |
50 PlatformNotificationData::DIRECTION_RIGHT_TO_LEFT; | 51 PlatformNotificationData::DIRECTION_RIGHT_TO_LEFT; |
51 notification_data.lang = kNotificationLang; | 52 notification_data.lang = kNotificationLang; |
52 notification_data.body = base::ASCIIToUTF16(kNotificationBody); | 53 notification_data.body = base::ASCIIToUTF16(kNotificationBody); |
53 notification_data.tag = kNotificationTag; | 54 notification_data.tag = kNotificationTag; |
| 55 notification_data.image = GURL(kNotificationImageUrl); |
54 notification_data.icon = GURL(kNotificationIconUrl); | 56 notification_data.icon = GURL(kNotificationIconUrl); |
55 notification_data.badge = GURL(kNotificationBadgeUrl); | 57 notification_data.badge = GURL(kNotificationBadgeUrl); |
56 notification_data.vibration_pattern = vibration_pattern; | 58 notification_data.vibration_pattern = vibration_pattern; |
57 notification_data.timestamp = base::Time::FromJsTime(kNotificationTimestamp); | 59 notification_data.timestamp = base::Time::FromJsTime(kNotificationTimestamp); |
58 notification_data.renotify = true; | 60 notification_data.renotify = true; |
59 notification_data.silent = true; | 61 notification_data.silent = true; |
60 notification_data.require_interaction = true; | 62 notification_data.require_interaction = true; |
61 notification_data.data = developer_data; | 63 notification_data.data = developer_data; |
62 for (size_t i = 0; i < blink::kWebNotificationMaxActions; i++) { | 64 for (size_t i = 0; i < blink::kWebNotificationMaxActions; i++) { |
63 PlatformNotificationAction notification_action; | 65 PlatformNotificationAction notification_action; |
(...skipping 30 matching lines...) Expand all Loading... |
94 copied_data.service_worker_registration_id); | 96 copied_data.service_worker_registration_id); |
95 | 97 |
96 const PlatformNotificationData& copied_notification_data = | 98 const PlatformNotificationData& copied_notification_data = |
97 copied_data.notification_data; | 99 copied_data.notification_data; |
98 | 100 |
99 EXPECT_EQ(notification_data.title, copied_notification_data.title); | 101 EXPECT_EQ(notification_data.title, copied_notification_data.title); |
100 EXPECT_EQ(notification_data.direction, copied_notification_data.direction); | 102 EXPECT_EQ(notification_data.direction, copied_notification_data.direction); |
101 EXPECT_EQ(notification_data.lang, copied_notification_data.lang); | 103 EXPECT_EQ(notification_data.lang, copied_notification_data.lang); |
102 EXPECT_EQ(notification_data.body, copied_notification_data.body); | 104 EXPECT_EQ(notification_data.body, copied_notification_data.body); |
103 EXPECT_EQ(notification_data.tag, copied_notification_data.tag); | 105 EXPECT_EQ(notification_data.tag, copied_notification_data.tag); |
| 106 EXPECT_EQ(notification_data.image, copied_notification_data.image); |
104 EXPECT_EQ(notification_data.icon, copied_notification_data.icon); | 107 EXPECT_EQ(notification_data.icon, copied_notification_data.icon); |
105 EXPECT_EQ(notification_data.badge, copied_notification_data.badge); | 108 EXPECT_EQ(notification_data.badge, copied_notification_data.badge); |
106 | 109 |
107 EXPECT_THAT(copied_notification_data.vibration_pattern, | 110 EXPECT_THAT(copied_notification_data.vibration_pattern, |
108 testing::ElementsAreArray(kNotificationVibrationPattern)); | 111 testing::ElementsAreArray(kNotificationVibrationPattern)); |
109 | 112 |
110 EXPECT_EQ(notification_data.timestamp, copied_notification_data.timestamp); | 113 EXPECT_EQ(notification_data.timestamp, copied_notification_data.timestamp); |
111 EXPECT_EQ(notification_data.renotify, copied_notification_data.renotify); | 114 EXPECT_EQ(notification_data.renotify, copied_notification_data.renotify); |
112 EXPECT_EQ(notification_data.silent, copied_notification_data.silent); | 115 EXPECT_EQ(notification_data.silent, copied_notification_data.silent); |
113 EXPECT_EQ(notification_data.require_interaction, | 116 EXPECT_EQ(notification_data.require_interaction, |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 SerializeNotificationDatabaseData(database_data, &serialized_data)); | 205 SerializeNotificationDatabaseData(database_data, &serialized_data)); |
203 | 206 |
204 NotificationDatabaseData copied_data; | 207 NotificationDatabaseData copied_data; |
205 ASSERT_TRUE( | 208 ASSERT_TRUE( |
206 DeserializeNotificationDatabaseData(serialized_data, &copied_data)); | 209 DeserializeNotificationDatabaseData(serialized_data, &copied_data)); |
207 | 210 |
208 EXPECT_TRUE(copied_data.notification_data.actions[0].placeholder.is_null()); | 211 EXPECT_TRUE(copied_data.notification_data.actions[0].placeholder.is_null()); |
209 } | 212 } |
210 | 213 |
211 } // namespace content | 214 } // namespace content |
OLD | NEW |