OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/sync_driver/generic_change_processor.h" | 5 #include "components/sync_driver/generic_change_processor.h" |
6 | 6 |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/memory/weak_ptr.h" | 8 #include "base/memory/weak_ptr.h" |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 23 matching lines...) Expand all Loading... |
34 | 34 |
35 namespace { | 35 namespace { |
36 | 36 |
37 // A mock that keeps track of attachments passed to UploadAttachments. | 37 // A mock that keeps track of attachments passed to UploadAttachments. |
38 class MockAttachmentService : public syncer::AttachmentServiceImpl { | 38 class MockAttachmentService : public syncer::AttachmentServiceImpl { |
39 public: | 39 public: |
40 MockAttachmentService( | 40 MockAttachmentService( |
41 const scoped_refptr<syncer::AttachmentStore>& attachment_store); | 41 const scoped_refptr<syncer::AttachmentStore>& attachment_store); |
42 virtual ~MockAttachmentService(); | 42 virtual ~MockAttachmentService(); |
43 virtual void UploadAttachments( | 43 virtual void UploadAttachments( |
44 const syncer::AttachmentIdSet& attachment_ids) OVERRIDE; | 44 const syncer::AttachmentIdSet& attachment_ids) override; |
45 std::vector<syncer::AttachmentIdSet>* attachment_id_sets(); | 45 std::vector<syncer::AttachmentIdSet>* attachment_id_sets(); |
46 | 46 |
47 private: | 47 private: |
48 std::vector<syncer::AttachmentIdSet> attachment_id_sets_; | 48 std::vector<syncer::AttachmentIdSet> attachment_id_sets_; |
49 }; | 49 }; |
50 | 50 |
51 MockAttachmentService::MockAttachmentService( | 51 MockAttachmentService::MockAttachmentService( |
52 const scoped_refptr<syncer::AttachmentStore>& attachment_store) | 52 const scoped_refptr<syncer::AttachmentStore>& attachment_store) |
53 : AttachmentServiceImpl(attachment_store, | 53 : AttachmentServiceImpl(attachment_store, |
54 scoped_ptr<syncer::AttachmentUploader>( | 54 scoped_ptr<syncer::AttachmentUploader>( |
(...skipping 21 matching lines...) Expand all Loading... |
76 | 76 |
77 // MockSyncApiComponentFactory needed to initialize GenericChangeProcessor and | 77 // MockSyncApiComponentFactory needed to initialize GenericChangeProcessor and |
78 // pass MockAttachmentService to it. | 78 // pass MockAttachmentService to it. |
79 class MockSyncApiComponentFactory : public SyncApiComponentFactory { | 79 class MockSyncApiComponentFactory : public SyncApiComponentFactory { |
80 public: | 80 public: |
81 MockSyncApiComponentFactory( | 81 MockSyncApiComponentFactory( |
82 scoped_ptr<syncer::AttachmentService> attachment_service) | 82 scoped_ptr<syncer::AttachmentService> attachment_service) |
83 : attachment_service_(attachment_service.Pass()) {} | 83 : attachment_service_(attachment_service.Pass()) {} |
84 | 84 |
85 virtual base::WeakPtr<syncer::SyncableService> GetSyncableServiceForType( | 85 virtual base::WeakPtr<syncer::SyncableService> GetSyncableServiceForType( |
86 syncer::ModelType type) OVERRIDE { | 86 syncer::ModelType type) override { |
87 // Shouldn't be called for this test. | 87 // Shouldn't be called for this test. |
88 NOTREACHED(); | 88 NOTREACHED(); |
89 return base::WeakPtr<syncer::SyncableService>(); | 89 return base::WeakPtr<syncer::SyncableService>(); |
90 } | 90 } |
91 | 91 |
92 virtual scoped_ptr<syncer::AttachmentService> CreateAttachmentService( | 92 virtual scoped_ptr<syncer::AttachmentService> CreateAttachmentService( |
93 const scoped_refptr<syncer::AttachmentStore>& attachment_store, | 93 const scoped_refptr<syncer::AttachmentStore>& attachment_store, |
94 const syncer::UserShare& user_share, | 94 const syncer::UserShare& user_share, |
95 syncer::AttachmentService::Delegate* delegate) OVERRIDE { | 95 syncer::AttachmentService::Delegate* delegate) override { |
96 EXPECT_TRUE(attachment_service_ != NULL); | 96 EXPECT_TRUE(attachment_service_ != NULL); |
97 return attachment_service_.Pass(); | 97 return attachment_service_.Pass(); |
98 } | 98 } |
99 | 99 |
100 private: | 100 private: |
101 scoped_ptr<syncer::AttachmentService> attachment_service_; | 101 scoped_ptr<syncer::AttachmentService> attachment_service_; |
102 }; | 102 }; |
103 | 103 |
104 class SyncGenericChangeProcessorTest : public testing::Test { | 104 class SyncGenericChangeProcessorTest : public testing::Test { |
105 public: | 105 public: |
106 // Most test cases will use this type. For those that need a | 106 // Most test cases will use this type. For those that need a |
107 // GenericChangeProcessor for a different type, use |InitializeForType|. | 107 // GenericChangeProcessor for a different type, use |InitializeForType|. |
108 static const syncer::ModelType kType = syncer::PREFERENCES; | 108 static const syncer::ModelType kType = syncer::PREFERENCES; |
109 | 109 |
110 SyncGenericChangeProcessorTest() | 110 SyncGenericChangeProcessorTest() |
111 : syncable_service_ptr_factory_(&fake_syncable_service_), | 111 : syncable_service_ptr_factory_(&fake_syncable_service_), |
112 mock_attachment_service_(NULL) {} | 112 mock_attachment_service_(NULL) {} |
113 | 113 |
114 virtual void SetUp() OVERRIDE { | 114 virtual void SetUp() override { |
115 // Use kType by default, but allow test cases to re-initialize with whatever | 115 // Use kType by default, but allow test cases to re-initialize with whatever |
116 // type they choose. Therefore, it's important that all type dependent | 116 // type they choose. Therefore, it's important that all type dependent |
117 // initialization occurs in InitializeForType. | 117 // initialization occurs in InitializeForType. |
118 InitializeForType(kType); | 118 InitializeForType(kType); |
119 } | 119 } |
120 | 120 |
121 virtual void TearDown() OVERRIDE { | 121 virtual void TearDown() override { |
122 mock_attachment_service_ = NULL; | 122 mock_attachment_service_ = NULL; |
123 if (test_user_share_) { | 123 if (test_user_share_) { |
124 test_user_share_->TearDown(); | 124 test_user_share_->TearDown(); |
125 } | 125 } |
126 } | 126 } |
127 | 127 |
128 // Initialize GenericChangeProcessor and related classes for testing with | 128 // Initialize GenericChangeProcessor and related classes for testing with |
129 // model type |type|. | 129 // model type |type|. |
130 void InitializeForType(syncer::ModelType type) { | 130 void InitializeForType(syncer::ModelType type) { |
131 TearDown(); | 131 TearDown(); |
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
476 // AttachmentService to upload id1 only. | 476 // AttachmentService to upload id1 only. |
477 ConstructGenericChangeProcessor(kType); | 477 ConstructGenericChangeProcessor(kType); |
478 ASSERT_EQ(1U, mock_attachment_service()->attachment_id_sets()->size()); | 478 ASSERT_EQ(1U, mock_attachment_service()->attachment_id_sets()->size()); |
479 ASSERT_THAT(mock_attachment_service()->attachment_id_sets()->front(), | 479 ASSERT_THAT(mock_attachment_service()->attachment_id_sets()->front(), |
480 testing::UnorderedElementsAre(id1)); | 480 testing::UnorderedElementsAre(id1)); |
481 } | 481 } |
482 | 482 |
483 } // namespace | 483 } // namespace |
484 | 484 |
485 } // namespace sync_driver | 485 } // namespace sync_driver |
OLD | NEW |