Chromium Code Reviews| Index: content/browser/notifications/type_converters_unittest.cc |
| diff --git a/content/browser/notifications/type_converters_unittest.cc b/content/browser/notifications/type_converters_unittest.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..851bec98866ba1780a2d3ed74b98436a61889e9c |
| --- /dev/null |
| +++ b/content/browser/notifications/type_converters_unittest.cc |
| @@ -0,0 +1,96 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "content/browser/notifications/type_converters.h" |
| + |
| +#include "base/strings/utf_string_conversions.h" |
| +#include "base/time/time.h" |
| +#include "content/public/common/platform_notification_data.h" |
| +#include "testing/gtest/include/gtest/gtest.h" |
| +#include "third_party/WebKit/public/platform/modules/notifications/notification.mojom.h" |
| + |
| +namespace content { |
| + |
| +TEST(NotificationTypeConvertersTest, TestConversion) { |
| + PlatformNotificationData notification_data; |
| + notification_data.title = base::ASCIIToUTF16("My Title"); |
| + notification_data.direction = |
| + PlatformNotificationData::DIRECTION_RIGHT_TO_LEFT; |
| + notification_data.lang = "lang"; |
| + notification_data.body = base::ASCIIToUTF16("My Body"); |
| + notification_data.tag = "tag"; |
| + notification_data.icon = GURL("https://example.com/icon"); |
| + notification_data.badge = GURL("https://example.com/badge"); |
| + notification_data.vibration_pattern.push_back(42); |
| + notification_data.vibration_pattern.push_back(50); |
| + notification_data.timestamp = base::Time::Now(); |
| + notification_data.renotify = true; |
| + notification_data.silent = true; |
| + notification_data.require_interaction = true; |
| + notification_data.vibration_pattern.push_back(45); |
|
Michael van Ouwerkerk
2016/04/20 10:20:09
It seems a bit random to set two items in the patt
Peter Beverloo
2016/04/20 12:45:54
Erps, that's meant to say `data`. Fixed.
|
| + notification_data.vibration_pattern.push_back(200); |
| + |
| + PlatformNotificationAction first_action; |
| + first_action.type = content::PLATFORM_NOTIFICATION_ACTION_TYPE_TEXT; |
| + first_action.action = "action"; |
| + first_action.title = base::ASCIIToUTF16("My Action"); |
| + first_action.icon = GURL("https://example.com/action_icon"); |
| + first_action.placeholder = base::NullableString16(); |
| + |
| + PlatformNotificationAction second_action; |
| + second_action.type = content::PLATFORM_NOTIFICATION_ACTION_TYPE_BUTTON; |
| + second_action.action = "action 2"; |
| + second_action.title = base::ASCIIToUTF16("My Action 2"); |
| + second_action.icon = GURL("https://example.com/action_icon_2"); |
| + second_action.placeholder = |
| + base::NullableString16(base::ASCIIToUTF16("Placeholder"), false); |
| + |
| + notification_data.actions.push_back(first_action); |
| + notification_data.actions.push_back(second_action); |
| + |
| + blink::mojom::NotificationPtr notification = |
| + blink::mojom::Notification::From(notification_data); |
| + PlatformNotificationData copied_notification_data = |
| + notification.To<PlatformNotificationData>(); |
| + |
| + EXPECT_EQ(notification_data.title, copied_notification_data.title); |
| + EXPECT_EQ(notification_data.direction, copied_notification_data.direction); |
| + EXPECT_EQ(notification_data.lang, copied_notification_data.lang); |
| + EXPECT_EQ(notification_data.body, copied_notification_data.body); |
| + EXPECT_EQ(notification_data.tag, copied_notification_data.tag); |
| + EXPECT_EQ(notification_data.icon, copied_notification_data.icon); |
| + EXPECT_EQ(notification_data.badge, copied_notification_data.badge); |
| + EXPECT_EQ(notification_data.vibration_pattern, |
| + copied_notification_data.vibration_pattern); |
| + EXPECT_EQ(notification_data.timestamp, copied_notification_data.timestamp); |
| + EXPECT_EQ(notification_data.renotify, copied_notification_data.renotify); |
| + EXPECT_EQ(notification_data.silent, copied_notification_data.silent); |
| + EXPECT_EQ(notification_data.require_interaction, |
| + copied_notification_data.require_interaction); |
| + EXPECT_EQ(notification_data.data, copied_notification_data.data); |
| + |
| + ASSERT_EQ(2u, notification_data.actions.size()); |
| + ASSERT_EQ(notification_data.actions.size(), |
| + copied_notification_data.actions.size()); |
| + |
| + const PlatformNotificationAction& copied_first_action = |
| + copied_notification_data.actions[0]; |
| + |
| + EXPECT_EQ(first_action.type, copied_first_action.type); |
| + EXPECT_EQ(first_action.action, copied_first_action.action); |
| + EXPECT_EQ(first_action.title, copied_first_action.title); |
| + EXPECT_EQ(first_action.icon, copied_first_action.icon); |
| + EXPECT_EQ(first_action.placeholder, copied_first_action.placeholder); |
| + |
| + const PlatformNotificationAction& copied_second_action = |
| + copied_notification_data.actions[1]; |
| + |
| + EXPECT_EQ(second_action.type, copied_second_action.type); |
| + EXPECT_EQ(second_action.action, copied_second_action.action); |
| + EXPECT_EQ(second_action.title, copied_second_action.title); |
| + EXPECT_EQ(second_action.icon, copied_second_action.icon); |
| + EXPECT_EQ(second_action.placeholder, copied_second_action.placeholder); |
| +} |
| + |
| +} // namespace content |