| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "sync/api/attachments/fake_attachment_uploader.h" | |
| 6 | |
| 7 #include "base/bind.h" | |
| 8 #include "base/memory/ref_counted.h" | |
| 9 #include "base/memory/ref_counted_memory.h" | |
| 10 #include "base/message_loop/message_loop.h" | |
| 11 #include "sync/api/attachments/attachment.h" | |
| 12 #include "testing/gtest/include/gtest/gtest.h" | |
| 13 | |
| 14 namespace syncer { | |
| 15 | |
| 16 namespace { | |
| 17 | |
| 18 const char kAttachmentData[] = "some data"; | |
| 19 | |
| 20 } // namespace | |
| 21 | |
| 22 class FakeAttachmentUploaderTest : public testing::Test { | |
| 23 protected: | |
| 24 virtual void SetUp() { | |
| 25 upload_callback_count = 0; | |
| 26 upload_callback = base::Bind(&FakeAttachmentUploaderTest::Increment, | |
| 27 base::Unretained(this), | |
| 28 &upload_callback_count); | |
| 29 } | |
| 30 base::MessageLoop message_loop; | |
| 31 FakeAttachmentUploader uploader; | |
| 32 int upload_callback_count; | |
| 33 AttachmentUploader::UploadCallback upload_callback; | |
| 34 | |
| 35 private: | |
| 36 void Increment(int* success_count, | |
| 37 const AttachmentUploader::UploadResult& result, | |
| 38 const AttachmentId& ignored) { | |
| 39 if (result == AttachmentUploader::UPLOAD_SUCCESS) { | |
| 40 ++(*success_count); | |
| 41 } | |
| 42 } | |
| 43 }; | |
| 44 | |
| 45 // Call upload attachment several times, see that the supplied callback is | |
| 46 // invoked the same number of times with a result of SUCCESS. | |
| 47 TEST_F(FakeAttachmentUploaderTest, UploadAttachment) { | |
| 48 scoped_refptr<base::RefCountedString> some_data(new base::RefCountedString); | |
| 49 some_data->data() = kAttachmentData; | |
| 50 Attachment attachment1 = Attachment::Create(some_data); | |
| 51 Attachment attachment2 = Attachment::Create(some_data); | |
| 52 Attachment attachment3 = Attachment::Create(some_data); | |
| 53 uploader.UploadAttachment(attachment1, upload_callback); | |
| 54 uploader.UploadAttachment(attachment2, upload_callback); | |
| 55 uploader.UploadAttachment(attachment3, upload_callback); | |
| 56 message_loop.RunUntilIdle(); | |
| 57 EXPECT_EQ(upload_callback_count, 3); | |
| 58 } | |
| 59 | |
| 60 } // namespace syncer | |
| OLD | NEW |