#include <stdint.h>
#include "base/functional/bind.h"
#include "base/run_loop.h"
#include "base/strings/string_number_conversions.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/bind.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/scoped_feature_list.h"
#include "base/time/time.h"
#include "content/browser/notifications/notification_trigger_constants.h"
#include "content/browser/notifications/platform_notification_context_impl.h"
#include "content/browser/service_worker/service_worker_context_wrapper.h"
#include "content/public/browser/notification_database_data.h"
#include "content/public/common/content_client.h"
#include "content/public/common/content_features.h"
#include "content/public/test/browser_task_environment.h"
#include "content/public/test/test_browser_context.h"
#include "content/test/mock_platform_notification_service.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
Time;
namespace content {
namespace {
const int64_t kFakeServiceWorkerRegistrationId = …;
}
class PlatformNotificationContextTriggerTest : public ::testing::Test { … };
TEST_F(PlatformNotificationContextTriggerTest, TriggerInFuture) { … }
TEST_F(PlatformNotificationContextTriggerTest, TriggerInPast) { … }
TEST_F(PlatformNotificationContextTriggerTest,
OverwriteExistingTriggerInFuture) { … }
TEST_F(PlatformNotificationContextTriggerTest, OverwriteExistingTriggerToPast) { … }
TEST_F(PlatformNotificationContextTriggerTest,
OverwriteDisplayedNotificationToPast) { … }
TEST_F(PlatformNotificationContextTriggerTest,
OverwriteDisplayedNotificationToFuture) { … }
TEST_F(PlatformNotificationContextTriggerTest,
LimitsNumberOfScheduledNotificationsPerOrigin) { … }
TEST_F(PlatformNotificationContextTriggerTest, EnforcesLimitOnUpdate) { … }
TEST_F(PlatformNotificationContextTriggerTest, RecordDisplayDelay) { … }
}