diff options
Diffstat (limited to 'chrome/browser/notifications/sync_notifier/sync_notifier_test_utils.cc')
-rw-r--r-- | chrome/browser/notifications/sync_notifier/sync_notifier_test_utils.cc | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/chrome/browser/notifications/sync_notifier/sync_notifier_test_utils.cc b/chrome/browser/notifications/sync_notifier/sync_notifier_test_utils.cc new file mode 100644 index 0000000..e560baf --- /dev/null +++ b/chrome/browser/notifications/sync_notifier/sync_notifier_test_utils.cc @@ -0,0 +1,198 @@ +// Copyright 2013 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 "chrome/browser/notifications/sync_notifier/sync_notifier_test_utils.h" + +// Fake data for creating a SyncData object to use in creating a +// SyncedNotification. +const char kAppId1[] = "fboilmbenheemaomgaeehigklolhkhnf"; +const char kAppId2[] = "fbcmoldooppoahjhfflnmljoanccekpf"; +const char kAppId3[] = "fbcmoldooppoahjhfflnmljoanccek33"; +const char kAppId4[] = "fbcmoldooppoahjhfflnmljoanccek44"; +const char kAppId5[] = "fbcmoldooppoahjhfflnmljoanccek55"; +const char kAppId6[] = "fbcmoldooppoahjhfflnmljoanccek66"; +const char kAppId7[] = "fbcmoldooppoahjhfflnmljoanccek77"; +const char kKey1[] = "foo"; +const char kKey2[] = "bar"; +const char kKey3[] = "bat"; +const char kKey4[] = "baz"; +const char kKey5[] = "foobar"; +const char kKey6[] = "fu"; +const char kKey7[] = "meta"; +const char kIconUrl1[] = "http://www.google.com/icon1.jpg"; +const char kIconUrl2[] = "http://www.google.com/icon2.jpg"; +const char kIconUrl3[] = "http://www.google.com/icon3.jpg"; +const char kIconUrl4[] = "http://www.google.com/icon4.jpg"; +const char kIconUrl5[] = "http://www.google.com/icon5.jpg"; +const char kIconUrl6[] = "http://www.google.com/icon6.jpg"; +const char kIconUrl7[] = "http://www.google.com/icon7.jpg"; +const char kTitle1[] = "New appointment at 2:15"; +const char kTitle2[] = "Email from Mark: Upcoming Ski trip"; +const char kTitle3[] = "Weather alert - light rain tonight."; +const char kTitle4[] = "Zombie Alert on I-405"; +const char kTitle5[] = "5-dimensional plutonian steam hockey scores"; +const char kTitle6[] = "Conterfactuals Inc Stock report"; +const char kTitle7[] = "Push Messaging app updated"; +const char kText1[] = "Space Needle, 12:00 pm"; +const char kText2[] = "Stevens Pass is our first choice."; +const char kText3[] = "More rain expected in the Seattle area tonight."; +const char kText4[] = "Traffic slowdown as motorists are hitting zombies"; +const char kText5[] = "Neptune wins, pi to e"; +const char kText6[] = "Beef flavored base for soups"; +const char kText7[] = "You now have the latest version of Push Messaging App."; +const char kImageUrl1[] = "http://www.google.com/image1.jpg"; +const char kImageUrl2[] = "http://www.google.com/image2.jpg"; +const char kImageUrl3[] = "http://www.google.com/image3.jpg"; +const char kImageUrl4[] = "http://www.google.com/image4.jpg"; +const char kImageUrl5[] = "http://www.google.com/image5.jpg"; +const char kImageUrl6[] = "http://www.google.com/image6.jpg"; +const char kImageUrl7[] = "http://www.google.com/image7.jpg"; +const char kExpectedOriginUrl[] = + "chrome-extension://fboilmbenheemaomgaeehigklolhkhnf/"; +const char kDefaultDestinationTitle[] = "Open web page"; +const char kDefaultDestinationIconUrl[] = "http://www.google.com/image4.jpg"; +const char kDefaultDestinationUrl[] = "chrome://flags"; +const char kButtonOneTitle[] = "Read"; +const char kButtonOneIconUrl[] = "http://www.google.com/image8.jpg"; +const char kButtonOneUrl[] = "chrome://sync"; +const char kButtonTwoTitle[] = "Reply"; +const char kButtonTwoIconUrl[] = "http://www.google.com/image9.jpg"; +const char kButtonTwoUrl[] = "chrome://about"; +const char kContainedTitle1[] = "Today's Picnic moved"; +const char kContainedTitle2[] = "Group Run Today"; +const char kContainedTitle3[] = "Starcraft Tonight"; +const char kContainedMessage1[] = "Due to rain, we will be inside the cafe."; +const char kContainedMessage2[] = "Meet at noon in the Gym."; +const char kContainedMessage3[] = "Let's play starcraft tonight on the LAN."; + +syncer::SyncData CreateSyncData( + const std::string& title, + const std::string& text, + const std::string& app_icon_url, + const std::string& image_url, + const std::string& app_id, + const std::string& key, + const sync_pb::CoalescedSyncedNotification_ReadState read_state) { + // CreateLocalData makes a copy of this, so this can safely live + // on the stack. + sync_pb::EntitySpecifics entity_specifics; + + // Get a writeable pointer to the sync notifications specifics inside the + // entity specifics. + sync_pb::SyncedNotificationSpecifics* specifics = + entity_specifics.mutable_synced_notification(); + + // Get pointers to sub structures. + sync_pb::CoalescedSyncedNotification* coalesced_notification = + specifics->mutable_coalesced_notification(); + sync_pb::SyncedNotificationRenderInfo* render_info = + coalesced_notification->mutable_render_info(); + sync_pb::ExpandedInfo* expanded_info = + render_info->mutable_expanded_info(); + sync_pb::SimpleExpandedLayout* simple_expanded_layout = + expanded_info->mutable_simple_expanded_layout(); + sync_pb::CollapsedInfo* collapsed_info = + render_info->mutable_collapsed_info(); + sync_pb::SimpleCollapsedLayout* simple_collapsed_layout = + collapsed_info->mutable_simple_collapsed_layout(); + sync_pb::SyncedNotificationDestination* default_destination = + collapsed_info->mutable_default_destination(); + + coalesced_notification->set_app_id(app_id); + + coalesced_notification->set_key(key); + + coalesced_notification-> + set_priority(static_cast<sync_pb::CoalescedSyncedNotification_Priority>( + kProtobufPriority)); + + // Set the title. + simple_expanded_layout->set_title(title); + + // Set the text. + simple_expanded_layout->set_text(text); + + // Set the heading. + simple_collapsed_layout->set_heading(title); + + // Add the collapsed info and set the app_icon_url on it. + expanded_info->add_collapsed_info(); + expanded_info-> + mutable_collapsed_info(0)-> + mutable_simple_collapsed_layout()-> + mutable_app_icon()-> + set_url(app_icon_url); + + // Add the media object and set the image url on it. + simple_expanded_layout->add_media(); + simple_expanded_layout-> + mutable_media(0)-> + mutable_image()-> + set_url(image_url); + + coalesced_notification->set_creation_time_msec(kFakeCreationTime); + + coalesced_notification->set_read_state(read_state); + + // Contained notification one. + // We re-use the collapsed info we added for the app_icon_url, + // so no need to create another one here. + sync_pb::SimpleCollapsedLayout* notification_layout1 = + expanded_info-> + mutable_collapsed_info(0)-> + mutable_simple_collapsed_layout(); + notification_layout1->set_heading(kContainedTitle1); + notification_layout1->set_description(kContainedMessage1); + + // Contained notification two. + expanded_info->add_collapsed_info(); + sync_pb::SimpleCollapsedLayout* notification_layout2 = + expanded_info-> + mutable_collapsed_info(1)-> + mutable_simple_collapsed_layout(); + notification_layout2->set_heading(kContainedTitle2); + notification_layout2->set_description(kContainedMessage2); + + // Contained notification three. + expanded_info->add_collapsed_info(); + sync_pb::SimpleCollapsedLayout* notification_layout3 = + expanded_info-> + mutable_collapsed_info(2)-> + mutable_simple_collapsed_layout(); + notification_layout3->set_heading(kContainedTitle3); + notification_layout3->set_description(kContainedMessage3); + + // Default Destination. + default_destination->set_text(kDefaultDestinationTitle); + default_destination->mutable_icon()->set_url(kDefaultDestinationIconUrl); + default_destination->mutable_icon()->set_alt_text(kDefaultDestinationTitle); + default_destination->set_url(kDefaultDestinationUrl); + + // Buttons are represented as targets. + + // Button One. + collapsed_info->add_target(); + sync_pb::SyncedNotificationAction* action1 = + collapsed_info->mutable_target(0)->mutable_action(); + action1->set_text(kButtonOneTitle); + action1->mutable_icon()->set_url(kButtonOneIconUrl); + action1->mutable_icon()->set_alt_text(kButtonOneTitle); + action1->set_url(kButtonOneUrl); + + // Button Two. + collapsed_info->add_target(); + sync_pb::SyncedNotificationAction* action2 = + collapsed_info->mutable_target(1)->mutable_action(); + action2->set_text(kButtonOneTitle); + action2->mutable_icon()->set_url(kButtonTwoIconUrl); + action2->mutable_icon()->set_alt_text(kButtonTwoTitle); + action2->set_url(kButtonTwoUrl); + + syncer::SyncData sync_data = syncer::SyncData::CreateLocalData( + "syncer::SYNCED_NOTIFICATIONS", + "ChromeNotifierServiceUnitTest", + entity_specifics); + + return sync_data; +} |