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

Side by Side Diff: content/browser/loader/upload_data_stream_builder_unittest.cc

Issue 1159623009: content: Remove use of MessageLoopProxy and deprecated MessageLoop APIs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Test build fix. Created 5 years, 6 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/browser/loader/upload_data_stream_builder.h" 5 #include "content/browser/loader/upload_data_stream_builder.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
11 #include "base/files/file_util.h" 11 #include "base/files/file_util.h"
12 #include "base/message_loop/message_loop.h"
13 #include "base/message_loop/message_loop_proxy.h"
14 #include "base/run_loop.h" 12 #include "base/run_loop.h"
13 #include "base/thread_task_runner_handle.h"
15 #include "base/time/time.h" 14 #include "base/time/time.h"
16 #include "content/common/resource_request_body.h" 15 #include "content/common/resource_request_body.h"
17 #include "net/base/io_buffer.h" 16 #include "net/base/io_buffer.h"
18 #include "net/base/net_errors.h" 17 #include "net/base/net_errors.h"
19 #include "net/base/test_completion_callback.h" 18 #include "net/base/test_completion_callback.h"
20 #include "net/base/upload_bytes_element_reader.h" 19 #include "net/base/upload_bytes_element_reader.h"
21 #include "net/base/upload_data_stream.h" 20 #include "net/base/upload_data_stream.h"
22 #include "net/base/upload_file_element_reader.h" 21 #include "net/base/upload_file_element_reader.h"
23 #include "storage/browser/blob/blob_data_builder.h" 22 #include "storage/browser/blob/blob_data_builder.h"
24 #include "storage/browser/blob/blob_storage_context.h" 23 #include "storage/browser/blob/blob_storage_context.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 const uint64 kFileLength = 100U; 70 const uint64 kFileLength = 100U;
72 const base::Time kFileTime = base::Time::FromDoubleT(999); 71 const base::Time kFileTime = base::Time::FromDoubleT(999);
73 const int64 kIdentifier = 12345; 72 const int64 kIdentifier = 12345;
74 73
75 request_body->AppendBytes(kData, arraysize(kData) - 1); 74 request_body->AppendBytes(kData, arraysize(kData) - 1);
76 request_body->AppendFileRange(base::FilePath(kFilePath), 75 request_body->AppendFileRange(base::FilePath(kFilePath),
77 kFileOffset, kFileLength, kFileTime); 76 kFileOffset, kFileLength, kFileTime);
78 request_body->set_identifier(kIdentifier); 77 request_body->set_identifier(kIdentifier);
79 78
80 scoped_ptr<net::UploadDataStream> upload(UploadDataStreamBuilder::Build( 79 scoped_ptr<net::UploadDataStream> upload(UploadDataStreamBuilder::Build(
81 request_body.get(), NULL, NULL, base::MessageLoopProxy::current().get())); 80 request_body.get(), NULL, NULL,
81 base::ThreadTaskRunnerHandle::Get().get()));
82 82
83 EXPECT_EQ(kIdentifier, upload->identifier()); 83 EXPECT_EQ(kIdentifier, upload->identifier());
84 ASSERT_TRUE(upload->GetElementReaders()); 84 ASSERT_TRUE(upload->GetElementReaders());
85 ASSERT_EQ(request_body->elements()->size(), 85 ASSERT_EQ(request_body->elements()->size(),
86 upload->GetElementReaders()->size()); 86 upload->GetElementReaders()->size());
87 87
88 const net::UploadBytesElementReader* r1 = 88 const net::UploadBytesElementReader* r1 =
89 (*upload->GetElementReaders())[0]->AsBytesReader(); 89 (*upload->GetElementReaders())[0]->AsBytesReader();
90 ASSERT_TRUE(r1); 90 ASSERT_TRUE(r1);
91 EXPECT_EQ(kData, std::string(r1->bytes(), r1->length())); 91 EXPECT_EQ(kData, std::string(r1->bytes(), r1->length()));
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 scoped_refptr<ResourceRequestBody> request_body(new ResourceRequestBody()); 139 scoped_refptr<ResourceRequestBody> request_body(new ResourceRequestBody());
140 request_body->AppendBytes( 140 request_body->AppendBytes(
141 upload_element1.bytes(), 141 upload_element1.bytes(),
142 upload_element1.length()); 142 upload_element1.length());
143 request_body->AppendFileRange( 143 request_body->AppendFileRange(
144 upload_element2.path(), 144 upload_element2.path(),
145 upload_element2.offset(), 145 upload_element2.offset(),
146 upload_element2.length(), 146 upload_element2.length(),
147 upload_element2.expected_modification_time()); 147 upload_element2.expected_modification_time());
148 148
149 scoped_ptr<net::UploadDataStream> upload( 149 scoped_ptr<net::UploadDataStream> upload(UploadDataStreamBuilder::Build(
150 UploadDataStreamBuilder::Build( 150 request_body.get(), &blob_storage_context, NULL,
151 request_body.get(), 151 base::ThreadTaskRunnerHandle::Get().get()));
152 &blob_storage_context,
153 NULL,
154 base::MessageLoopProxy::current().get()));
155 152
156 ASSERT_TRUE(upload->GetElementReaders()); 153 ASSERT_TRUE(upload->GetElementReaders());
157 ASSERT_EQ(2U, upload->GetElementReaders()->size()); 154 ASSERT_EQ(2U, upload->GetElementReaders()->size());
158 EXPECT_TRUE(AreElementsEqual( 155 EXPECT_TRUE(AreElementsEqual(
159 *(*upload->GetElementReaders())[0], upload_element1)); 156 *(*upload->GetElementReaders())[0], upload_element1));
160 EXPECT_TRUE(AreElementsEqual( 157 EXPECT_TRUE(AreElementsEqual(
161 *(*upload->GetElementReaders())[1], upload_element2)); 158 *(*upload->GetElementReaders())[1], upload_element2));
162 159
163 // Test having only one blob reference that refers to empty blob data. 160 // Test having only one blob reference that refers to empty blob data.
164 request_body = new ResourceRequestBody(); 161 request_body = new ResourceRequestBody();
165 request_body->AppendBlob(blob_id0); 162 request_body->AppendBlob(blob_id0);
166 163
167 upload = UploadDataStreamBuilder::Build( 164 upload = UploadDataStreamBuilder::Build(
168 request_body.get(), 165 request_body.get(), &blob_storage_context, NULL,
169 &blob_storage_context, 166 base::ThreadTaskRunnerHandle::Get().get());
170 NULL,
171 base::MessageLoopProxy::current().get());
172 ASSERT_TRUE(upload->GetElementReaders()); 167 ASSERT_TRUE(upload->GetElementReaders());
173 ASSERT_EQ(0U, upload->GetElementReaders()->size()); 168 ASSERT_EQ(0U, upload->GetElementReaders()->size());
174 169
175 // Test having only one blob reference. 170 // Test having only one blob reference.
176 request_body = new ResourceRequestBody(); 171 request_body = new ResourceRequestBody();
177 request_body->AppendBlob(blob_id1); 172 request_body->AppendBlob(blob_id1);
178 173
179 upload = UploadDataStreamBuilder::Build( 174 upload = UploadDataStreamBuilder::Build(
180 request_body.get(), 175 request_body.get(), &blob_storage_context, NULL,
181 &blob_storage_context, 176 base::ThreadTaskRunnerHandle::Get().get());
182 NULL,
183 base::MessageLoopProxy::current().get());
184 ASSERT_TRUE(upload->GetElementReaders()); 177 ASSERT_TRUE(upload->GetElementReaders());
185 ASSERT_EQ(2U, upload->GetElementReaders()->size()); 178 ASSERT_EQ(2U, upload->GetElementReaders()->size());
186 EXPECT_TRUE(AreElementsEqual( 179 EXPECT_TRUE(AreElementsEqual(
187 *(*upload->GetElementReaders())[0], blob_element1)); 180 *(*upload->GetElementReaders())[0], blob_element1));
188 EXPECT_TRUE(AreElementsEqual( 181 EXPECT_TRUE(AreElementsEqual(
189 *(*upload->GetElementReaders())[1], blob_element2)); 182 *(*upload->GetElementReaders())[1], blob_element2));
190 183
191 // Test having one blob reference at the beginning. 184 // Test having one blob reference at the beginning.
192 request_body = new ResourceRequestBody(); 185 request_body = new ResourceRequestBody();
193 request_body->AppendBlob(blob_id1); 186 request_body->AppendBlob(blob_id1);
194 request_body->AppendBytes( 187 request_body->AppendBytes(
195 upload_element1.bytes(), 188 upload_element1.bytes(),
196 upload_element1.length()); 189 upload_element1.length());
197 request_body->AppendFileRange( 190 request_body->AppendFileRange(
198 upload_element2.path(), 191 upload_element2.path(),
199 upload_element2.offset(), 192 upload_element2.offset(),
200 upload_element2.length(), 193 upload_element2.length(),
201 upload_element2.expected_modification_time()); 194 upload_element2.expected_modification_time());
202 195
203 upload = UploadDataStreamBuilder::Build( 196 upload = UploadDataStreamBuilder::Build(
204 request_body.get(), 197 request_body.get(), &blob_storage_context, NULL,
205 &blob_storage_context, 198 base::ThreadTaskRunnerHandle::Get().get());
206 NULL,
207 base::MessageLoopProxy::current().get());
208 ASSERT_TRUE(upload->GetElementReaders()); 199 ASSERT_TRUE(upload->GetElementReaders());
209 ASSERT_EQ(4U, upload->GetElementReaders()->size()); 200 ASSERT_EQ(4U, upload->GetElementReaders()->size());
210 EXPECT_TRUE(AreElementsEqual( 201 EXPECT_TRUE(AreElementsEqual(
211 *(*upload->GetElementReaders())[0], blob_element1)); 202 *(*upload->GetElementReaders())[0], blob_element1));
212 EXPECT_TRUE(AreElementsEqual( 203 EXPECT_TRUE(AreElementsEqual(
213 *(*upload->GetElementReaders())[1], blob_element2)); 204 *(*upload->GetElementReaders())[1], blob_element2));
214 EXPECT_TRUE(AreElementsEqual( 205 EXPECT_TRUE(AreElementsEqual(
215 *(*upload->GetElementReaders())[2], upload_element1)); 206 *(*upload->GetElementReaders())[2], upload_element1));
216 EXPECT_TRUE(AreElementsEqual( 207 EXPECT_TRUE(AreElementsEqual(
217 *(*upload->GetElementReaders())[3], upload_element2)); 208 *(*upload->GetElementReaders())[3], upload_element2));
218 209
219 // Test having one blob reference at the end. 210 // Test having one blob reference at the end.
220 request_body = new ResourceRequestBody(); 211 request_body = new ResourceRequestBody();
221 request_body->AppendBytes( 212 request_body->AppendBytes(
222 upload_element1.bytes(), 213 upload_element1.bytes(),
223 upload_element1.length()); 214 upload_element1.length());
224 request_body->AppendFileRange( 215 request_body->AppendFileRange(
225 upload_element2.path(), 216 upload_element2.path(),
226 upload_element2.offset(), 217 upload_element2.offset(),
227 upload_element2.length(), 218 upload_element2.length(),
228 upload_element2.expected_modification_time()); 219 upload_element2.expected_modification_time());
229 request_body->AppendBlob(blob_id1); 220 request_body->AppendBlob(blob_id1);
230 221
231 upload = 222 upload = UploadDataStreamBuilder::Build(
232 UploadDataStreamBuilder::Build(request_body.get(), 223 request_body.get(), &blob_storage_context, NULL,
233 &blob_storage_context, 224 base::ThreadTaskRunnerHandle::Get().get());
234 NULL,
235 base::MessageLoopProxy::current().get());
236 ASSERT_TRUE(upload->GetElementReaders()); 225 ASSERT_TRUE(upload->GetElementReaders());
237 ASSERT_EQ(4U, upload->GetElementReaders()->size()); 226 ASSERT_EQ(4U, upload->GetElementReaders()->size());
238 EXPECT_TRUE(AreElementsEqual( 227 EXPECT_TRUE(AreElementsEqual(
239 *(*upload->GetElementReaders())[0], upload_element1)); 228 *(*upload->GetElementReaders())[0], upload_element1));
240 EXPECT_TRUE(AreElementsEqual( 229 EXPECT_TRUE(AreElementsEqual(
241 *(*upload->GetElementReaders())[1], upload_element2)); 230 *(*upload->GetElementReaders())[1], upload_element2));
242 EXPECT_TRUE(AreElementsEqual( 231 EXPECT_TRUE(AreElementsEqual(
243 *(*upload->GetElementReaders())[2], blob_element1)); 232 *(*upload->GetElementReaders())[2], blob_element1));
244 EXPECT_TRUE(AreElementsEqual( 233 EXPECT_TRUE(AreElementsEqual(
245 *(*upload->GetElementReaders())[3], blob_element2)); 234 *(*upload->GetElementReaders())[3], blob_element2));
246 235
247 // Test having one blob reference in the middle. 236 // Test having one blob reference in the middle.
248 request_body = new ResourceRequestBody(); 237 request_body = new ResourceRequestBody();
249 request_body->AppendBytes( 238 request_body->AppendBytes(
250 upload_element1.bytes(), 239 upload_element1.bytes(),
251 upload_element1.length()); 240 upload_element1.length());
252 request_body->AppendBlob(blob_id1); 241 request_body->AppendBlob(blob_id1);
253 request_body->AppendFileRange( 242 request_body->AppendFileRange(
254 upload_element2.path(), 243 upload_element2.path(),
255 upload_element2.offset(), 244 upload_element2.offset(),
256 upload_element2.length(), 245 upload_element2.length(),
257 upload_element2.expected_modification_time()); 246 upload_element2.expected_modification_time());
258 247
259 upload = UploadDataStreamBuilder::Build( 248 upload = UploadDataStreamBuilder::Build(
260 request_body.get(), 249 request_body.get(), &blob_storage_context, NULL,
261 &blob_storage_context, 250 base::ThreadTaskRunnerHandle::Get().get());
262 NULL,
263 base::MessageLoopProxy::current().get());
264 ASSERT_TRUE(upload->GetElementReaders()); 251 ASSERT_TRUE(upload->GetElementReaders());
265 ASSERT_EQ(4U, upload->GetElementReaders()->size()); 252 ASSERT_EQ(4U, upload->GetElementReaders()->size());
266 EXPECT_TRUE(AreElementsEqual( 253 EXPECT_TRUE(AreElementsEqual(
267 *(*upload->GetElementReaders())[0], upload_element1)); 254 *(*upload->GetElementReaders())[0], upload_element1));
268 EXPECT_TRUE(AreElementsEqual( 255 EXPECT_TRUE(AreElementsEqual(
269 *(*upload->GetElementReaders())[1], blob_element1)); 256 *(*upload->GetElementReaders())[1], blob_element1));
270 EXPECT_TRUE(AreElementsEqual( 257 EXPECT_TRUE(AreElementsEqual(
271 *(*upload->GetElementReaders())[2], blob_element2)); 258 *(*upload->GetElementReaders())[2], blob_element2));
272 EXPECT_TRUE(AreElementsEqual( 259 EXPECT_TRUE(AreElementsEqual(
273 *(*upload->GetElementReaders())[3], upload_element2)); 260 *(*upload->GetElementReaders())[3], upload_element2));
274 261
275 // Test having multiple blob references. 262 // Test having multiple blob references.
276 request_body = new ResourceRequestBody(); 263 request_body = new ResourceRequestBody();
277 request_body->AppendBlob(blob_id1); 264 request_body->AppendBlob(blob_id1);
278 request_body->AppendBytes( 265 request_body->AppendBytes(
279 upload_element1.bytes(), 266 upload_element1.bytes(),
280 upload_element1.length()); 267 upload_element1.length());
281 request_body->AppendBlob(blob_id1); 268 request_body->AppendBlob(blob_id1);
282 request_body->AppendBlob(blob_id1); 269 request_body->AppendBlob(blob_id1);
283 request_body->AppendFileRange( 270 request_body->AppendFileRange(
284 upload_element2.path(), 271 upload_element2.path(),
285 upload_element2.offset(), 272 upload_element2.offset(),
286 upload_element2.length(), 273 upload_element2.length(),
287 upload_element2.expected_modification_time()); 274 upload_element2.expected_modification_time());
288 275
289 upload = UploadDataStreamBuilder::Build( 276 upload = UploadDataStreamBuilder::Build(
290 request_body.get(), 277 request_body.get(), &blob_storage_context, NULL,
291 &blob_storage_context, 278 base::ThreadTaskRunnerHandle::Get().get());
292 NULL,
293 base::MessageLoopProxy::current().get());
294 ASSERT_TRUE(upload->GetElementReaders()); 279 ASSERT_TRUE(upload->GetElementReaders());
295 ASSERT_EQ(8U, upload->GetElementReaders()->size()); 280 ASSERT_EQ(8U, upload->GetElementReaders()->size());
296 EXPECT_TRUE(AreElementsEqual( 281 EXPECT_TRUE(AreElementsEqual(
297 *(*upload->GetElementReaders())[0], blob_element1)); 282 *(*upload->GetElementReaders())[0], blob_element1));
298 EXPECT_TRUE(AreElementsEqual( 283 EXPECT_TRUE(AreElementsEqual(
299 *(*upload->GetElementReaders())[1], blob_element2)); 284 *(*upload->GetElementReaders())[1], blob_element2));
300 EXPECT_TRUE(AreElementsEqual( 285 EXPECT_TRUE(AreElementsEqual(
301 *(*upload->GetElementReaders())[2], upload_element1)); 286 *(*upload->GetElementReaders())[2], upload_element1));
302 EXPECT_TRUE(AreElementsEqual( 287 EXPECT_TRUE(AreElementsEqual(
303 *(*upload->GetElementReaders())[3], blob_element1)); 288 *(*upload->GetElementReaders())[3], blob_element1));
(...skipping 30 matching lines...) Expand all
334 blob_data_builder->AppendFile(test_blob_path, 0, kZeroLength, blob_time); 319 blob_data_builder->AppendFile(test_blob_path, 0, kZeroLength, blob_time);
335 scoped_ptr<BlobDataHandle> handle = 320 scoped_ptr<BlobDataHandle> handle =
336 blob_storage_context.AddFinishedBlob(blob_data_builder.get()); 321 blob_storage_context.AddFinishedBlob(blob_data_builder.get());
337 322
338 ResourceRequestBody::Element blob_element; 323 ResourceRequestBody::Element blob_element;
339 blob_element.SetToFilePathRange(test_blob_path, 0, kZeroLength, blob_time); 324 blob_element.SetToFilePathRange(test_blob_path, 0, kZeroLength, blob_time);
340 325
341 scoped_refptr<ResourceRequestBody> request_body(new ResourceRequestBody()); 326 scoped_refptr<ResourceRequestBody> request_body(new ResourceRequestBody());
342 scoped_ptr<net::UploadDataStream> upload(UploadDataStreamBuilder::Build( 327 scoped_ptr<net::UploadDataStream> upload(UploadDataStreamBuilder::Build(
343 request_body.get(), &blob_storage_context, NULL, 328 request_body.get(), &blob_storage_context, NULL,
344 base::MessageLoopProxy::current().get())); 329 base::ThreadTaskRunnerHandle::Get().get()));
345 330
346 request_body = new ResourceRequestBody(); 331 request_body = new ResourceRequestBody();
347 request_body->AppendBlob(blob_id); 332 request_body->AppendBlob(blob_id);
348 request_body->AppendBlob(blob_id); 333 request_body->AppendBlob(blob_id);
349 request_body->AppendBlob(blob_id); 334 request_body->AppendBlob(blob_id);
350 335
351 upload = UploadDataStreamBuilder::Build( 336 upload = UploadDataStreamBuilder::Build(
352 request_body.get(), &blob_storage_context, NULL, 337 request_body.get(), &blob_storage_context, NULL,
353 base::MessageLoopProxy::current().get()); 338 base::ThreadTaskRunnerHandle::Get().get());
354 ASSERT_TRUE(upload->GetElementReaders()); 339 ASSERT_TRUE(upload->GetElementReaders());
355 const auto& readers = *upload->GetElementReaders(); 340 const auto& readers = *upload->GetElementReaders();
356 ASSERT_EQ(3U, readers.size()); 341 ASSERT_EQ(3U, readers.size());
357 EXPECT_TRUE(AreElementsEqual(*readers[0], blob_element)); 342 EXPECT_TRUE(AreElementsEqual(*readers[0], blob_element));
358 EXPECT_TRUE(AreElementsEqual(*readers[1], blob_element)); 343 EXPECT_TRUE(AreElementsEqual(*readers[1], blob_element));
359 EXPECT_TRUE(AreElementsEqual(*readers[2], blob_element)); 344 EXPECT_TRUE(AreElementsEqual(*readers[2], blob_element));
360 345
361 net::TestCompletionCallback init_callback; 346 net::TestCompletionCallback init_callback;
362 ASSERT_EQ(net::ERR_IO_PENDING, upload->Init(init_callback.callback())); 347 ASSERT_EQ(net::ERR_IO_PENDING, upload->Init(init_callback.callback()));
363 EXPECT_EQ(net::OK, init_callback.WaitForResult()); 348 EXPECT_EQ(net::OK, init_callback.WaitForResult());
(...skipping 10 matching lines...) Expand all
374 int result = 359 int result =
375 upload->Read(io_buffer.get(), kBufferLength, read_callback.callback()); 360 upload->Read(io_buffer.get(), kBufferLength, read_callback.callback());
376 EXPECT_EQ(static_cast<int>(kZeroLength), read_callback.GetResult(result)); 361 EXPECT_EQ(static_cast<int>(kZeroLength), read_callback.GetResult(result));
377 362
378 base::DeleteFile(test_blob_path, false); 363 base::DeleteFile(test_blob_path, false);
379 } 364 }
380 // Clean up for ASAN. 365 // Clean up for ASAN.
381 base::RunLoop().RunUntilIdle(); 366 base::RunLoop().RunUntilIdle();
382 } 367 }
383 } // namespace content 368 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/loader/resource_loader_unittest.cc ('k') | content/browser/media/capture/content_video_capture_device_core.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698