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

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

Issue 1094553002: Revert "Speculative revert by sheriff" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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>
8
7 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
8 #include "content/public/common/platform_notification_data.h" 10 #include "content/public/common/platform_notification_data.h"
9 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
10 #include "third_party/WebKit/public/platform/WebString.h" 12 #include "third_party/WebKit/public/platform/WebString.h"
11 #include "third_party/WebKit/public/platform/WebURL.h" 13 #include "third_party/WebKit/public/platform/WebURL.h"
12 #include "third_party/WebKit/public/platform/modules/notifications/WebNotificati onData.h" 14 #include "third_party/WebKit/public/platform/modules/notifications/WebNotificati onData.h"
13 15
14 namespace content { 16 namespace content {
15 namespace {
16 17
17 const char kNotificationTitle[] = "My Notification"; 18 const char kNotificationTitle[] = "My Notification";
18 const char kNotificationLang[] = "nl"; 19 const char kNotificationLang[] = "nl";
19 const char kNotificationBody[] = "Hello, world!"; 20 const char kNotificationBody[] = "Hello, world!";
20 const char kNotificationTag[] = "my_tag"; 21 const char kNotificationTag[] = "my_tag";
21 const char kNotificationIconUrl[] = "https://example.com/icon.png"; 22 const char kNotificationIconUrl[] = "https://example.com/icon.png";
22 23 const unsigned char kNotificationData[] = { 0xdf, 0xff, 0x0, 0x0, 0xff, 0xdf };
23 }
24 24
25 TEST(NotificationDataConversionsTest, ToPlatformNotificationData) { 25 TEST(NotificationDataConversionsTest, ToPlatformNotificationData) {
26 std::vector<char> developer_data(
27 kNotificationData, kNotificationData + arraysize(kNotificationData));
28
26 blink::WebNotificationData web_data( 29 blink::WebNotificationData web_data(
27 blink::WebString::fromUTF8(kNotificationTitle), 30 blink::WebString::fromUTF8(kNotificationTitle),
28 blink::WebNotificationData::DirectionLeftToRight, 31 blink::WebNotificationData::DirectionLeftToRight,
29 blink::WebString::fromUTF8(kNotificationLang), 32 blink::WebString::fromUTF8(kNotificationLang),
30 blink::WebString::fromUTF8(kNotificationBody), 33 blink::WebString::fromUTF8(kNotificationBody),
31 blink::WebString::fromUTF8(kNotificationTag), 34 blink::WebString::fromUTF8(kNotificationTag),
32 blink::WebURL(GURL(kNotificationIconUrl)), 35 blink::WebURL(GURL(kNotificationIconUrl)),
33 true /* silent */); 36 true /* silent */,
37 blink::WebVector<char>(developer_data));
34 38
35 PlatformNotificationData platform_data = ToPlatformNotificationData(web_data); 39 PlatformNotificationData platform_data = ToPlatformNotificationData(web_data);
36 EXPECT_EQ(base::ASCIIToUTF16(kNotificationTitle), platform_data.title); 40 EXPECT_EQ(base::ASCIIToUTF16(kNotificationTitle), platform_data.title);
37 EXPECT_EQ(PlatformNotificationData::NotificationDirectionLeftToRight, 41 EXPECT_EQ(PlatformNotificationData::NotificationDirectionLeftToRight,
38 platform_data.direction); 42 platform_data.direction);
39 EXPECT_EQ(kNotificationLang, platform_data.lang); 43 EXPECT_EQ(kNotificationLang, platform_data.lang);
40 EXPECT_EQ(base::ASCIIToUTF16(kNotificationBody), platform_data.body); 44 EXPECT_EQ(base::ASCIIToUTF16(kNotificationBody), platform_data.body);
41 EXPECT_EQ(kNotificationTag, platform_data.tag); 45 EXPECT_EQ(kNotificationTag, platform_data.tag);
42 EXPECT_EQ(kNotificationIconUrl, platform_data.icon.spec()); 46 EXPECT_EQ(kNotificationIconUrl, platform_data.icon.spec());
43 EXPECT_TRUE(platform_data.silent); 47 EXPECT_TRUE(platform_data.silent);
48
49 ASSERT_EQ(developer_data.size(), platform_data.data.size());
50 for (size_t i = 0; i < developer_data.size(); ++i)
51 EXPECT_EQ(developer_data[i], platform_data.data[i]);
44 } 52 }
45 53
46 TEST(NotificationDataConversionsTest, 54 TEST(NotificationDataConversionsTest,
47 ToPlatformNotificationDataDirectionality) { 55 ToPlatformNotificationDataDirectionality) {
48 blink::WebNotificationData web_data; 56 blink::WebNotificationData web_data;
49 web_data.direction = blink::WebNotificationData::DirectionLeftToRight; 57 web_data.direction = blink::WebNotificationData::DirectionLeftToRight;
50 58
51 PlatformNotificationData platform_data = ToPlatformNotificationData(web_data); 59 PlatformNotificationData platform_data = ToPlatformNotificationData(web_data);
52 EXPECT_EQ(PlatformNotificationData::NotificationDirectionLeftToRight, 60 EXPECT_EQ(PlatformNotificationData::NotificationDirectionLeftToRight,
53 platform_data.direction); 61 platform_data.direction);
54 62
55 web_data.direction = blink::WebNotificationData::DirectionRightToLeft; 63 web_data.direction = blink::WebNotificationData::DirectionRightToLeft;
56 64
57 platform_data = ToPlatformNotificationData(web_data); 65 platform_data = ToPlatformNotificationData(web_data);
58 EXPECT_EQ(PlatformNotificationData::NotificationDirectionRightToLeft, 66 EXPECT_EQ(PlatformNotificationData::NotificationDirectionRightToLeft,
59 platform_data.direction); 67 platform_data.direction);
60 } 68 }
61 69
62 TEST(NotificationDataConversionsTest, ToWebNotificationData) { 70 TEST(NotificationDataConversionsTest, ToWebNotificationData) {
71 std::vector<char> developer_data(
72 kNotificationData, kNotificationData + arraysize(kNotificationData));
73
63 PlatformNotificationData platform_data; 74 PlatformNotificationData platform_data;
64 platform_data.title = base::ASCIIToUTF16(kNotificationTitle); 75 platform_data.title = base::ASCIIToUTF16(kNotificationTitle);
65 platform_data.direction = 76 platform_data.direction =
66 PlatformNotificationData::NotificationDirectionLeftToRight; 77 PlatformNotificationData::NotificationDirectionLeftToRight;
67 platform_data.lang = kNotificationLang; 78 platform_data.lang = kNotificationLang;
68 platform_data.body = base::ASCIIToUTF16(kNotificationBody); 79 platform_data.body = base::ASCIIToUTF16(kNotificationBody);
69 platform_data.tag = kNotificationTag; 80 platform_data.tag = kNotificationTag;
70 platform_data.icon = GURL(kNotificationIconUrl); 81 platform_data.icon = GURL(kNotificationIconUrl);
71 platform_data.silent = true; 82 platform_data.silent = true;
83 platform_data.data = developer_data;
72 84
73 blink::WebNotificationData web_data = ToWebNotificationData(platform_data); 85 blink::WebNotificationData web_data = ToWebNotificationData(platform_data);
74 EXPECT_EQ(kNotificationTitle, web_data.title); 86 EXPECT_EQ(kNotificationTitle, web_data.title);
75 EXPECT_EQ(blink::WebNotificationData::DirectionLeftToRight, 87 EXPECT_EQ(blink::WebNotificationData::DirectionLeftToRight,
76 web_data.direction); 88 web_data.direction);
77 EXPECT_EQ(kNotificationLang, web_data.lang); 89 EXPECT_EQ(kNotificationLang, web_data.lang);
78 EXPECT_EQ(kNotificationBody, web_data.body); 90 EXPECT_EQ(kNotificationBody, web_data.body);
79 EXPECT_EQ(kNotificationTag, web_data.tag); 91 EXPECT_EQ(kNotificationTag, web_data.tag);
80 EXPECT_EQ(kNotificationIconUrl, web_data.icon.string()); 92 EXPECT_EQ(kNotificationIconUrl, web_data.icon.string());
81 EXPECT_TRUE(web_data.silent); 93 EXPECT_TRUE(web_data.silent);
94
95 ASSERT_EQ(developer_data.size(), web_data.data.size());
96 for (size_t i = 0; i < developer_data.size(); ++i)
97 EXPECT_EQ(developer_data[i], web_data.data[i]);
82 } 98 }
83 99
84 TEST(NotificationDataConversionsTest, ToWebNotificationDataDirectionality) { 100 TEST(NotificationDataConversionsTest, ToWebNotificationDataDirectionality) {
85 PlatformNotificationData platform_data; 101 PlatformNotificationData platform_data;
86 platform_data.direction = 102 platform_data.direction =
87 PlatformNotificationData::NotificationDirectionLeftToRight; 103 PlatformNotificationData::NotificationDirectionLeftToRight;
88 104
89 blink::WebNotificationData web_data = ToWebNotificationData(platform_data); 105 blink::WebNotificationData web_data = ToWebNotificationData(platform_data);
90 EXPECT_EQ(blink::WebNotificationData::DirectionLeftToRight, 106 EXPECT_EQ(blink::WebNotificationData::DirectionLeftToRight,
91 web_data.direction); 107 web_data.direction);
92 108
93 platform_data.direction = 109 platform_data.direction =
94 PlatformNotificationData::NotificationDirectionRightToLeft; 110 PlatformNotificationData::NotificationDirectionRightToLeft;
95 111
96 web_data = ToWebNotificationData(platform_data); 112 web_data = ToWebNotificationData(platform_data);
97 EXPECT_EQ(blink::WebNotificationData::DirectionRightToLeft, 113 EXPECT_EQ(blink::WebNotificationData::DirectionRightToLeft,
98 web_data.direction); 114 web_data.direction);
99 } 115 }
100 116
101 } // namespace content 117 } // namespace content
OLDNEW
« no previous file with comments | « content/child/notifications/notification_data_conversions.cc ('k') | content/child/notifications/notification_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698