#include "chrome/browser/send_tab_to_self/desktop_notification_handler.h"
#include <vector>
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/notifications/notification_common.h"
#include "chrome/browser/notifications/notification_display_service.h"
#include "chrome/browser/notifications/notification_display_service_factory.h"
#include "chrome/browser/notifications/notification_handler.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sync/send_tab_to_self_sync_service_factory.h"
#include "chrome/test/base/browser_with_test_window_test.h"
#include "components/send_tab_to_self/send_tab_to_self_entry.h"
#include "components/send_tab_to_self/send_tab_to_self_sync_service.h"
#include "components/send_tab_to_self/test_send_tab_to_self_model.h"
#include "components/sync/base/data_type.h"
#include "components/sync/test/fake_data_type_controller_delegate.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/image/image.h"
#include "ui/message_center/public/cpp/notification.h"
#include "ui/strings/grit/ui_strings.h"
namespace send_tab_to_self {
namespace {
const char kDesktopNotificationOrigin[] = …;
const char kDesktopNotificationId[] = …;
const char kDesktopNotificationGuid[] = …;
const char kDesktopNotificationTitle[] = …;
const char16_t kDesktopNotificationTitle16[] = …;
const char kDesktopNotificationDeviceInfo[] = …;
const char kDesktopNotificationTargetDeviceSyncCacheGuid[] = …;
const char16_t kDesktopNotificationDeviceInfoWithPrefix[] = …;
class SendTabToSelfModelMock : public TestSendTabToSelfModel { … };
class TestSendTabToSelfSyncService : public SendTabToSelfSyncService { … };
MATCHER_P(EqualNotification, e, "") { … }
std::unique_ptr<KeyedService> BuildTestSendTabToSelfSyncService(
content::BrowserContext* context) { … }
class NotificationDisplayServiceMock : public NotificationDisplayService { … };
std::unique_ptr<KeyedService> BuildTestNotificationDisplayService(
content::BrowserContext* context) { … }
class DesktopNotificationHandlerTest : public BrowserWithTestWindowTest { … };
TEST_F(DesktopNotificationHandlerTest, DisplayNewEntries) { … }
TEST_F(DesktopNotificationHandlerTest, DismissEntries) { … }
TEST_F(DesktopNotificationHandlerTest, CloseHandler) { … }
TEST_F(DesktopNotificationHandlerTest, ClickHandler) { … }
}
}