#include <memory>
#include <set>
#include <string>
#include <vector>
#include "base/memory/raw_ptr.h"
#include "base/memory/scoped_refptr.h"
#include "base/run_loop.h"
#include "base/test/bind.h"
#include "chrome/browser/notifications/notification_blocker.h"
#include "chrome/browser/notifications/notification_display_queue.h"
#include "chrome/browser/notifications/notification_display_service.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/message_center/message_center.h"
#include "ui/message_center/public/cpp/notification.h"
#include "ui/message_center/public/cpp/notification_delegate.h"
#include "ui/message_center/public/cpp/notification_types.h"
#include "url/gurl.h"
#include "url/origin.h"
namespace {
class FakeNotificationBlocker : public NotificationBlocker { … };
class NotificationDisplayServiceMock : public NotificationDisplayService { … };
MATCHER_P(EqualNotification, notification, "") { … }
message_center::Notification CreateNotification(const std::string& id,
const GURL& origin) { … }
message_center::Notification CreateNotification(const std::string& id) { … }
}
class NotificationDisplayQueueTest : public testing::Test { … };
TEST_F(NotificationDisplayQueueTest, ShouldEnqueueWithoutBlockers) { … }
TEST_F(NotificationDisplayQueueTest, ShouldEnqueueWithAllowingBlocker) { … }
TEST_F(NotificationDisplayQueueTest, ShouldEnqueueWithBlockingBlocker) { … }
TEST_F(NotificationDisplayQueueTest, ShouldEnqueueForNonWebNotification) { … }
TEST_F(NotificationDisplayQueueTest, EnqueueNotification) { … }
TEST_F(NotificationDisplayQueueTest, RemoveQueuedNotification) { … }
TEST_F(NotificationDisplayQueueTest, BlockUnblockBlocker) { … }
TEST_F(NotificationDisplayQueueTest, BlockUnblockMultipleBlockers) { … }
TEST_F(NotificationDisplayQueueTest, UnblockNotificationOrdering) { … }
TEST_F(NotificationDisplayQueueTest, UnblockNotificationSubset) { … }
TEST_F(NotificationDisplayQueueTest, MultipleBlockersNotifyBlocked) { … }
TEST_F(NotificationDisplayQueueTest, NotifiesReplacedNotification) { … }
TEST_F(NotificationDisplayQueueTest, NotifiesClosedNotification) { … }