OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "remoting/protocol/buffered_socket_writer.h" | 5 #include "remoting/protocol/buffered_socket_writer.h" |
6 | 6 |
7 #include <stdlib.h> | 7 #include <stdlib.h> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 11 matching lines...) Expand all Loading... |
22 const size_t kWriteChunkSize = 1024U; | 22 const size_t kWriteChunkSize = 1024U; |
23 } // namespace | 23 } // namespace |
24 | 24 |
25 class BufferedSocketWriterTest : public testing::Test { | 25 class BufferedSocketWriterTest : public testing::Test { |
26 public: | 26 public: |
27 BufferedSocketWriterTest() | 27 BufferedSocketWriterTest() |
28 : write_error_(0) { | 28 : write_error_(0) { |
29 } | 29 } |
30 | 30 |
31 void OnDone() { | 31 void OnDone() { |
32 MessageLoop::current()->PostTask(FROM_HERE, MessageLoop::QuitClosure()); | 32 base::MessageLoop::current()->PostTask(FROM_HERE, |
| 33 base::MessageLoop::QuitClosure()); |
33 } | 34 } |
34 | 35 |
35 void DestroyWriterAndQuit() { | 36 void DestroyWriterAndQuit() { |
36 written_data_ = socket_->written_data(); | 37 written_data_ = socket_->written_data(); |
37 writer_.reset(); | 38 writer_.reset(); |
38 socket_.reset(); | 39 socket_.reset(); |
39 MessageLoop::current()->PostTask(FROM_HERE, MessageLoop::QuitClosure()); | 40 base::MessageLoop::current()->PostTask(FROM_HERE, |
| 41 base::MessageLoop::QuitClosure()); |
40 } | 42 } |
41 | 43 |
42 void Unexpected() { | 44 void Unexpected() { |
43 EXPECT_TRUE(false); | 45 EXPECT_TRUE(false); |
44 } | 46 } |
45 | 47 |
46 protected: | 48 protected: |
47 virtual void SetUp() OVERRIDE { | 49 virtual void SetUp() OVERRIDE { |
48 socket_.reset(new FakeSocket()); | 50 socket_.reset(new FakeSocket()); |
49 writer_.reset(new BufferedSocketWriter()); | 51 writer_.reset(new BufferedSocketWriter()); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 ASSERT_EQ(static_cast<size_t>(test_buffer_->size() + | 89 ASSERT_EQ(static_cast<size_t>(test_buffer_->size() + |
88 test_buffer_2_->size()), | 90 test_buffer_2_->size()), |
89 socket_->written_data().size()); | 91 socket_->written_data().size()); |
90 EXPECT_EQ(0, memcmp(test_buffer_->data(), socket_->written_data().data(), | 92 EXPECT_EQ(0, memcmp(test_buffer_->data(), socket_->written_data().data(), |
91 test_buffer_->size())); | 93 test_buffer_->size())); |
92 EXPECT_EQ(0, memcmp(test_buffer_2_->data(), | 94 EXPECT_EQ(0, memcmp(test_buffer_2_->data(), |
93 socket_->written_data().data() + test_buffer_->size(), | 95 socket_->written_data().data() + test_buffer_->size(), |
94 test_buffer_2_->size())); | 96 test_buffer_2_->size())); |
95 } | 97 } |
96 | 98 |
97 MessageLoop message_loop_; | 99 base::MessageLoop message_loop_; |
98 scoped_ptr<FakeSocket> socket_; | 100 scoped_ptr<FakeSocket> socket_; |
99 scoped_ptr<BufferedSocketWriter> writer_; | 101 scoped_ptr<BufferedSocketWriter> writer_; |
100 scoped_refptr<net::IOBufferWithSize> test_buffer_; | 102 scoped_refptr<net::IOBufferWithSize> test_buffer_; |
101 scoped_refptr<net::IOBufferWithSize> test_buffer_2_; | 103 scoped_refptr<net::IOBufferWithSize> test_buffer_2_; |
102 std::string written_data_; | 104 std::string written_data_; |
103 int write_error_; | 105 int write_error_; |
104 }; | 106 }; |
105 | 107 |
106 // Test synchronous write. | 108 // Test synchronous write. |
107 TEST_F(BufferedSocketWriterTest, WriteFull) { | 109 TEST_F(BufferedSocketWriterTest, WriteFull) { |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 socket_->set_next_write_error(net::ERR_FAILED); | 179 socket_->set_next_write_error(net::ERR_FAILED); |
178 message_loop_.RunUntilIdle(); | 180 message_loop_.RunUntilIdle(); |
179 EXPECT_EQ(net::ERR_FAILED, write_error_); | 181 EXPECT_EQ(net::ERR_FAILED, write_error_); |
180 EXPECT_EQ(static_cast<size_t>(test_buffer_->size()), | 182 EXPECT_EQ(static_cast<size_t>(test_buffer_->size()), |
181 socket_->written_data().size()); | 183 socket_->written_data().size()); |
182 } | 184 } |
183 | 185 |
184 } // namespace protocol | 186 } // namespace protocol |
185 } // namespace remoting | 187 } // namespace remoting |
186 | 188 |
OLD | NEW |