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 "net/base/file_stream.h" | 5 #include "net/base/file_stream.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 EXPECT_EQ(ERR_UNEXPECTED, avail); | 218 EXPECT_EQ(ERR_UNEXPECTED, avail); |
219 | 219 |
220 // Try reading... | 220 // Try reading... |
221 char buf[10]; | 221 char buf[10]; |
222 int rv = stream.ReadSync(buf, arraysize(buf)); | 222 int rv = stream.ReadSync(buf, arraysize(buf)); |
223 EXPECT_EQ(ERR_UNEXPECTED, rv); | 223 EXPECT_EQ(ERR_UNEXPECTED, rv); |
224 } | 224 } |
225 | 225 |
226 TEST_F(FileStreamTest, BasicRead) { | 226 TEST_F(FileStreamTest, BasicRead) { |
227 int64 file_size; | 227 int64 file_size; |
228 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 228 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
229 EXPECT_TRUE(ok); | 229 EXPECT_TRUE(ok); |
230 | 230 |
231 FileStream stream(NULL, base::MessageLoopProxy::current()); | 231 FileStream stream(NULL, base::MessageLoopProxy::current()); |
232 int flags = base::PLATFORM_FILE_OPEN | | 232 int flags = base::PLATFORM_FILE_OPEN | |
233 base::PLATFORM_FILE_READ; | 233 base::PLATFORM_FILE_READ; |
234 int rv = stream.OpenSync(temp_file_path(), flags); | 234 int rv = stream.OpenSync(temp_file_path(), flags); |
235 EXPECT_EQ(OK, rv); | 235 EXPECT_EQ(OK, rv); |
236 | 236 |
237 int64 total_bytes_avail = stream.Available(); | 237 int64 total_bytes_avail = stream.Available(); |
238 EXPECT_EQ(file_size, total_bytes_avail); | 238 EXPECT_EQ(file_size, total_bytes_avail); |
239 | 239 |
240 int total_bytes_read = 0; | 240 int total_bytes_read = 0; |
241 | 241 |
242 std::string data_read; | 242 std::string data_read; |
243 for (;;) { | 243 for (;;) { |
244 char buf[4]; | 244 char buf[4]; |
245 rv = stream.ReadSync(buf, arraysize(buf)); | 245 rv = stream.ReadSync(buf, arraysize(buf)); |
246 EXPECT_LE(0, rv); | 246 EXPECT_LE(0, rv); |
247 if (rv <= 0) | 247 if (rv <= 0) |
248 break; | 248 break; |
249 total_bytes_read += rv; | 249 total_bytes_read += rv; |
250 data_read.append(buf, rv); | 250 data_read.append(buf, rv); |
251 } | 251 } |
252 EXPECT_EQ(file_size, total_bytes_read); | 252 EXPECT_EQ(file_size, total_bytes_read); |
253 EXPECT_EQ(kTestData, data_read); | 253 EXPECT_EQ(kTestData, data_read); |
254 } | 254 } |
255 | 255 |
256 TEST_F(FileStreamTest, AsyncRead) { | 256 TEST_F(FileStreamTest, AsyncRead) { |
257 int64 file_size; | 257 int64 file_size; |
258 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 258 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
259 EXPECT_TRUE(ok); | 259 EXPECT_TRUE(ok); |
260 | 260 |
261 FileStream stream(NULL, base::MessageLoopProxy::current()); | 261 FileStream stream(NULL, base::MessageLoopProxy::current()); |
262 int flags = base::PLATFORM_FILE_OPEN | | 262 int flags = base::PLATFORM_FILE_OPEN | |
263 base::PLATFORM_FILE_READ | | 263 base::PLATFORM_FILE_READ | |
264 base::PLATFORM_FILE_ASYNC; | 264 base::PLATFORM_FILE_ASYNC; |
265 TestCompletionCallback callback; | 265 TestCompletionCallback callback; |
266 int rv = stream.Open(temp_file_path(), flags, callback.callback()); | 266 int rv = stream.Open(temp_file_path(), flags, callback.callback()); |
267 EXPECT_EQ(ERR_IO_PENDING, rv); | 267 EXPECT_EQ(ERR_IO_PENDING, rv); |
268 EXPECT_EQ(OK, callback.WaitForResult()); | 268 EXPECT_EQ(OK, callback.WaitForResult()); |
(...skipping 14 matching lines...) Expand all Loading... |
283 break; | 283 break; |
284 total_bytes_read += rv; | 284 total_bytes_read += rv; |
285 data_read.append(buf->data(), rv); | 285 data_read.append(buf->data(), rv); |
286 } | 286 } |
287 EXPECT_EQ(file_size, total_bytes_read); | 287 EXPECT_EQ(file_size, total_bytes_read); |
288 EXPECT_EQ(kTestData, data_read); | 288 EXPECT_EQ(kTestData, data_read); |
289 } | 289 } |
290 | 290 |
291 TEST_F(FileStreamTest, AsyncRead_EarlyDelete) { | 291 TEST_F(FileStreamTest, AsyncRead_EarlyDelete) { |
292 int64 file_size; | 292 int64 file_size; |
293 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 293 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
294 EXPECT_TRUE(ok); | 294 EXPECT_TRUE(ok); |
295 | 295 |
296 scoped_ptr<FileStream> stream( | 296 scoped_ptr<FileStream> stream( |
297 new FileStream(NULL, base::MessageLoopProxy::current())); | 297 new FileStream(NULL, base::MessageLoopProxy::current())); |
298 int flags = base::PLATFORM_FILE_OPEN | | 298 int flags = base::PLATFORM_FILE_OPEN | |
299 base::PLATFORM_FILE_READ | | 299 base::PLATFORM_FILE_READ | |
300 base::PLATFORM_FILE_ASYNC; | 300 base::PLATFORM_FILE_ASYNC; |
301 TestCompletionCallback callback; | 301 TestCompletionCallback callback; |
302 int rv = stream->Open(temp_file_path(), flags, callback.callback()); | 302 int rv = stream->Open(temp_file_path(), flags, callback.callback()); |
303 EXPECT_EQ(ERR_IO_PENDING, rv); | 303 EXPECT_EQ(ERR_IO_PENDING, rv); |
(...skipping 10 matching lines...) Expand all Loading... |
314 // The callback should not be called if the request is cancelled. | 314 // The callback should not be called if the request is cancelled. |
315 base::RunLoop().RunUntilIdle(); | 315 base::RunLoop().RunUntilIdle(); |
316 EXPECT_FALSE(callback.have_result()); | 316 EXPECT_FALSE(callback.have_result()); |
317 } else { | 317 } else { |
318 EXPECT_EQ(std::string(kTestData, rv), std::string(buf->data(), rv)); | 318 EXPECT_EQ(std::string(kTestData, rv), std::string(buf->data(), rv)); |
319 } | 319 } |
320 } | 320 } |
321 | 321 |
322 TEST_F(FileStreamTest, BasicRead_FromOffset) { | 322 TEST_F(FileStreamTest, BasicRead_FromOffset) { |
323 int64 file_size; | 323 int64 file_size; |
324 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 324 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
325 EXPECT_TRUE(ok); | 325 EXPECT_TRUE(ok); |
326 | 326 |
327 FileStream stream(NULL, base::MessageLoopProxy::current()); | 327 FileStream stream(NULL, base::MessageLoopProxy::current()); |
328 int flags = base::PLATFORM_FILE_OPEN | | 328 int flags = base::PLATFORM_FILE_OPEN | |
329 base::PLATFORM_FILE_READ; | 329 base::PLATFORM_FILE_READ; |
330 int rv = stream.OpenSync(temp_file_path(), flags); | 330 int rv = stream.OpenSync(temp_file_path(), flags); |
331 EXPECT_EQ(OK, rv); | 331 EXPECT_EQ(OK, rv); |
332 | 332 |
333 const int64 kOffset = 3; | 333 const int64 kOffset = 3; |
334 int64 new_offset = stream.SeekSync(FROM_BEGIN, kOffset); | 334 int64 new_offset = stream.SeekSync(FROM_BEGIN, kOffset); |
(...skipping 14 matching lines...) Expand all Loading... |
349 total_bytes_read += rv; | 349 total_bytes_read += rv; |
350 data_read.append(buf, rv); | 350 data_read.append(buf, rv); |
351 } | 351 } |
352 EXPECT_EQ(file_size - kOffset, total_bytes_read); | 352 EXPECT_EQ(file_size - kOffset, total_bytes_read); |
353 EXPECT_TRUE(data_read == kTestData + kOffset); | 353 EXPECT_TRUE(data_read == kTestData + kOffset); |
354 EXPECT_EQ(kTestData + kOffset, data_read); | 354 EXPECT_EQ(kTestData + kOffset, data_read); |
355 } | 355 } |
356 | 356 |
357 TEST_F(FileStreamTest, AsyncRead_FromOffset) { | 357 TEST_F(FileStreamTest, AsyncRead_FromOffset) { |
358 int64 file_size; | 358 int64 file_size; |
359 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 359 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
360 EXPECT_TRUE(ok); | 360 EXPECT_TRUE(ok); |
361 | 361 |
362 FileStream stream(NULL, base::MessageLoopProxy::current()); | 362 FileStream stream(NULL, base::MessageLoopProxy::current()); |
363 int flags = base::PLATFORM_FILE_OPEN | | 363 int flags = base::PLATFORM_FILE_OPEN | |
364 base::PLATFORM_FILE_READ | | 364 base::PLATFORM_FILE_READ | |
365 base::PLATFORM_FILE_ASYNC; | 365 base::PLATFORM_FILE_ASYNC; |
366 TestCompletionCallback callback; | 366 TestCompletionCallback callback; |
367 int rv = stream.Open(temp_file_path(), flags, callback.callback()); | 367 int rv = stream.Open(temp_file_path(), flags, callback.callback()); |
368 EXPECT_EQ(ERR_IO_PENDING, rv); | 368 EXPECT_EQ(ERR_IO_PENDING, rv); |
369 EXPECT_EQ(OK, callback.WaitForResult()); | 369 EXPECT_EQ(OK, callback.WaitForResult()); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
457 | 457 |
458 TEST_F(FileStreamTest, BasicWrite) { | 458 TEST_F(FileStreamTest, BasicWrite) { |
459 scoped_ptr<FileStream> stream( | 459 scoped_ptr<FileStream> stream( |
460 new FileStream(NULL, base::MessageLoopProxy::current())); | 460 new FileStream(NULL, base::MessageLoopProxy::current())); |
461 int flags = base::PLATFORM_FILE_CREATE_ALWAYS | | 461 int flags = base::PLATFORM_FILE_CREATE_ALWAYS | |
462 base::PLATFORM_FILE_WRITE; | 462 base::PLATFORM_FILE_WRITE; |
463 int rv = stream->OpenSync(temp_file_path(), flags); | 463 int rv = stream->OpenSync(temp_file_path(), flags); |
464 EXPECT_EQ(OK, rv); | 464 EXPECT_EQ(OK, rv); |
465 | 465 |
466 int64 file_size; | 466 int64 file_size; |
467 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 467 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
468 EXPECT_TRUE(ok); | 468 EXPECT_TRUE(ok); |
469 EXPECT_EQ(0, file_size); | 469 EXPECT_EQ(0, file_size); |
470 | 470 |
471 rv = stream->WriteSync(kTestData, kTestDataSize); | 471 rv = stream->WriteSync(kTestData, kTestDataSize); |
472 EXPECT_EQ(kTestDataSize, rv); | 472 EXPECT_EQ(kTestDataSize, rv); |
473 stream.reset(); | 473 stream.reset(); |
474 | 474 |
475 ok = file_util::GetFileSize(temp_file_path(), &file_size); | 475 ok = base::GetFileSize(temp_file_path(), &file_size); |
476 EXPECT_TRUE(ok); | 476 EXPECT_TRUE(ok); |
477 EXPECT_EQ(kTestDataSize, file_size); | 477 EXPECT_EQ(kTestDataSize, file_size); |
478 } | 478 } |
479 | 479 |
480 TEST_F(FileStreamTest, AsyncWrite) { | 480 TEST_F(FileStreamTest, AsyncWrite) { |
481 FileStream stream(NULL, base::MessageLoopProxy::current()); | 481 FileStream stream(NULL, base::MessageLoopProxy::current()); |
482 int flags = base::PLATFORM_FILE_CREATE_ALWAYS | | 482 int flags = base::PLATFORM_FILE_CREATE_ALWAYS | |
483 base::PLATFORM_FILE_WRITE | | 483 base::PLATFORM_FILE_WRITE | |
484 base::PLATFORM_FILE_ASYNC; | 484 base::PLATFORM_FILE_ASYNC; |
485 TestCompletionCallback callback; | 485 TestCompletionCallback callback; |
486 int rv = stream.Open(temp_file_path(), flags, callback.callback()); | 486 int rv = stream.Open(temp_file_path(), flags, callback.callback()); |
487 EXPECT_EQ(ERR_IO_PENDING, rv); | 487 EXPECT_EQ(ERR_IO_PENDING, rv); |
488 EXPECT_EQ(OK, callback.WaitForResult()); | 488 EXPECT_EQ(OK, callback.WaitForResult()); |
489 | 489 |
490 int64 file_size; | 490 int64 file_size; |
491 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 491 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
492 EXPECT_TRUE(ok); | 492 EXPECT_TRUE(ok); |
493 EXPECT_EQ(0, file_size); | 493 EXPECT_EQ(0, file_size); |
494 | 494 |
495 int total_bytes_written = 0; | 495 int total_bytes_written = 0; |
496 | 496 |
497 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); | 497 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); |
498 scoped_refptr<DrainableIOBuffer> drainable = | 498 scoped_refptr<DrainableIOBuffer> drainable = |
499 new DrainableIOBuffer(buf.get(), buf->size()); | 499 new DrainableIOBuffer(buf.get(), buf->size()); |
500 while (total_bytes_written != kTestDataSize) { | 500 while (total_bytes_written != kTestDataSize) { |
501 rv = stream.Write( | 501 rv = stream.Write( |
502 drainable.get(), drainable->BytesRemaining(), callback.callback()); | 502 drainable.get(), drainable->BytesRemaining(), callback.callback()); |
503 if (rv == ERR_IO_PENDING) | 503 if (rv == ERR_IO_PENDING) |
504 rv = callback.WaitForResult(); | 504 rv = callback.WaitForResult(); |
505 EXPECT_LT(0, rv); | 505 EXPECT_LT(0, rv); |
506 if (rv <= 0) | 506 if (rv <= 0) |
507 break; | 507 break; |
508 drainable->DidConsume(rv); | 508 drainable->DidConsume(rv); |
509 total_bytes_written += rv; | 509 total_bytes_written += rv; |
510 } | 510 } |
511 ok = file_util::GetFileSize(temp_file_path(), &file_size); | 511 ok = base::GetFileSize(temp_file_path(), &file_size); |
512 EXPECT_TRUE(ok); | 512 EXPECT_TRUE(ok); |
513 EXPECT_EQ(file_size, total_bytes_written); | 513 EXPECT_EQ(file_size, total_bytes_written); |
514 } | 514 } |
515 | 515 |
516 TEST_F(FileStreamTest, AsyncWrite_EarlyDelete) { | 516 TEST_F(FileStreamTest, AsyncWrite_EarlyDelete) { |
517 scoped_ptr<FileStream> stream( | 517 scoped_ptr<FileStream> stream( |
518 new FileStream(NULL, base::MessageLoopProxy::current())); | 518 new FileStream(NULL, base::MessageLoopProxy::current())); |
519 int flags = base::PLATFORM_FILE_CREATE_ALWAYS | | 519 int flags = base::PLATFORM_FILE_CREATE_ALWAYS | |
520 base::PLATFORM_FILE_WRITE | | 520 base::PLATFORM_FILE_WRITE | |
521 base::PLATFORM_FILE_ASYNC; | 521 base::PLATFORM_FILE_ASYNC; |
522 TestCompletionCallback callback; | 522 TestCompletionCallback callback; |
523 int rv = stream->Open(temp_file_path(), flags, callback.callback()); | 523 int rv = stream->Open(temp_file_path(), flags, callback.callback()); |
524 EXPECT_EQ(ERR_IO_PENDING, rv); | 524 EXPECT_EQ(ERR_IO_PENDING, rv); |
525 EXPECT_EQ(OK, callback.WaitForResult()); | 525 EXPECT_EQ(OK, callback.WaitForResult()); |
526 | 526 |
527 int64 file_size; | 527 int64 file_size; |
528 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 528 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
529 EXPECT_TRUE(ok); | 529 EXPECT_TRUE(ok); |
530 EXPECT_EQ(0, file_size); | 530 EXPECT_EQ(0, file_size); |
531 | 531 |
532 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); | 532 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); |
533 rv = stream->Write(buf.get(), buf->size(), callback.callback()); | 533 rv = stream->Write(buf.get(), buf->size(), callback.callback()); |
534 stream.reset(); | 534 stream.reset(); |
535 if (rv < 0) { | 535 if (rv < 0) { |
536 EXPECT_EQ(ERR_IO_PENDING, rv); | 536 EXPECT_EQ(ERR_IO_PENDING, rv); |
537 // The callback should not be called if the request is cancelled. | 537 // The callback should not be called if the request is cancelled. |
538 base::RunLoop().RunUntilIdle(); | 538 base::RunLoop().RunUntilIdle(); |
539 EXPECT_FALSE(callback.have_result()); | 539 EXPECT_FALSE(callback.have_result()); |
540 } else { | 540 } else { |
541 ok = file_util::GetFileSize(temp_file_path(), &file_size); | 541 ok = base::GetFileSize(temp_file_path(), &file_size); |
542 EXPECT_TRUE(ok); | 542 EXPECT_TRUE(ok); |
543 EXPECT_EQ(file_size, rv); | 543 EXPECT_EQ(file_size, rv); |
544 } | 544 } |
545 } | 545 } |
546 | 546 |
547 TEST_F(FileStreamTest, BasicWrite_FromOffset) { | 547 TEST_F(FileStreamTest, BasicWrite_FromOffset) { |
548 scoped_ptr<FileStream> stream( | 548 scoped_ptr<FileStream> stream( |
549 new FileStream(NULL, base::MessageLoopProxy::current())); | 549 new FileStream(NULL, base::MessageLoopProxy::current())); |
550 int flags = base::PLATFORM_FILE_OPEN | | 550 int flags = base::PLATFORM_FILE_OPEN | |
551 base::PLATFORM_FILE_WRITE; | 551 base::PLATFORM_FILE_WRITE; |
552 int rv = stream->OpenSync(temp_file_path(), flags); | 552 int rv = stream->OpenSync(temp_file_path(), flags); |
553 EXPECT_EQ(OK, rv); | 553 EXPECT_EQ(OK, rv); |
554 | 554 |
555 int64 file_size; | 555 int64 file_size; |
556 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 556 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
557 EXPECT_TRUE(ok); | 557 EXPECT_TRUE(ok); |
558 EXPECT_EQ(kTestDataSize, file_size); | 558 EXPECT_EQ(kTestDataSize, file_size); |
559 | 559 |
560 const int64 kOffset = 0; | 560 const int64 kOffset = 0; |
561 int64 new_offset = stream->SeekSync(FROM_END, kOffset); | 561 int64 new_offset = stream->SeekSync(FROM_END, kOffset); |
562 EXPECT_EQ(kTestDataSize, new_offset); | 562 EXPECT_EQ(kTestDataSize, new_offset); |
563 | 563 |
564 rv = stream->WriteSync(kTestData, kTestDataSize); | 564 rv = stream->WriteSync(kTestData, kTestDataSize); |
565 EXPECT_EQ(kTestDataSize, rv); | 565 EXPECT_EQ(kTestDataSize, rv); |
566 stream.reset(); | 566 stream.reset(); |
567 | 567 |
568 ok = file_util::GetFileSize(temp_file_path(), &file_size); | 568 ok = base::GetFileSize(temp_file_path(), &file_size); |
569 EXPECT_TRUE(ok); | 569 EXPECT_TRUE(ok); |
570 EXPECT_EQ(kTestDataSize * 2, file_size); | 570 EXPECT_EQ(kTestDataSize * 2, file_size); |
571 } | 571 } |
572 | 572 |
573 TEST_F(FileStreamTest, AsyncWrite_FromOffset) { | 573 TEST_F(FileStreamTest, AsyncWrite_FromOffset) { |
574 int64 file_size; | 574 int64 file_size; |
575 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 575 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
576 EXPECT_TRUE(ok); | 576 EXPECT_TRUE(ok); |
577 | 577 |
578 FileStream stream(NULL, base::MessageLoopProxy::current()); | 578 FileStream stream(NULL, base::MessageLoopProxy::current()); |
579 int flags = base::PLATFORM_FILE_OPEN | | 579 int flags = base::PLATFORM_FILE_OPEN | |
580 base::PLATFORM_FILE_WRITE | | 580 base::PLATFORM_FILE_WRITE | |
581 base::PLATFORM_FILE_ASYNC; | 581 base::PLATFORM_FILE_ASYNC; |
582 TestCompletionCallback callback; | 582 TestCompletionCallback callback; |
583 int rv = stream.Open(temp_file_path(), flags, callback.callback()); | 583 int rv = stream.Open(temp_file_path(), flags, callback.callback()); |
584 EXPECT_EQ(ERR_IO_PENDING, rv); | 584 EXPECT_EQ(ERR_IO_PENDING, rv); |
585 EXPECT_EQ(OK, callback.WaitForResult()); | 585 EXPECT_EQ(OK, callback.WaitForResult()); |
(...skipping 14 matching lines...) Expand all Loading... |
600 rv = stream.Write( | 600 rv = stream.Write( |
601 drainable.get(), drainable->BytesRemaining(), callback.callback()); | 601 drainable.get(), drainable->BytesRemaining(), callback.callback()); |
602 if (rv == ERR_IO_PENDING) | 602 if (rv == ERR_IO_PENDING) |
603 rv = callback.WaitForResult(); | 603 rv = callback.WaitForResult(); |
604 EXPECT_LT(0, rv); | 604 EXPECT_LT(0, rv); |
605 if (rv <= 0) | 605 if (rv <= 0) |
606 break; | 606 break; |
607 drainable->DidConsume(rv); | 607 drainable->DidConsume(rv); |
608 total_bytes_written += rv; | 608 total_bytes_written += rv; |
609 } | 609 } |
610 ok = file_util::GetFileSize(temp_file_path(), &file_size); | 610 ok = base::GetFileSize(temp_file_path(), &file_size); |
611 EXPECT_TRUE(ok); | 611 EXPECT_TRUE(ok); |
612 EXPECT_EQ(file_size, kTestDataSize * 2); | 612 EXPECT_EQ(file_size, kTestDataSize * 2); |
613 } | 613 } |
614 | 614 |
615 TEST_F(FileStreamTest, BasicReadWrite) { | 615 TEST_F(FileStreamTest, BasicReadWrite) { |
616 int64 file_size; | 616 int64 file_size; |
617 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 617 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
618 EXPECT_TRUE(ok); | 618 EXPECT_TRUE(ok); |
619 | 619 |
620 scoped_ptr<FileStream> stream( | 620 scoped_ptr<FileStream> stream( |
621 new FileStream(NULL, base::MessageLoopProxy::current())); | 621 new FileStream(NULL, base::MessageLoopProxy::current())); |
622 int flags = base::PLATFORM_FILE_OPEN | | 622 int flags = base::PLATFORM_FILE_OPEN | |
623 base::PLATFORM_FILE_READ | | 623 base::PLATFORM_FILE_READ | |
624 base::PLATFORM_FILE_WRITE; | 624 base::PLATFORM_FILE_WRITE; |
625 int rv = stream->OpenSync(temp_file_path(), flags); | 625 int rv = stream->OpenSync(temp_file_path(), flags); |
626 EXPECT_EQ(OK, rv); | 626 EXPECT_EQ(OK, rv); |
627 | 627 |
(...skipping 12 matching lines...) Expand all Loading... |
640 total_bytes_read += rv; | 640 total_bytes_read += rv; |
641 data_read.append(buf, rv); | 641 data_read.append(buf, rv); |
642 } | 642 } |
643 EXPECT_EQ(file_size, total_bytes_read); | 643 EXPECT_EQ(file_size, total_bytes_read); |
644 EXPECT_TRUE(data_read == kTestData); | 644 EXPECT_TRUE(data_read == kTestData); |
645 | 645 |
646 rv = stream->WriteSync(kTestData, kTestDataSize); | 646 rv = stream->WriteSync(kTestData, kTestDataSize); |
647 EXPECT_EQ(kTestDataSize, rv); | 647 EXPECT_EQ(kTestDataSize, rv); |
648 stream.reset(); | 648 stream.reset(); |
649 | 649 |
650 ok = file_util::GetFileSize(temp_file_path(), &file_size); | 650 ok = base::GetFileSize(temp_file_path(), &file_size); |
651 EXPECT_TRUE(ok); | 651 EXPECT_TRUE(ok); |
652 EXPECT_EQ(kTestDataSize * 2, file_size); | 652 EXPECT_EQ(kTestDataSize * 2, file_size); |
653 } | 653 } |
654 | 654 |
655 TEST_F(FileStreamTest, BasicWriteRead) { | 655 TEST_F(FileStreamTest, BasicWriteRead) { |
656 int64 file_size; | 656 int64 file_size; |
657 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 657 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
658 EXPECT_TRUE(ok); | 658 EXPECT_TRUE(ok); |
659 | 659 |
660 scoped_ptr<FileStream> stream( | 660 scoped_ptr<FileStream> stream( |
661 new FileStream(NULL, base::MessageLoopProxy::current())); | 661 new FileStream(NULL, base::MessageLoopProxy::current())); |
662 int flags = base::PLATFORM_FILE_OPEN | | 662 int flags = base::PLATFORM_FILE_OPEN | |
663 base::PLATFORM_FILE_READ | | 663 base::PLATFORM_FILE_READ | |
664 base::PLATFORM_FILE_WRITE; | 664 base::PLATFORM_FILE_WRITE; |
665 int rv = stream->OpenSync(temp_file_path(), flags); | 665 int rv = stream->OpenSync(temp_file_path(), flags); |
666 EXPECT_EQ(OK, rv); | 666 EXPECT_EQ(OK, rv); |
667 | 667 |
(...skipping 16 matching lines...) Expand all Loading... |
684 char buf[4]; | 684 char buf[4]; |
685 rv = stream->ReadSync(buf, arraysize(buf)); | 685 rv = stream->ReadSync(buf, arraysize(buf)); |
686 EXPECT_LE(0, rv); | 686 EXPECT_LE(0, rv); |
687 if (rv <= 0) | 687 if (rv <= 0) |
688 break; | 688 break; |
689 total_bytes_read += rv; | 689 total_bytes_read += rv; |
690 data_read.append(buf, rv); | 690 data_read.append(buf, rv); |
691 } | 691 } |
692 stream.reset(); | 692 stream.reset(); |
693 | 693 |
694 ok = file_util::GetFileSize(temp_file_path(), &file_size); | 694 ok = base::GetFileSize(temp_file_path(), &file_size); |
695 EXPECT_TRUE(ok); | 695 EXPECT_TRUE(ok); |
696 EXPECT_EQ(kTestDataSize * 2, file_size); | 696 EXPECT_EQ(kTestDataSize * 2, file_size); |
697 EXPECT_EQ(kTestDataSize * 2, total_bytes_read); | 697 EXPECT_EQ(kTestDataSize * 2, total_bytes_read); |
698 | 698 |
699 const std::string kExpectedFileData = | 699 const std::string kExpectedFileData = |
700 std::string(kTestData) + std::string(kTestData); | 700 std::string(kTestData) + std::string(kTestData); |
701 EXPECT_EQ(kExpectedFileData, data_read); | 701 EXPECT_EQ(kExpectedFileData, data_read); |
702 } | 702 } |
703 | 703 |
704 TEST_F(FileStreamTest, BasicAsyncReadWrite) { | 704 TEST_F(FileStreamTest, BasicAsyncReadWrite) { |
705 int64 file_size; | 705 int64 file_size; |
706 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 706 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
707 EXPECT_TRUE(ok); | 707 EXPECT_TRUE(ok); |
708 | 708 |
709 scoped_ptr<FileStream> stream( | 709 scoped_ptr<FileStream> stream( |
710 new FileStream(NULL, base::MessageLoopProxy::current())); | 710 new FileStream(NULL, base::MessageLoopProxy::current())); |
711 int flags = base::PLATFORM_FILE_OPEN | | 711 int flags = base::PLATFORM_FILE_OPEN | |
712 base::PLATFORM_FILE_READ | | 712 base::PLATFORM_FILE_READ | |
713 base::PLATFORM_FILE_WRITE | | 713 base::PLATFORM_FILE_WRITE | |
714 base::PLATFORM_FILE_ASYNC; | 714 base::PLATFORM_FILE_ASYNC; |
715 TestCompletionCallback callback; | 715 TestCompletionCallback callback; |
716 int rv = stream->Open(temp_file_path(), flags, callback.callback()); | 716 int rv = stream->Open(temp_file_path(), flags, callback.callback()); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
749 rv = callback.WaitForResult(); | 749 rv = callback.WaitForResult(); |
750 EXPECT_LT(0, rv); | 750 EXPECT_LT(0, rv); |
751 if (rv <= 0) | 751 if (rv <= 0) |
752 break; | 752 break; |
753 drainable->DidConsume(rv); | 753 drainable->DidConsume(rv); |
754 total_bytes_written += rv; | 754 total_bytes_written += rv; |
755 } | 755 } |
756 | 756 |
757 stream.reset(); | 757 stream.reset(); |
758 | 758 |
759 ok = file_util::GetFileSize(temp_file_path(), &file_size); | 759 ok = base::GetFileSize(temp_file_path(), &file_size); |
760 EXPECT_TRUE(ok); | 760 EXPECT_TRUE(ok); |
761 EXPECT_EQ(kTestDataSize * 2, file_size); | 761 EXPECT_EQ(kTestDataSize * 2, file_size); |
762 } | 762 } |
763 | 763 |
764 TEST_F(FileStreamTest, BasicAsyncWriteRead) { | 764 TEST_F(FileStreamTest, BasicAsyncWriteRead) { |
765 int64 file_size; | 765 int64 file_size; |
766 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 766 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
767 EXPECT_TRUE(ok); | 767 EXPECT_TRUE(ok); |
768 | 768 |
769 scoped_ptr<FileStream> stream( | 769 scoped_ptr<FileStream> stream( |
770 new FileStream(NULL, base::MessageLoopProxy::current())); | 770 new FileStream(NULL, base::MessageLoopProxy::current())); |
771 int flags = base::PLATFORM_FILE_OPEN | | 771 int flags = base::PLATFORM_FILE_OPEN | |
772 base::PLATFORM_FILE_READ | | 772 base::PLATFORM_FILE_READ | |
773 base::PLATFORM_FILE_WRITE | | 773 base::PLATFORM_FILE_WRITE | |
774 base::PLATFORM_FILE_ASYNC; | 774 base::PLATFORM_FILE_ASYNC; |
775 TestCompletionCallback callback; | 775 TestCompletionCallback callback; |
776 int rv = stream->Open(temp_file_path(), flags, callback.callback()); | 776 int rv = stream->Open(temp_file_path(), flags, callback.callback()); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
819 if (rv == ERR_IO_PENDING) | 819 if (rv == ERR_IO_PENDING) |
820 rv = callback.WaitForResult(); | 820 rv = callback.WaitForResult(); |
821 EXPECT_LE(0, rv); | 821 EXPECT_LE(0, rv); |
822 if (rv <= 0) | 822 if (rv <= 0) |
823 break; | 823 break; |
824 total_bytes_read += rv; | 824 total_bytes_read += rv; |
825 data_read.append(buf->data(), rv); | 825 data_read.append(buf->data(), rv); |
826 } | 826 } |
827 stream.reset(); | 827 stream.reset(); |
828 | 828 |
829 ok = file_util::GetFileSize(temp_file_path(), &file_size); | 829 ok = base::GetFileSize(temp_file_path(), &file_size); |
830 EXPECT_TRUE(ok); | 830 EXPECT_TRUE(ok); |
831 EXPECT_EQ(kTestDataSize * 2, file_size); | 831 EXPECT_EQ(kTestDataSize * 2, file_size); |
832 | 832 |
833 EXPECT_EQ(kTestDataSize * 2, total_bytes_read); | 833 EXPECT_EQ(kTestDataSize * 2, total_bytes_read); |
834 const std::string kExpectedFileData = | 834 const std::string kExpectedFileData = |
835 std::string(kTestData) + std::string(kTestData); | 835 std::string(kTestData) + std::string(kTestData); |
836 EXPECT_EQ(kExpectedFileData, data_read); | 836 EXPECT_EQ(kExpectedFileData, data_read); |
837 } | 837 } |
838 | 838 |
839 class TestWriteReadCompletionCallback { | 839 class TestWriteReadCompletionCallback { |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
923 std::string* data_read_; | 923 std::string* data_read_; |
924 const CompletionCallback callback_; | 924 const CompletionCallback callback_; |
925 scoped_refptr<IOBufferWithSize> test_data_; | 925 scoped_refptr<IOBufferWithSize> test_data_; |
926 scoped_refptr<DrainableIOBuffer> drainable_; | 926 scoped_refptr<DrainableIOBuffer> drainable_; |
927 | 927 |
928 DISALLOW_COPY_AND_ASSIGN(TestWriteReadCompletionCallback); | 928 DISALLOW_COPY_AND_ASSIGN(TestWriteReadCompletionCallback); |
929 }; | 929 }; |
930 | 930 |
931 TEST_F(FileStreamTest, AsyncWriteRead) { | 931 TEST_F(FileStreamTest, AsyncWriteRead) { |
932 int64 file_size; | 932 int64 file_size; |
933 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 933 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
934 EXPECT_TRUE(ok); | 934 EXPECT_TRUE(ok); |
935 | 935 |
936 scoped_ptr<FileStream> stream( | 936 scoped_ptr<FileStream> stream( |
937 new FileStream(NULL, base::MessageLoopProxy::current())); | 937 new FileStream(NULL, base::MessageLoopProxy::current())); |
938 int flags = base::PLATFORM_FILE_OPEN | | 938 int flags = base::PLATFORM_FILE_OPEN | |
939 base::PLATFORM_FILE_READ | | 939 base::PLATFORM_FILE_READ | |
940 base::PLATFORM_FILE_WRITE | | 940 base::PLATFORM_FILE_WRITE | |
941 base::PLATFORM_FILE_ASYNC; | 941 base::PLATFORM_FILE_ASYNC; |
942 TestCompletionCallback open_callback; | 942 TestCompletionCallback open_callback; |
943 int rv = stream->Open(temp_file_path(), flags, open_callback.callback()); | 943 int rv = stream->Open(temp_file_path(), flags, open_callback.callback()); |
(...skipping 14 matching lines...) Expand all Loading... |
958 | 958 |
959 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); | 959 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); |
960 rv = stream->Write(buf.get(), buf->size(), callback.callback()); | 960 rv = stream->Write(buf.get(), buf->size(), callback.callback()); |
961 if (rv == ERR_IO_PENDING) | 961 if (rv == ERR_IO_PENDING) |
962 rv = callback.WaitForResult(); | 962 rv = callback.WaitForResult(); |
963 EXPECT_LT(0, rv); | 963 EXPECT_LT(0, rv); |
964 EXPECT_EQ(kTestDataSize, total_bytes_written); | 964 EXPECT_EQ(kTestDataSize, total_bytes_written); |
965 | 965 |
966 stream.reset(); | 966 stream.reset(); |
967 | 967 |
968 ok = file_util::GetFileSize(temp_file_path(), &file_size); | 968 ok = base::GetFileSize(temp_file_path(), &file_size); |
969 EXPECT_TRUE(ok); | 969 EXPECT_TRUE(ok); |
970 EXPECT_EQ(kTestDataSize * 2, file_size); | 970 EXPECT_EQ(kTestDataSize * 2, file_size); |
971 | 971 |
972 EXPECT_EQ(kTestDataSize * 2, total_bytes_read); | 972 EXPECT_EQ(kTestDataSize * 2, total_bytes_read); |
973 const std::string kExpectedFileData = | 973 const std::string kExpectedFileData = |
974 std::string(kTestData) + std::string(kTestData); | 974 std::string(kTestData) + std::string(kTestData); |
975 EXPECT_EQ(kExpectedFileData, data_read); | 975 EXPECT_EQ(kExpectedFileData, data_read); |
976 } | 976 } |
977 | 977 |
978 class TestWriteCloseCompletionCallback { | 978 class TestWriteCloseCompletionCallback { |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1033 int* total_bytes_written_; | 1033 int* total_bytes_written_; |
1034 const CompletionCallback callback_; | 1034 const CompletionCallback callback_; |
1035 scoped_refptr<IOBufferWithSize> test_data_; | 1035 scoped_refptr<IOBufferWithSize> test_data_; |
1036 scoped_refptr<DrainableIOBuffer> drainable_; | 1036 scoped_refptr<DrainableIOBuffer> drainable_; |
1037 | 1037 |
1038 DISALLOW_COPY_AND_ASSIGN(TestWriteCloseCompletionCallback); | 1038 DISALLOW_COPY_AND_ASSIGN(TestWriteCloseCompletionCallback); |
1039 }; | 1039 }; |
1040 | 1040 |
1041 TEST_F(FileStreamTest, AsyncWriteClose) { | 1041 TEST_F(FileStreamTest, AsyncWriteClose) { |
1042 int64 file_size; | 1042 int64 file_size; |
1043 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); | 1043 bool ok = base::GetFileSize(temp_file_path(), &file_size); |
1044 EXPECT_TRUE(ok); | 1044 EXPECT_TRUE(ok); |
1045 | 1045 |
1046 scoped_ptr<FileStream> stream( | 1046 scoped_ptr<FileStream> stream( |
1047 new FileStream(NULL, base::MessageLoopProxy::current())); | 1047 new FileStream(NULL, base::MessageLoopProxy::current())); |
1048 int flags = base::PLATFORM_FILE_OPEN | | 1048 int flags = base::PLATFORM_FILE_OPEN | |
1049 base::PLATFORM_FILE_READ | | 1049 base::PLATFORM_FILE_READ | |
1050 base::PLATFORM_FILE_WRITE | | 1050 base::PLATFORM_FILE_WRITE | |
1051 base::PLATFORM_FILE_ASYNC; | 1051 base::PLATFORM_FILE_ASYNC; |
1052 TestCompletionCallback open_callback; | 1052 TestCompletionCallback open_callback; |
1053 int rv = stream->Open(temp_file_path(), flags, open_callback.callback()); | 1053 int rv = stream->Open(temp_file_path(), flags, open_callback.callback()); |
(...skipping 11 matching lines...) Expand all Loading... |
1065 | 1065 |
1066 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); | 1066 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); |
1067 rv = stream->Write(buf.get(), buf->size(), callback.callback()); | 1067 rv = stream->Write(buf.get(), buf->size(), callback.callback()); |
1068 if (rv == ERR_IO_PENDING) | 1068 if (rv == ERR_IO_PENDING) |
1069 total_bytes_written = callback.WaitForResult(); | 1069 total_bytes_written = callback.WaitForResult(); |
1070 EXPECT_LT(0, total_bytes_written); | 1070 EXPECT_LT(0, total_bytes_written); |
1071 EXPECT_EQ(kTestDataSize, total_bytes_written); | 1071 EXPECT_EQ(kTestDataSize, total_bytes_written); |
1072 | 1072 |
1073 stream.reset(); | 1073 stream.reset(); |
1074 | 1074 |
1075 ok = file_util::GetFileSize(temp_file_path(), &file_size); | 1075 ok = base::GetFileSize(temp_file_path(), &file_size); |
1076 EXPECT_TRUE(ok); | 1076 EXPECT_TRUE(ok); |
1077 EXPECT_EQ(kTestDataSize * 2, file_size); | 1077 EXPECT_EQ(kTestDataSize * 2, file_size); |
1078 } | 1078 } |
1079 | 1079 |
1080 // Tests truncating a file. | 1080 // Tests truncating a file. |
1081 TEST_F(FileStreamTest, Truncate) { | 1081 TEST_F(FileStreamTest, Truncate) { |
1082 int flags = base::PLATFORM_FILE_CREATE_ALWAYS | base::PLATFORM_FILE_WRITE; | 1082 int flags = base::PLATFORM_FILE_CREATE_ALWAYS | base::PLATFORM_FILE_WRITE; |
1083 | 1083 |
1084 scoped_ptr<FileStream> write_stream( | 1084 scoped_ptr<FileStream> write_stream( |
1085 new FileStream(NULL, base::MessageLoopProxy::current())); | 1085 new FileStream(NULL, base::MessageLoopProxy::current())); |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1186 test_dir = test_dir.AppendASCII("file_stream_unittest"); | 1186 test_dir = test_dir.AppendASCII("file_stream_unittest"); |
1187 ASSERT_TRUE(base::PathExists(test_dir)); | 1187 ASSERT_TRUE(base::PathExists(test_dir)); |
1188 base::FilePath image_file = test_dir.Append(FILE_PATH_LITERAL("red.png")); | 1188 base::FilePath image_file = test_dir.Append(FILE_PATH_LITERAL("red.png")); |
1189 | 1189 |
1190 // Insert the image into MediaStore. MediaStore will do some conversions, and | 1190 // Insert the image into MediaStore. MediaStore will do some conversions, and |
1191 // return the content URI. | 1191 // return the content URI. |
1192 base::FilePath path = file_util::InsertImageIntoMediaStore(image_file); | 1192 base::FilePath path = file_util::InsertImageIntoMediaStore(image_file); |
1193 EXPECT_TRUE(path.IsContentUri()); | 1193 EXPECT_TRUE(path.IsContentUri()); |
1194 EXPECT_TRUE(base::PathExists(path)); | 1194 EXPECT_TRUE(base::PathExists(path)); |
1195 int64 file_size; | 1195 int64 file_size; |
1196 EXPECT_TRUE(file_util::GetFileSize(path, &file_size)); | 1196 EXPECT_TRUE(base::GetFileSize(path, &file_size)); |
1197 EXPECT_LT(0, file_size); | 1197 EXPECT_LT(0, file_size); |
1198 | 1198 |
1199 FileStream stream(NULL, base::MessageLoopProxy::current()); | 1199 FileStream stream(NULL, base::MessageLoopProxy::current()); |
1200 int flags = base::PLATFORM_FILE_OPEN | | 1200 int flags = base::PLATFORM_FILE_OPEN | |
1201 base::PLATFORM_FILE_READ | | 1201 base::PLATFORM_FILE_READ | |
1202 base::PLATFORM_FILE_ASYNC; | 1202 base::PLATFORM_FILE_ASYNC; |
1203 TestCompletionCallback callback; | 1203 TestCompletionCallback callback; |
1204 int rv = stream.Open(path, flags, callback.callback()); | 1204 int rv = stream.Open(path, flags, callback.callback()); |
1205 EXPECT_EQ(ERR_IO_PENDING, rv); | 1205 EXPECT_EQ(ERR_IO_PENDING, rv); |
1206 EXPECT_EQ(OK, callback.WaitForResult()); | 1206 EXPECT_EQ(OK, callback.WaitForResult()); |
(...skipping 15 matching lines...) Expand all Loading... |
1222 total_bytes_read += rv; | 1222 total_bytes_read += rv; |
1223 data_read.append(buf->data(), rv); | 1223 data_read.append(buf->data(), rv); |
1224 } | 1224 } |
1225 EXPECT_EQ(file_size, total_bytes_read); | 1225 EXPECT_EQ(file_size, total_bytes_read); |
1226 } | 1226 } |
1227 #endif | 1227 #endif |
1228 | 1228 |
1229 } // namespace | 1229 } // namespace |
1230 | 1230 |
1231 } // namespace net | 1231 } // namespace net |
OLD | NEW |