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/internal_api/public/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/run_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 void SetUp() override { | |
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 base::RunLoop().RunUntilIdle(); | |
57 EXPECT_EQ(upload_callback_count, 3); | |
58 } | |
59 | |
60 } // namespace syncer | |
OLD | NEW |