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

Side by Side Diff: content/child/notifications/notification_data_conversions_unittest.cc

Issue 1262023003: Serialize Notification.direction == "auto" in the database (2/3) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "content/child/notifications/notification_data_conversions.h" 5 #include "content/child/notifications/notification_data_conversions.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "content/public/common/platform_notification_data.h" 10 #include "content/public/common/platform_notification_data.h"
(...skipping 27 matching lines...) Expand all
38 blink::WebString::fromUTF8(kNotificationLang), 38 blink::WebString::fromUTF8(kNotificationLang),
39 blink::WebString::fromUTF8(kNotificationBody), 39 blink::WebString::fromUTF8(kNotificationBody),
40 blink::WebString::fromUTF8(kNotificationTag), 40 blink::WebString::fromUTF8(kNotificationTag),
41 blink::WebURL(GURL(kNotificationIconUrl)), 41 blink::WebURL(GURL(kNotificationIconUrl)),
42 blink::WebVector<int>(vibration_pattern), 42 blink::WebVector<int>(vibration_pattern),
43 true /* silent */, 43 true /* silent */,
44 blink::WebVector<char>(developer_data)); 44 blink::WebVector<char>(developer_data));
45 45
46 PlatformNotificationData platform_data = ToPlatformNotificationData(web_data); 46 PlatformNotificationData platform_data = ToPlatformNotificationData(web_data);
47 EXPECT_EQ(base::ASCIIToUTF16(kNotificationTitle), platform_data.title); 47 EXPECT_EQ(base::ASCIIToUTF16(kNotificationTitle), platform_data.title);
48 EXPECT_EQ(PlatformNotificationData::NotificationDirectionLeftToRight, 48 EXPECT_EQ(PlatformNotificationData::DIRECTION_LEFT_TO_RIGHT,
49 platform_data.direction); 49 platform_data.direction);
50 EXPECT_EQ(kNotificationLang, platform_data.lang); 50 EXPECT_EQ(kNotificationLang, platform_data.lang);
51 EXPECT_EQ(base::ASCIIToUTF16(kNotificationBody), platform_data.body); 51 EXPECT_EQ(base::ASCIIToUTF16(kNotificationBody), platform_data.body);
52 EXPECT_EQ(kNotificationTag, platform_data.tag); 52 EXPECT_EQ(kNotificationTag, platform_data.tag);
53 EXPECT_EQ(kNotificationIconUrl, platform_data.icon.spec()); 53 EXPECT_EQ(kNotificationIconUrl, platform_data.icon.spec());
54 EXPECT_TRUE(platform_data.silent); 54 EXPECT_TRUE(platform_data.silent);
55 55
56 EXPECT_THAT(platform_data.vibration_pattern, 56 EXPECT_THAT(platform_data.vibration_pattern,
57 testing::ElementsAreArray(kNotificationVibrationPattern)); 57 testing::ElementsAreArray(kNotificationVibrationPattern));
58 58
59 ASSERT_EQ(developer_data.size(), platform_data.data.size()); 59 ASSERT_EQ(developer_data.size(), platform_data.data.size());
60 for (size_t i = 0; i < developer_data.size(); ++i) 60 for (size_t i = 0; i < developer_data.size(); ++i)
61 EXPECT_EQ(developer_data[i], platform_data.data[i]); 61 EXPECT_EQ(developer_data[i], platform_data.data[i]);
62 } 62 }
63 63
64 TEST(NotificationDataConversionsTest,
65 ToPlatformNotificationDataDirectionality) {
66 blink::WebNotificationData web_data;
67 web_data.direction = blink::WebNotificationData::DirectionLeftToRight;
68
69 PlatformNotificationData platform_data = ToPlatformNotificationData(web_data);
70 EXPECT_EQ(PlatformNotificationData::NotificationDirectionLeftToRight,
71 platform_data.direction);
72
73 web_data.direction = blink::WebNotificationData::DirectionRightToLeft;
74
75 platform_data = ToPlatformNotificationData(web_data);
76 EXPECT_EQ(PlatformNotificationData::NotificationDirectionRightToLeft,
77 platform_data.direction);
78 }
79
80 TEST(NotificationDataConversionsTest, ToWebNotificationData) { 64 TEST(NotificationDataConversionsTest, ToWebNotificationData) {
81 std::vector<int> vibration_pattern( 65 std::vector<int> vibration_pattern(
82 kNotificationVibrationPattern, 66 kNotificationVibrationPattern,
83 kNotificationVibrationPattern + arraysize(kNotificationVibrationPattern)); 67 kNotificationVibrationPattern + arraysize(kNotificationVibrationPattern));
84 68
85 std::vector<char> developer_data( 69 std::vector<char> developer_data(
86 kNotificationData, kNotificationData + arraysize(kNotificationData)); 70 kNotificationData, kNotificationData + arraysize(kNotificationData));
87 71
88 PlatformNotificationData platform_data; 72 PlatformNotificationData platform_data;
89 platform_data.title = base::ASCIIToUTF16(kNotificationTitle); 73 platform_data.title = base::ASCIIToUTF16(kNotificationTitle);
90 platform_data.direction = 74 platform_data.direction =
91 PlatformNotificationData::NotificationDirectionLeftToRight; 75 PlatformNotificationData::DIRECTION_LEFT_TO_RIGHT;
92 platform_data.lang = kNotificationLang; 76 platform_data.lang = kNotificationLang;
93 platform_data.body = base::ASCIIToUTF16(kNotificationBody); 77 platform_data.body = base::ASCIIToUTF16(kNotificationBody);
94 platform_data.tag = kNotificationTag; 78 platform_data.tag = kNotificationTag;
95 platform_data.icon = GURL(kNotificationIconUrl); 79 platform_data.icon = GURL(kNotificationIconUrl);
96 platform_data.vibration_pattern = vibration_pattern; 80 platform_data.vibration_pattern = vibration_pattern;
97 platform_data.silent = true; 81 platform_data.silent = true;
98 platform_data.data = developer_data; 82 platform_data.data = developer_data;
99 83
100 blink::WebNotificationData web_data = ToWebNotificationData(platform_data); 84 blink::WebNotificationData web_data = ToWebNotificationData(platform_data);
101 EXPECT_EQ(kNotificationTitle, web_data.title); 85 EXPECT_EQ(kNotificationTitle, web_data.title);
102 EXPECT_EQ(blink::WebNotificationData::DirectionLeftToRight, 86 EXPECT_EQ(blink::WebNotificationData::DirectionLeftToRight,
103 web_data.direction); 87 web_data.direction);
104 EXPECT_EQ(kNotificationLang, web_data.lang); 88 EXPECT_EQ(kNotificationLang, web_data.lang);
105 EXPECT_EQ(kNotificationBody, web_data.body); 89 EXPECT_EQ(kNotificationBody, web_data.body);
106 EXPECT_EQ(kNotificationTag, web_data.tag); 90 EXPECT_EQ(kNotificationTag, web_data.tag);
107 EXPECT_EQ(kNotificationIconUrl, web_data.icon.string()); 91 EXPECT_EQ(kNotificationIconUrl, web_data.icon.string());
108 92
109 ASSERT_EQ(vibration_pattern.size(), web_data.vibrate.size()); 93 ASSERT_EQ(vibration_pattern.size(), web_data.vibrate.size());
110 for (size_t i = 0; i < vibration_pattern.size(); ++i) 94 for (size_t i = 0; i < vibration_pattern.size(); ++i)
111 EXPECT_EQ(vibration_pattern[i], web_data.vibrate[i]); 95 EXPECT_EQ(vibration_pattern[i], web_data.vibrate[i]);
112 96
113 EXPECT_TRUE(web_data.silent); 97 EXPECT_TRUE(web_data.silent);
114 98
115 ASSERT_EQ(developer_data.size(), web_data.data.size()); 99 ASSERT_EQ(developer_data.size(), web_data.data.size());
116 for (size_t i = 0; i < developer_data.size(); ++i) 100 for (size_t i = 0; i < developer_data.size(); ++i)
117 EXPECT_EQ(developer_data[i], web_data.data[i]); 101 EXPECT_EQ(developer_data[i], web_data.data[i]);
118 } 102 }
119 103
120 TEST(NotificationDataConversionsTest, ToWebNotificationDataDirectionality) { 104 TEST(NotificationDataConversionsTest, NotificationDataDirectionality) {
121 PlatformNotificationData platform_data; 105 std::map<blink::WebNotificationData::Direction,
122 platform_data.direction = 106 PlatformNotificationData::Direction> mappings;
123 PlatformNotificationData::NotificationDirectionLeftToRight;
124 107
125 blink::WebNotificationData web_data = ToWebNotificationData(platform_data); 108 mappings[blink::WebNotificationData::DirectionLeftToRight] =
126 EXPECT_EQ(blink::WebNotificationData::DirectionLeftToRight, 109 PlatformNotificationData::DIRECTION_LEFT_TO_RIGHT;
127 web_data.direction); 110 mappings[blink::WebNotificationData::DirectionRightToLeft] =
111 PlatformNotificationData::DIRECTION_RIGHT_TO_LEFT;
112 mappings[blink::WebNotificationData::DirectionAuto] =
113 PlatformNotificationData::DIRECTION_AUTO;
palmer 2015/08/03 20:42:46 Maybe a negative test case.
128 114
129 platform_data.direction = 115 for (const auto& pair : mappings) {
130 PlatformNotificationData::NotificationDirectionRightToLeft; 116 {
117 blink::WebNotificationData web_data;
118 web_data.direction = pair.first;
131 119
132 web_data = ToWebNotificationData(platform_data); 120 PlatformNotificationData platform_data =
133 EXPECT_EQ(blink::WebNotificationData::DirectionRightToLeft, 121 ToPlatformNotificationData(web_data);
134 web_data.direction); 122 EXPECT_EQ(pair.second, platform_data.direction);
123 }
124 {
125 PlatformNotificationData platform_data;
126 platform_data.direction = pair.second;
127
128 blink::WebNotificationData web_data =
129 ToWebNotificationData(platform_data);
130 EXPECT_EQ(pair.first, web_data.direction);
131 }
132 }
135 } 133 }
136 134
137 } // namespace content 135 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698