Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(158)

Side by Side Diff: remoting/base/buffered_socket_writer_unittest.cc

Issue 1197853003: Add P2PDatagramSocket and P2PStreamSocket interfaces. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/base/buffered_socket_writer.h" 5 #include "remoting/base/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/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 } 86 }
87 87
88 protected: 88 protected:
89 void SetUp() override { 89 void SetUp() override {
90 socket_.reset(new net::MockTCPClientSocket(net::AddressList(), &net_log_, 90 socket_.reset(new net::MockTCPClientSocket(net::AddressList(), &net_log_,
91 &socket_data_provider_)); 91 &socket_data_provider_));
92 socket_data_provider_.set_connect_data( 92 socket_data_provider_.set_connect_data(
93 net::MockConnect(net::SYNCHRONOUS, net::OK)); 93 net::MockConnect(net::SYNCHRONOUS, net::OK));
94 EXPECT_EQ(net::OK, socket_->Connect(net::CompletionCallback())); 94 EXPECT_EQ(net::OK, socket_->Connect(net::CompletionCallback()));
95 95
96 writer_.reset(new BufferedSocketWriter()); 96 writer_ = BufferedSocketWriter::CreateForSocket(
97 writer_->Init(socket_.get(), base::Bind( 97 socket_.get(), base::Bind(&BufferedSocketWriterTest::OnWriteFailed,
98 &BufferedSocketWriterTest::OnWriteFailed, base::Unretained(this))); 98 base::Unretained(this)));
99 test_buffer_ = new net::IOBufferWithSize(kTestBufferSize); 99 test_buffer_ = new net::IOBufferWithSize(kTestBufferSize);
100 test_buffer_2_ = new net::IOBufferWithSize(kTestBufferSize); 100 test_buffer_2_ = new net::IOBufferWithSize(kTestBufferSize);
101 for (int i = 0; i< kTestBufferSize; ++i) { 101 for (int i = 0; i< kTestBufferSize; ++i) {
102 test_buffer_->data()[i] = rand() % 256; 102 test_buffer_->data()[i] = rand() % 256;
103 test_buffer_2_->data()[i] = rand() % 256; 103 test_buffer_2_->data()[i] = rand() % 256;
104 } 104 }
105 } 105 }
106 106
107 void OnWriteFailed(int error) { 107 void OnWriteFailed(int error) {
108 write_error_ = error; 108 write_error_ = error;
(...skipping 10 matching lines...) Expand all
119 socket_data_provider_.written_data().data(), 119 socket_data_provider_.written_data().data(),
120 test_buffer_->size())); 120 test_buffer_->size()));
121 EXPECT_EQ(0, memcmp(test_buffer_2_->data(), 121 EXPECT_EQ(0, memcmp(test_buffer_2_->data(),
122 socket_data_provider_.written_data().data() + 122 socket_data_provider_.written_data().data() +
123 test_buffer_->size(), 123 test_buffer_->size(),
124 test_buffer_2_->size())); 124 test_buffer_2_->size()));
125 } 125 }
126 126
127 void TestAppendInCallback() { 127 void TestAppendInCallback() {
128 writer_->Write(test_buffer_, base::Bind( 128 writer_->Write(test_buffer_, base::Bind(
129 base::IgnoreResult(&BufferedSocketWriterBase::Write), 129 base::IgnoreResult(&BufferedSocketWriter::Write),
130 base::Unretained(writer_.get()), test_buffer_2_, 130 base::Unretained(writer_.get()), test_buffer_2_,
131 base::Closure())); 131 base::Closure()));
132 base::RunLoop().RunUntilIdle(); 132 base::RunLoop().RunUntilIdle();
133 ASSERT_EQ(static_cast<size_t>(test_buffer_->size() + 133 ASSERT_EQ(static_cast<size_t>(test_buffer_->size() +
134 test_buffer_2_->size()), 134 test_buffer_2_->size()),
135 socket_data_provider_.written_data().size()); 135 socket_data_provider_.written_data().size());
136 EXPECT_EQ(0, memcmp(test_buffer_->data(), 136 EXPECT_EQ(0, memcmp(test_buffer_->data(),
137 socket_data_provider_.written_data().data(), 137 socket_data_provider_.written_data().data(),
138 test_buffer_->size())); 138 test_buffer_->size()));
139 EXPECT_EQ(0, memcmp(test_buffer_2_->data(), 139 EXPECT_EQ(0, memcmp(test_buffer_2_->data(),
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 writer_->Write(test_buffer_2_, 225 writer_->Write(test_buffer_2_,
226 base::Bind(&BufferedSocketWriterTest::Unexpected, 226 base::Bind(&BufferedSocketWriterTest::Unexpected,
227 base::Unretained(this))); 227 base::Unretained(this)));
228 base::RunLoop().RunUntilIdle(); 228 base::RunLoop().RunUntilIdle();
229 EXPECT_EQ(net::ERR_FAILED, write_error_); 229 EXPECT_EQ(net::ERR_FAILED, write_error_);
230 EXPECT_EQ(static_cast<size_t>(test_buffer_->size()), 230 EXPECT_EQ(static_cast<size_t>(test_buffer_->size()),
231 socket_data_provider_.written_data().size()); 231 socket_data_provider_.written_data().size());
232 } 232 }
233 233
234 } // namespace remoting 234 } // namespace remoting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698