#include "components/invalidation/invalidation_listener_impl.h"
#include <string>
#include "base/strings/string_number_conversions.h"
#include "base/test/gtest_util.h"
#include "base/test/task_environment.h"
#include "base/time/time.h"
#include "components/gcm_driver/fake_gcm_driver.h"
#include "components/gcm_driver/gcm_driver.h"
#include "components/gcm_driver/instance_id/instance_id.h"
#include "components/gcm_driver/instance_id/instance_id_driver.h"
#include "components/invalidation/invalidation_listener.h"
#include "components/invalidation/test_support/fake_registration_token_handler.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
_;
WithArg;
namespace invalidation {
namespace {
constexpr char kFakeSenderId[] = …;
constexpr char kTestLogPrefix[] = …;
constexpr char kFakeRegistrationToken[] = …;
constexpr char kMessagePayload[] = …;
constexpr base::TimeDelta kMessageIssueTimeDeltaSinceEpoch = …;
constexpr base::Time kMessageIssueTimeDelta = …;
class MockInstanceIDDriver : public instance_id::InstanceIDDriver { … };
class MockInstanceID : public instance_id::InstanceID { … };
class FakeObserver : public InvalidationListener::Observer { … };
}
class InvalidationListenerImplTest : public testing::Test { … };
TEST_F(InvalidationListenerImplTest,
SuccessfullyStartsAndNotifiesTokenHandler) { … }
TEST_F(InvalidationListenerImplTest,
SuccessfulUploadStatusEmitsKYesExpectation) { … }
TEST_F(InvalidationListenerImplTest, FailedUploadStatusEmitsKMaybeExpectation) { … }
TEST_F(InvalidationListenerImplTest,
SuccessfulTokenUpdateEmitsKYesExpectation) { … }
TEST_F(InvalidationListenerImplTest,
JustSubscribedObserverReceivesExpectationStatus) { … }
TEST_F(InvalidationListenerImplTest,
JustSubscribedObserversCorrectlyReceiveCachedInvalidations) { … }
TEST_F(InvalidationListenerImplTest,
SubscribedObserversCorrectlyReceiveMessages) { … }
TEST_F(InvalidationListenerImplTest, ListenerProperlyCleansUpCachedMessages) { … }
TEST_F(InvalidationListenerImplTest, ShutsdownCorrectly) { … }
}