| 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/upload_data_stream.h" | 5 #include "net/base/upload_data_stream.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 ASSERT_TRUE(stream.IsEOF()); | 163 ASSERT_TRUE(stream.IsEOF()); |
| 164 } | 164 } |
| 165 | 165 |
| 166 TEST_F(UploadDataStreamTest, File) { | 166 TEST_F(UploadDataStreamTest, File) { |
| 167 base::FilePath temp_file_path; | 167 base::FilePath temp_file_path; |
| 168 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), | 168 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), |
| 169 &temp_file_path)); | 169 &temp_file_path)); |
| 170 ASSERT_EQ(static_cast<int>(kTestDataSize), | 170 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 171 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 171 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 172 | 172 |
| 173 element_readers_.push_back(new UploadFileElementReader( | 173 element_readers_.push_back( |
| 174 base::MessageLoopProxy::current(), | 174 new UploadFileElementReader(base::MessageLoopProxy::current().get(), |
| 175 temp_file_path, 0, kuint64max, base::Time())); | 175 temp_file_path, |
| 176 0, |
| 177 kuint64max, |
| 178 base::Time())); |
| 176 | 179 |
| 177 TestCompletionCallback init_callback; | 180 TestCompletionCallback init_callback; |
| 178 UploadDataStream stream(&element_readers_, 0); | 181 UploadDataStream stream(&element_readers_, 0); |
| 179 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback())); | 182 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback())); |
| 180 ASSERT_EQ(OK, init_callback.WaitForResult()); | 183 ASSERT_EQ(OK, init_callback.WaitForResult()); |
| 181 EXPECT_FALSE(stream.IsInMemory()); | 184 EXPECT_FALSE(stream.IsInMemory()); |
| 182 EXPECT_EQ(kTestDataSize, stream.size()); | 185 EXPECT_EQ(kTestDataSize, stream.size()); |
| 183 EXPECT_EQ(0U, stream.position()); | 186 EXPECT_EQ(0U, stream.position()); |
| 184 EXPECT_FALSE(stream.IsEOF()); | 187 EXPECT_FALSE(stream.IsEOF()); |
| 185 scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize); | 188 scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 198 base::FilePath temp_file_path; | 201 base::FilePath temp_file_path; |
| 199 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), | 202 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), |
| 200 &temp_file_path)); | 203 &temp_file_path)); |
| 201 ASSERT_EQ(static_cast<int>(kTestDataSize), | 204 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 202 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 205 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 203 const uint64 kFakeSize = kTestDataSize*2; | 206 const uint64 kFakeSize = kTestDataSize*2; |
| 204 | 207 |
| 205 UploadFileElementReader::ScopedOverridingContentLengthForTests | 208 UploadFileElementReader::ScopedOverridingContentLengthForTests |
| 206 overriding_content_length(kFakeSize); | 209 overriding_content_length(kFakeSize); |
| 207 | 210 |
| 208 element_readers_.push_back(new UploadFileElementReader( | 211 element_readers_.push_back( |
| 209 base::MessageLoopProxy::current(), | 212 new UploadFileElementReader(base::MessageLoopProxy::current().get(), |
| 210 temp_file_path, 0, kuint64max, base::Time())); | 213 temp_file_path, |
| 214 0, |
| 215 kuint64max, |
| 216 base::Time())); |
| 211 | 217 |
| 212 TestCompletionCallback init_callback; | 218 TestCompletionCallback init_callback; |
| 213 UploadDataStream stream(&element_readers_, 0); | 219 UploadDataStream stream(&element_readers_, 0); |
| 214 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback())); | 220 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback())); |
| 215 ASSERT_EQ(OK, init_callback.WaitForResult()); | 221 ASSERT_EQ(OK, init_callback.WaitForResult()); |
| 216 EXPECT_FALSE(stream.IsInMemory()); | 222 EXPECT_FALSE(stream.IsInMemory()); |
| 217 EXPECT_EQ(kFakeSize, stream.size()); | 223 EXPECT_EQ(kFakeSize, stream.size()); |
| 218 EXPECT_EQ(0U, stream.position()); | 224 EXPECT_EQ(0U, stream.position()); |
| 219 EXPECT_FALSE(stream.IsEOF()); | 225 EXPECT_FALSE(stream.IsEOF()); |
| 220 uint64 read_counter = 0; | 226 uint64 read_counter = 0; |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 311 | 317 |
| 312 TEST_F(UploadDataStreamTest, FileAndBytes) { | 318 TEST_F(UploadDataStreamTest, FileAndBytes) { |
| 313 base::FilePath temp_file_path; | 319 base::FilePath temp_file_path; |
| 314 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), | 320 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), |
| 315 &temp_file_path)); | 321 &temp_file_path)); |
| 316 ASSERT_EQ(static_cast<int>(kTestDataSize), | 322 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 317 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 323 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 318 | 324 |
| 319 const uint64 kFileRangeOffset = 1; | 325 const uint64 kFileRangeOffset = 1; |
| 320 const uint64 kFileRangeLength = 4; | 326 const uint64 kFileRangeLength = 4; |
| 321 element_readers_.push_back(new UploadFileElementReader( | 327 element_readers_.push_back( |
| 322 base::MessageLoopProxy::current(), | 328 new UploadFileElementReader(base::MessageLoopProxy::current().get(), |
| 323 temp_file_path, kFileRangeOffset, kFileRangeLength, base::Time())); | 329 temp_file_path, |
| 330 kFileRangeOffset, |
| 331 kFileRangeLength, |
| 332 base::Time())); |
| 324 | 333 |
| 325 element_readers_.push_back(new UploadBytesElementReader( | 334 element_readers_.push_back(new UploadBytesElementReader( |
| 326 kTestData, kTestDataSize)); | 335 kTestData, kTestDataSize)); |
| 327 | 336 |
| 328 const uint64 kStreamSize = kTestDataSize + kFileRangeLength; | 337 const uint64 kStreamSize = kTestDataSize + kFileRangeLength; |
| 329 TestCompletionCallback init_callback; | 338 TestCompletionCallback init_callback; |
| 330 UploadDataStream stream(&element_readers_, 0); | 339 UploadDataStream stream(&element_readers_, 0); |
| 331 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback())); | 340 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback())); |
| 332 ASSERT_EQ(OK, init_callback.WaitForResult()); | 341 ASSERT_EQ(OK, init_callback.WaitForResult()); |
| 333 EXPECT_FALSE(stream.IsInMemory()); | 342 EXPECT_FALSE(stream.IsInMemory()); |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 513 read_callback3.WaitForResult()); | 522 read_callback3.WaitForResult()); |
| 514 } | 523 } |
| 515 | 524 |
| 516 void UploadDataStreamTest::FileChangedHelper(const base::FilePath& file_path, | 525 void UploadDataStreamTest::FileChangedHelper(const base::FilePath& file_path, |
| 517 const base::Time& time, | 526 const base::Time& time, |
| 518 bool error_expected) { | 527 bool error_expected) { |
| 519 // Don't use element_readers_ here, as this function is called twice, and | 528 // Don't use element_readers_ here, as this function is called twice, and |
| 520 // reusing element_readers_ is wrong. | 529 // reusing element_readers_ is wrong. |
| 521 ScopedVector<UploadElementReader> element_readers; | 530 ScopedVector<UploadElementReader> element_readers; |
| 522 element_readers.push_back(new UploadFileElementReader( | 531 element_readers.push_back(new UploadFileElementReader( |
| 523 base::MessageLoopProxy::current(), file_path, 1, 2, time)); | 532 base::MessageLoopProxy::current().get(), file_path, 1, 2, time)); |
| 524 | 533 |
| 525 TestCompletionCallback init_callback; | 534 TestCompletionCallback init_callback; |
| 526 UploadDataStream stream(&element_readers, 0); | 535 UploadDataStream stream(&element_readers, 0); |
| 527 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback())); | 536 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback())); |
| 528 int error_code = init_callback.WaitForResult(); | 537 int error_code = init_callback.WaitForResult(); |
| 529 if (error_expected) | 538 if (error_expected) |
| 530 ASSERT_EQ(ERR_UPLOAD_FILE_CHANGED, error_code); | 539 ASSERT_EQ(ERR_UPLOAD_FILE_CHANGED, error_code); |
| 531 else | 540 else |
| 532 ASSERT_EQ(OK, error_code); | 541 ASSERT_EQ(OK, error_code); |
| 533 } | 542 } |
| (...skipping 20 matching lines...) Expand all Loading... |
| 554 TEST_F(UploadDataStreamTest, MultipleInit) { | 563 TEST_F(UploadDataStreamTest, MultipleInit) { |
| 555 base::FilePath temp_file_path; | 564 base::FilePath temp_file_path; |
| 556 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), | 565 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), |
| 557 &temp_file_path)); | 566 &temp_file_path)); |
| 558 ASSERT_EQ(static_cast<int>(kTestDataSize), | 567 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 559 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 568 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 560 | 569 |
| 561 // Prepare data. | 570 // Prepare data. |
| 562 element_readers_.push_back(new UploadBytesElementReader( | 571 element_readers_.push_back(new UploadBytesElementReader( |
| 563 kTestData, kTestDataSize)); | 572 kTestData, kTestDataSize)); |
| 564 element_readers_.push_back(new UploadFileElementReader( | 573 element_readers_.push_back( |
| 565 base::MessageLoopProxy::current(), | 574 new UploadFileElementReader(base::MessageLoopProxy::current().get(), |
| 566 temp_file_path, 0, kuint64max, base::Time())); | 575 temp_file_path, |
| 576 0, |
| 577 kuint64max, |
| 578 base::Time())); |
| 567 UploadDataStream stream(&element_readers_, 0); | 579 UploadDataStream stream(&element_readers_, 0); |
| 568 | 580 |
| 569 std::string expected_data(kTestData, kTestData + kTestDataSize); | 581 std::string expected_data(kTestData, kTestData + kTestDataSize); |
| 570 expected_data += expected_data; | 582 expected_data += expected_data; |
| 571 | 583 |
| 572 // Call Init(). | 584 // Call Init(). |
| 573 TestCompletionCallback init_callback1; | 585 TestCompletionCallback init_callback1; |
| 574 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback())); | 586 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback())); |
| 575 ASSERT_EQ(OK, init_callback1.WaitForResult()); | 587 ASSERT_EQ(OK, init_callback1.WaitForResult()); |
| 576 EXPECT_FALSE(stream.IsEOF()); | 588 EXPECT_FALSE(stream.IsEOF()); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 596 base::FilePath temp_file_path; | 608 base::FilePath temp_file_path; |
| 597 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), | 609 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), |
| 598 &temp_file_path)); | 610 &temp_file_path)); |
| 599 ASSERT_EQ(static_cast<int>(kTestDataSize), | 611 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 600 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 612 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 601 TestCompletionCallback test_callback; | 613 TestCompletionCallback test_callback; |
| 602 | 614 |
| 603 // Prepare data. | 615 // Prepare data. |
| 604 element_readers_.push_back(new UploadBytesElementReader( | 616 element_readers_.push_back(new UploadBytesElementReader( |
| 605 kTestData, kTestDataSize)); | 617 kTestData, kTestDataSize)); |
| 606 element_readers_.push_back(new UploadFileElementReader( | 618 element_readers_.push_back( |
| 607 base::MessageLoopProxy::current(), | 619 new UploadFileElementReader(base::MessageLoopProxy::current().get(), |
| 608 temp_file_path, 0, kuint64max, base::Time())); | 620 temp_file_path, |
| 621 0, |
| 622 kuint64max, |
| 623 base::Time())); |
| 609 UploadDataStream stream(&element_readers_, 0); | 624 UploadDataStream stream(&element_readers_, 0); |
| 610 | 625 |
| 611 std::string expected_data(kTestData, kTestData + kTestDataSize); | 626 std::string expected_data(kTestData, kTestData + kTestDataSize); |
| 612 expected_data += expected_data; | 627 expected_data += expected_data; |
| 613 | 628 |
| 614 // Call Init(). | 629 // Call Init(). |
| 615 ASSERT_EQ(ERR_IO_PENDING, stream.Init(test_callback.callback())); | 630 ASSERT_EQ(ERR_IO_PENDING, stream.Init(test_callback.callback())); |
| 616 EXPECT_EQ(OK, test_callback.WaitForResult()); | 631 EXPECT_EQ(OK, test_callback.WaitForResult()); |
| 617 EXPECT_FALSE(stream.IsEOF()); | 632 EXPECT_FALSE(stream.IsEOF()); |
| 618 EXPECT_EQ(kTestDataSize*2, stream.size()); | 633 EXPECT_EQ(kTestDataSize*2, stream.size()); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 635 TEST_F(UploadDataStreamTest, InitToReset) { | 650 TEST_F(UploadDataStreamTest, InitToReset) { |
| 636 base::FilePath temp_file_path; | 651 base::FilePath temp_file_path; |
| 637 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), | 652 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), |
| 638 &temp_file_path)); | 653 &temp_file_path)); |
| 639 ASSERT_EQ(static_cast<int>(kTestDataSize), | 654 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 640 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 655 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 641 | 656 |
| 642 // Prepare data. | 657 // Prepare data. |
| 643 element_readers_.push_back(new UploadBytesElementReader( | 658 element_readers_.push_back(new UploadBytesElementReader( |
| 644 kTestData, kTestDataSize)); | 659 kTestData, kTestDataSize)); |
| 645 element_readers_.push_back(new UploadFileElementReader( | 660 element_readers_.push_back( |
| 646 base::MessageLoopProxy::current(), | 661 new UploadFileElementReader(base::MessageLoopProxy::current().get(), |
| 647 temp_file_path, 0, kuint64max, base::Time())); | 662 temp_file_path, |
| 663 0, |
| 664 kuint64max, |
| 665 base::Time())); |
| 648 UploadDataStream stream(&element_readers_, 0); | 666 UploadDataStream stream(&element_readers_, 0); |
| 649 | 667 |
| 650 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); | 668 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); |
| 651 expected_data.insert(expected_data.end(), expected_data.begin(), | 669 expected_data.insert(expected_data.end(), expected_data.begin(), |
| 652 expected_data.begin() + kTestDataSize); | 670 expected_data.begin() + kTestDataSize); |
| 653 | 671 |
| 654 // Call Init(). | 672 // Call Init(). |
| 655 TestCompletionCallback init_callback1; | 673 TestCompletionCallback init_callback1; |
| 656 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback())); | 674 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback())); |
| 657 EXPECT_EQ(OK, init_callback1.WaitForResult()); | 675 EXPECT_EQ(OK, init_callback1.WaitForResult()); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 689 TEST_F(UploadDataStreamTest, InitDuringAsyncInit) { | 707 TEST_F(UploadDataStreamTest, InitDuringAsyncInit) { |
| 690 base::FilePath temp_file_path; | 708 base::FilePath temp_file_path; |
| 691 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), | 709 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), |
| 692 &temp_file_path)); | 710 &temp_file_path)); |
| 693 ASSERT_EQ(static_cast<int>(kTestDataSize), | 711 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 694 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 712 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 695 | 713 |
| 696 // Prepare data. | 714 // Prepare data. |
| 697 element_readers_.push_back(new UploadBytesElementReader( | 715 element_readers_.push_back(new UploadBytesElementReader( |
| 698 kTestData, kTestDataSize)); | 716 kTestData, kTestDataSize)); |
| 699 element_readers_.push_back(new UploadFileElementReader( | 717 element_readers_.push_back( |
| 700 base::MessageLoopProxy::current(), | 718 new UploadFileElementReader(base::MessageLoopProxy::current().get(), |
| 701 temp_file_path, 0, kuint64max, base::Time())); | 719 temp_file_path, |
| 720 0, |
| 721 kuint64max, |
| 722 base::Time())); |
| 702 UploadDataStream stream(&element_readers_, 0); | 723 UploadDataStream stream(&element_readers_, 0); |
| 703 | 724 |
| 704 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); | 725 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); |
| 705 expected_data.insert(expected_data.end(), expected_data.begin(), | 726 expected_data.insert(expected_data.end(), expected_data.begin(), |
| 706 expected_data.begin() + kTestDataSize); | 727 expected_data.begin() + kTestDataSize); |
| 707 | 728 |
| 708 // Start Init. | 729 // Start Init. |
| 709 TestCompletionCallback init_callback1; | 730 TestCompletionCallback init_callback1; |
| 710 EXPECT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback())); | 731 EXPECT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback())); |
| 711 | 732 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 734 TEST_F(UploadDataStreamTest, InitDuringAsyncRead) { | 755 TEST_F(UploadDataStreamTest, InitDuringAsyncRead) { |
| 735 base::FilePath temp_file_path; | 756 base::FilePath temp_file_path; |
| 736 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), | 757 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), |
| 737 &temp_file_path)); | 758 &temp_file_path)); |
| 738 ASSERT_EQ(static_cast<int>(kTestDataSize), | 759 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 739 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 760 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 740 | 761 |
| 741 // Prepare data. | 762 // Prepare data. |
| 742 element_readers_.push_back(new UploadBytesElementReader( | 763 element_readers_.push_back(new UploadBytesElementReader( |
| 743 kTestData, kTestDataSize)); | 764 kTestData, kTestDataSize)); |
| 744 element_readers_.push_back(new UploadFileElementReader( | 765 element_readers_.push_back( |
| 745 base::MessageLoopProxy::current(), | 766 new UploadFileElementReader(base::MessageLoopProxy::current().get(), |
| 746 temp_file_path, 0, kuint64max, base::Time())); | 767 temp_file_path, |
| 768 0, |
| 769 kuint64max, |
| 770 base::Time())); |
| 747 UploadDataStream stream(&element_readers_, 0); | 771 UploadDataStream stream(&element_readers_, 0); |
| 748 | 772 |
| 749 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); | 773 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); |
| 750 expected_data.insert(expected_data.end(), expected_data.begin(), | 774 expected_data.insert(expected_data.end(), expected_data.begin(), |
| 751 expected_data.begin() + kTestDataSize); | 775 expected_data.begin() + kTestDataSize); |
| 752 | 776 |
| 753 // Call Init(). | 777 // Call Init(). |
| 754 TestCompletionCallback init_callback1; | 778 TestCompletionCallback init_callback1; |
| 755 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback())); | 779 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback())); |
| 756 EXPECT_EQ(OK, init_callback1.WaitForResult()); | 780 EXPECT_EQ(OK, init_callback1.WaitForResult()); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 781 wrapped_buffer2.get(), buf2.size(), read_callback2.callback())); | 805 wrapped_buffer2.get(), buf2.size(), read_callback2.callback())); |
| 782 EXPECT_EQ(static_cast<int>(buf2.size()), read_callback2.WaitForResult()); | 806 EXPECT_EQ(static_cast<int>(buf2.size()), read_callback2.WaitForResult()); |
| 783 EXPECT_EQ(expected_data, buf2); | 807 EXPECT_EQ(expected_data, buf2); |
| 784 EXPECT_TRUE(stream.IsEOF()); | 808 EXPECT_TRUE(stream.IsEOF()); |
| 785 | 809 |
| 786 // Make sure callbacks are not called for cancelled operations. | 810 // Make sure callbacks are not called for cancelled operations. |
| 787 EXPECT_FALSE(read_callback1.have_result()); | 811 EXPECT_FALSE(read_callback1.have_result()); |
| 788 } | 812 } |
| 789 | 813 |
| 790 } // namespace net | 814 } // namespace net |
| OLD | NEW |