phone_model_test_util.cc 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. // Copyright 2020 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/components/phonehub/phone_model_test_util.h"
  5. #include "base/containers/flat_map.h"
  6. #include "base/no_destructor.h"
  7. #include "base/strings/utf_string_conversions.h"
  8. namespace ash {
  9. namespace phonehub {
  10. const char16_t kFakeMobileProviderName[] = u"Fake Mobile Provider";
  11. const PhoneStatusModel::MobileConnectionMetadata&
  12. CreateFakeMobileConnectionMetadata() {
  13. static const base::NoDestructor<PhoneStatusModel::MobileConnectionMetadata>
  14. fake_mobile_connection_metadata{
  15. {PhoneStatusModel::SignalStrength::kFourBars,
  16. kFakeMobileProviderName}};
  17. return *fake_mobile_connection_metadata;
  18. }
  19. const PhoneStatusModel& CreateFakePhoneStatusModel() {
  20. static const base::NoDestructor<PhoneStatusModel> fake_phone_status_model{
  21. PhoneStatusModel::MobileStatus::kSimWithReception,
  22. CreateFakeMobileConnectionMetadata(),
  23. PhoneStatusModel::ChargingState::kNotCharging,
  24. PhoneStatusModel::BatterySaverState::kOff,
  25. /*battery_percentage=*/100u};
  26. return *fake_phone_status_model;
  27. }
  28. const char kFakeBrowserTabUrl1[] = "https://www.example.com/tab1";
  29. const char16_t kFakeBrowserTabName1[] = u"Tab 1";
  30. const base::Time kFakeBrowserTabLastAccessedTimestamp1 =
  31. base::Time::FromDoubleT(4);
  32. const char kFakeBrowserTabUrl2[] = "https://www.example.com/tab2";
  33. const char16_t kFakeBrowserTabName2[] = u"Tab 2";
  34. const base::Time kFakeBrowserTabLastAccessedTimestamp2 =
  35. base::Time::FromDoubleT(3);
  36. const BrowserTabsModel::BrowserTabMetadata& CreateFakeBrowserTabMetadata() {
  37. static const base::NoDestructor<BrowserTabsModel::BrowserTabMetadata>
  38. fake_browser_tab_metadata{GURL(kFakeBrowserTabUrl1), kFakeBrowserTabName1,
  39. kFakeBrowserTabLastAccessedTimestamp1,
  40. gfx::Image()};
  41. return *fake_browser_tab_metadata;
  42. }
  43. const BrowserTabsModel& CreateFakeBrowserTabsModel() {
  44. static const base::NoDestructor<BrowserTabsModel::BrowserTabMetadata>
  45. second_browser_tab_metadata{
  46. GURL(kFakeBrowserTabUrl2), kFakeBrowserTabName2,
  47. kFakeBrowserTabLastAccessedTimestamp2, gfx::Image()};
  48. static const base::NoDestructor<
  49. std::vector<BrowserTabsModel::BrowserTabMetadata>>
  50. most_recent_tabs(
  51. {CreateFakeBrowserTabMetadata(), *second_browser_tab_metadata});
  52. static const base::NoDestructor<BrowserTabsModel> fake_browser_tabs_model{
  53. /*is_tab_sync_enabled=*/true, *most_recent_tabs};
  54. return *fake_browser_tabs_model;
  55. }
  56. const char16_t kFakeAppVisibleName[] = u"Fake App";
  57. const char kFakeAppPackageName[] = "com.fakeapp";
  58. const int64_t kFakeAppId = 1234567890;
  59. const int64_t kFakeInlineReplyId = 1337;
  60. const int64_t kUserId = 1;
  61. const char16_t kFakeNotificationTitle[] = u"Fake Title";
  62. const char16_t kFakeNotificationText[] = u"Fake Text";
  63. const base::flat_map<Notification::ActionType, int64_t> kFakeActionIdMap = {
  64. {Notification::ActionType::kInlineReply, kFakeInlineReplyId}};
  65. const Notification::AppMetadata& CreateFakeAppMetadata() {
  66. static const base::NoDestructor<Notification::AppMetadata> fake_app_metadata{
  67. kFakeAppVisibleName, kFakeAppPackageName, gfx::Image(),
  68. /*icon_color=*/absl::nullopt, /*icon_is_monochrome=*/true, kUserId};
  69. return *fake_app_metadata;
  70. }
  71. const Notification& CreateFakeNotification() {
  72. static const base::NoDestructor<Notification> fake_notification{
  73. kFakeAppId,
  74. CreateFakeAppMetadata(),
  75. base::Time(),
  76. Notification::Importance::kDefault,
  77. Notification::Category::kConversation,
  78. kFakeActionIdMap,
  79. Notification::InteractionBehavior::kNone,
  80. kFakeNotificationTitle,
  81. kFakeNotificationText};
  82. return *fake_notification;
  83. }
  84. } // namespace phonehub
  85. } // namespace ash