#include "chrome/browser/notifications/persistent_notification_handler.h"
#include <memory>
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/memory/raw_ptr.h"
#include "base/run_loop.h"
#include "build/build_config.h"
#include "chrome/browser/history/history_service_factory.h"
#include "chrome/browser/notifications/metrics/mock_notification_metrics_logger.h"
#include "chrome/browser/notifications/metrics/notification_metrics_logger_factory.h"
#include "chrome/browser/notifications/notification_display_service_tester.h"
#include "chrome/browser/notifications/notification_permission_context.h"
#include "chrome/browser/notifications/platform_notification_service_factory.h"
#include "chrome/browser/notifications/platform_notification_service_impl.h"
#include "chrome/test/base/testing_profile.h"
#include "content/public/browser/permission_result.h"
#include "content/public/common/persistent_notification_status.h"
#include "content/public/test/browser_task_environment.h"
#include "content/public/test/mock_permission_manager.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/notifications/notification_resources.h"
#include "third_party/blink/public/common/permissions/permission_utils.h"
#include "third_party/blink/public/mojom/permissions/permission_status.mojom.h"
_;
Return;
PermissionStatus;
namespace {
const char kExampleNotificationId[] = …;
const char kExampleOrigin[] = …;
class TestingProfileWithPermissionManager : public TestingProfile { … };
}
class PersistentNotificationHandlerTest : public ::testing::Test { … };
TEST_F(PersistentNotificationHandlerTest, OnClick_WithoutPermission) { … }
TEST_F(PersistentNotificationHandlerTest,
OnClick_CloseUnactionableNotifications) { … }
TEST_F(PersistentNotificationHandlerTest, OnClose_ByUser) { … }
TEST_F(PersistentNotificationHandlerTest, OnClose_Programmatically) { … }
TEST_F(PersistentNotificationHandlerTest, DisableNotifications) { … }