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

Side by Side Diff: content/browser/notifications/notification_database_data_unittest.cc

Issue 1388483002: Implement the Notification `timestamp` property (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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 unified diff | Download patch
OLDNEW
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 "base/strings/string_number_conversions.h" 5 #include "base/strings/string_number_conversions.h"
6 #include "base/strings/utf_string_conversions.h" 6 #include "base/strings/utf_string_conversions.h"
7 #include "base/time/time.h"
7 #include "content/browser/notifications/notification_database_data.pb.h" 8 #include "content/browser/notifications/notification_database_data.pb.h"
8 #include "content/browser/notifications/notification_database_data_conversions.h " 9 #include "content/browser/notifications/notification_database_data_conversions.h "
9 #include "content/common/notification_constants.h" 10 #include "content/common/notification_constants.h"
10 #include "content/public/browser/notification_database_data.h" 11 #include "content/public/browser/notification_database_data.h"
11 #include "testing/gmock/include/gmock/gmock.h" 12 #include "testing/gmock/include/gmock/gmock.h"
12 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
13 14
14 namespace content { 15 namespace content {
15 16
16 const int64_t kNotificationId = 42; 17 const int64_t kNotificationId = 42;
17 const int64_t kServiceWorkerRegistrationId = 9001; 18 const int64_t kServiceWorkerRegistrationId = 9001;
18 19
19 const char kOrigin[] = "https://example.com/"; 20 const char kOrigin[] = "https://example.com/";
20 const char kNotificationTitle[] = "My Notification"; 21 const char kNotificationTitle[] = "My Notification";
21 const char kNotificationLang[] = "nl"; 22 const char kNotificationLang[] = "nl";
22 const char kNotificationBody[] = "Hello, world!"; 23 const char kNotificationBody[] = "Hello, world!";
23 const char kNotificationTag[] = "my_tag"; 24 const char kNotificationTag[] = "my_tag";
24 const char kNotificationIconUrl[] = "https://example.com/icon.png"; 25 const char kNotificationIconUrl[] = "https://example.com/icon.png";
25 const int kNotificationVibrationPattern[] = { 100, 200, 300 }; 26 const int kNotificationVibrationPattern[] = { 100, 200, 300 };
27 const double kNotificationTimestamp = 621046800.;
26 const unsigned char kNotificationData[] = { 0xdf, 0xff, 0x0, 0x0, 0xff, 0xdf }; 28 const unsigned char kNotificationData[] = { 0xdf, 0xff, 0x0, 0x0, 0xff, 0xdf };
27 29
28 TEST(NotificationDatabaseDataTest, SerializeAndDeserializeData) { 30 TEST(NotificationDatabaseDataTest, SerializeAndDeserializeData) {
29 std::vector<int> vibration_pattern( 31 std::vector<int> vibration_pattern(
30 kNotificationVibrationPattern, 32 kNotificationVibrationPattern,
31 kNotificationVibrationPattern + arraysize(kNotificationVibrationPattern)); 33 kNotificationVibrationPattern + arraysize(kNotificationVibrationPattern));
32 34
33 std::vector<char> developer_data( 35 std::vector<char> developer_data(
34 kNotificationData, kNotificationData + arraysize(kNotificationData)); 36 kNotificationData, kNotificationData + arraysize(kNotificationData));
35 37
36 PlatformNotificationData notification_data; 38 PlatformNotificationData notification_data;
37 notification_data.title = base::ASCIIToUTF16(kNotificationTitle); 39 notification_data.title = base::ASCIIToUTF16(kNotificationTitle);
38 notification_data.direction = 40 notification_data.direction =
39 PlatformNotificationData::DIRECTION_RIGHT_TO_LEFT; 41 PlatformNotificationData::DIRECTION_RIGHT_TO_LEFT;
40 notification_data.lang = kNotificationLang; 42 notification_data.lang = kNotificationLang;
41 notification_data.body = base::ASCIIToUTF16(kNotificationBody); 43 notification_data.body = base::ASCIIToUTF16(kNotificationBody);
42 notification_data.tag = kNotificationTag; 44 notification_data.tag = kNotificationTag;
43 notification_data.icon = GURL(kNotificationIconUrl); 45 notification_data.icon = GURL(kNotificationIconUrl);
44 notification_data.vibration_pattern = vibration_pattern; 46 notification_data.vibration_pattern = vibration_pattern;
47 notification_data.timestamp = base::Time::FromJsTime(kNotificationTimestamp);
45 notification_data.silent = true; 48 notification_data.silent = true;
46 notification_data.require_interaction = true; 49 notification_data.require_interaction = true;
47 notification_data.data = developer_data; 50 notification_data.data = developer_data;
48 for (size_t i = 0; i < kPlatformNotificationMaxActions; i++) { 51 for (size_t i = 0; i < kPlatformNotificationMaxActions; i++) {
49 PlatformNotificationAction notification_action; 52 PlatformNotificationAction notification_action;
50 notification_action.action = base::SizeTToString(i); 53 notification_action.action = base::SizeTToString(i);
51 notification_action.title = base::SizeTToString16(i); 54 notification_action.title = base::SizeTToString16(i);
52 notification_data.actions.push_back(notification_action); 55 notification_data.actions.push_back(notification_action);
53 } 56 }
54 57
(...skipping 26 matching lines...) Expand all
81 EXPECT_EQ(notification_data.title, copied_notification_data.title); 84 EXPECT_EQ(notification_data.title, copied_notification_data.title);
82 EXPECT_EQ(notification_data.direction, copied_notification_data.direction); 85 EXPECT_EQ(notification_data.direction, copied_notification_data.direction);
83 EXPECT_EQ(notification_data.lang, copied_notification_data.lang); 86 EXPECT_EQ(notification_data.lang, copied_notification_data.lang);
84 EXPECT_EQ(notification_data.body, copied_notification_data.body); 87 EXPECT_EQ(notification_data.body, copied_notification_data.body);
85 EXPECT_EQ(notification_data.tag, copied_notification_data.tag); 88 EXPECT_EQ(notification_data.tag, copied_notification_data.tag);
86 EXPECT_EQ(notification_data.icon, copied_notification_data.icon); 89 EXPECT_EQ(notification_data.icon, copied_notification_data.icon);
87 90
88 EXPECT_THAT(copied_notification_data.vibration_pattern, 91 EXPECT_THAT(copied_notification_data.vibration_pattern,
89 testing::ElementsAreArray(kNotificationVibrationPattern)); 92 testing::ElementsAreArray(kNotificationVibrationPattern));
90 93
94 EXPECT_EQ(notification_data.timestamp, copied_notification_data.timestamp);
91 EXPECT_EQ(notification_data.silent, copied_notification_data.silent); 95 EXPECT_EQ(notification_data.silent, copied_notification_data.silent);
92 EXPECT_EQ(notification_data.require_interaction, 96 EXPECT_EQ(notification_data.require_interaction,
93 copied_notification_data.require_interaction); 97 copied_notification_data.require_interaction);
94 98
95 ASSERT_EQ(developer_data.size(), copied_notification_data.data.size()); 99 ASSERT_EQ(developer_data.size(), copied_notification_data.data.size());
96 for (size_t i = 0; i < developer_data.size(); ++i) 100 for (size_t i = 0; i < developer_data.size(); ++i)
97 EXPECT_EQ(developer_data[i], copied_notification_data.data[i]); 101 EXPECT_EQ(developer_data[i], copied_notification_data.data[i]);
98 102
99 ASSERT_EQ(notification_data.actions.size(), 103 ASSERT_EQ(notification_data.actions.size(),
100 copied_notification_data.actions.size()); 104 copied_notification_data.actions.size());
(...skipping 25 matching lines...) Expand all
126 130
127 NotificationDatabaseData copied_data; 131 NotificationDatabaseData copied_data;
128 ASSERT_TRUE(DeserializeNotificationDatabaseData(serialized_data, 132 ASSERT_TRUE(DeserializeNotificationDatabaseData(serialized_data,
129 &copied_data)); 133 &copied_data));
130 134
131 EXPECT_EQ(directions[i], copied_data.notification_data.direction); 135 EXPECT_EQ(directions[i], copied_data.notification_data.direction);
132 } 136 }
133 } 137 }
134 138
135 } // namespace content 139 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698