Index: sync/notifier/invalidator_registrar_unittest.cc |
diff --git a/sync/notifier/invalidator_registrar_unittest.cc b/sync/notifier/invalidator_registrar_unittest.cc |
deleted file mode 100644 |
index 6614f96cf6e56fda0be42eb9482621d24d7a6853..0000000000000000000000000000000000000000 |
--- a/sync/notifier/invalidator_registrar_unittest.cc |
+++ /dev/null |
@@ -1,163 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "base/basictypes.h" |
-#include "base/compiler_specific.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "google/cacheinvalidation/types.pb.h" |
-#include "sync/notifier/fake_invalidation_handler.h" |
-#include "sync/notifier/invalidator_registrar.h" |
-#include "sync/notifier/invalidator_test_template.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace syncer { |
- |
-namespace { |
- |
-// We test InvalidatorRegistrar by wrapping it in an Invalidator and |
-// running the usual Invalidator tests. |
- |
-// Thin Invalidator wrapper around InvalidatorRegistrar. |
-class RegistrarInvalidator : public Invalidator { |
- public: |
- RegistrarInvalidator() {} |
- virtual ~RegistrarInvalidator() {} |
- |
- InvalidatorRegistrar* GetRegistrar() { |
- return ®istrar_; |
- } |
- |
- // Invalidator implementation. |
- virtual void RegisterHandler(InvalidationHandler* handler) OVERRIDE { |
- registrar_.RegisterHandler(handler); |
- } |
- |
- virtual void UpdateRegisteredIds(InvalidationHandler* handler, |
- const ObjectIdSet& ids) OVERRIDE { |
- registrar_.UpdateRegisteredIds(handler, ids); |
- } |
- |
- virtual void UnregisterHandler(InvalidationHandler* handler) OVERRIDE { |
- registrar_.UnregisterHandler(handler); |
- } |
- |
- virtual InvalidatorState GetInvalidatorState() const OVERRIDE { |
- return registrar_.GetInvalidatorState(); |
- } |
- |
- virtual void UpdateCredentials( |
- const std::string& email, const std::string& token) OVERRIDE { |
- // Do nothing. |
- } |
- |
- virtual void RequestDetailedStatus( |
- base::Callback<void(const base::DictionaryValue&)> call) const OVERRIDE { |
- // Do nothing. |
- } |
- |
- private: |
- InvalidatorRegistrar registrar_; |
- |
- DISALLOW_COPY_AND_ASSIGN(RegistrarInvalidator); |
-}; |
- |
-class RegistrarInvalidatorTestDelegate { |
- public: |
- RegistrarInvalidatorTestDelegate() {} |
- |
- ~RegistrarInvalidatorTestDelegate() { |
- DestroyInvalidator(); |
- } |
- |
- void CreateInvalidator( |
- const std::string& invalidator_client_id, |
- const std::string& initial_state, |
- const base::WeakPtr<InvalidationStateTracker>& |
- invalidation_state_tracker) { |
- DCHECK(!invalidator_.get()); |
- invalidator_.reset(new RegistrarInvalidator()); |
- } |
- |
- RegistrarInvalidator* GetInvalidator() { |
- return invalidator_.get(); |
- } |
- |
- void DestroyInvalidator() { |
- invalidator_.reset(); |
- } |
- |
- void WaitForInvalidator() { |
- // Do nothing. |
- } |
- |
- void TriggerOnInvalidatorStateChange(InvalidatorState state) { |
- invalidator_->GetRegistrar()->UpdateInvalidatorState(state); |
- } |
- |
- void TriggerOnIncomingInvalidation( |
- const ObjectIdInvalidationMap& invalidation_map) { |
- invalidator_->GetRegistrar()->DispatchInvalidationsToHandlers( |
- invalidation_map); |
- } |
- |
- private: |
- scoped_ptr<RegistrarInvalidator> invalidator_; |
-}; |
- |
-INSTANTIATE_TYPED_TEST_CASE_P( |
- RegistrarInvalidatorTest, InvalidatorTest, |
- RegistrarInvalidatorTestDelegate); |
- |
-class InvalidatorRegistrarTest : public testing::Test {}; |
- |
-// Technically the tests below can be part of InvalidatorTest, but we |
-// want to keep the number of death tests down. |
- |
-// When we expect a death via CHECK(), we can't match against the |
-// CHECK() message since they are removed in official builds. |
- |
-#if GTEST_HAS_DEATH_TEST |
-// Having registered handlers on destruction should cause a CHECK. |
-TEST_F(InvalidatorRegistrarTest, RegisteredHandlerOnDestruction) { |
- scoped_ptr<InvalidatorRegistrar> registrar(new InvalidatorRegistrar()); |
- FakeInvalidationHandler handler; |
- |
- registrar->RegisterHandler(&handler); |
- |
- EXPECT_DEATH({ registrar.reset(); }, ""); |
- |
- ASSERT_TRUE(registrar.get()); |
- registrar->UnregisterHandler(&handler); |
-} |
- |
-// Multiple registrations by different handlers on the same object ID should |
-// cause a CHECK. |
-TEST_F(InvalidatorRegistrarTest, MultipleRegistration) { |
- const invalidation::ObjectId id1(ipc::invalidation::ObjectSource::TEST, "a"); |
- const invalidation::ObjectId id2(ipc::invalidation::ObjectSource::TEST, "a"); |
- |
- InvalidatorRegistrar registrar; |
- |
- FakeInvalidationHandler handler1; |
- registrar.RegisterHandler(&handler1); |
- |
- FakeInvalidationHandler handler2; |
- registrar.RegisterHandler(&handler2); |
- |
- ObjectIdSet ids; |
- ids.insert(id1); |
- ids.insert(id2); |
- registrar.UpdateRegisteredIds(&handler1, ids); |
- |
- registrar.DetachFromThreadForTest(); |
- EXPECT_DEATH({ registrar.UpdateRegisteredIds(&handler2, ids); }, ""); |
- |
- registrar.UnregisterHandler(&handler2); |
- registrar.UnregisterHandler(&handler1); |
-} |
-#endif // GTEST_HAS_DEATH_TEST |
- |
-} // namespace |
- |
-} // namespace syncer |