| 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/elements_upload_data_stream.h" | 5 #include "net/base/elements_upload_data_stream.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <limits> | 10 #include <limits> |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 new ElementsUploadDataStream(std::move(element_readers_), 0)); | 156 new ElementsUploadDataStream(std::move(element_readers_), 0)); |
| 157 ASSERT_THAT(stream->Init(CompletionCallback(), BoundNetLog()), IsOk()); | 157 ASSERT_THAT(stream->Init(CompletionCallback(), BoundNetLog()), IsOk()); |
| 158 EXPECT_TRUE(stream->IsInMemory()); | 158 EXPECT_TRUE(stream->IsInMemory()); |
| 159 EXPECT_EQ(0U, stream->size()); | 159 EXPECT_EQ(0U, stream->size()); |
| 160 EXPECT_EQ(0U, stream->position()); | 160 EXPECT_EQ(0U, stream->position()); |
| 161 EXPECT_TRUE(stream->IsEOF()); | 161 EXPECT_TRUE(stream->IsEOF()); |
| 162 } | 162 } |
| 163 | 163 |
| 164 TEST_F(ElementsUploadDataStreamTest, ConsumeAllBytes) { | 164 TEST_F(ElementsUploadDataStreamTest, ConsumeAllBytes) { |
| 165 element_readers_.push_back( | 165 element_readers_.push_back( |
| 166 base::WrapUnique(new UploadBytesElementReader(kTestData, kTestDataSize))); | 166 base::MakeUnique<UploadBytesElementReader>(kTestData, kTestDataSize)); |
| 167 std::unique_ptr<UploadDataStream> stream( | 167 std::unique_ptr<UploadDataStream> stream( |
| 168 new ElementsUploadDataStream(std::move(element_readers_), 0)); | 168 new ElementsUploadDataStream(std::move(element_readers_), 0)); |
| 169 ASSERT_THAT(stream->Init(CompletionCallback(), BoundNetLog()), IsOk()); | 169 ASSERT_THAT(stream->Init(CompletionCallback(), BoundNetLog()), IsOk()); |
| 170 EXPECT_TRUE(stream->IsInMemory()); | 170 EXPECT_TRUE(stream->IsInMemory()); |
| 171 EXPECT_EQ(kTestDataSize, stream->size()); | 171 EXPECT_EQ(kTestDataSize, stream->size()); |
| 172 EXPECT_EQ(0U, stream->position()); | 172 EXPECT_EQ(0U, stream->position()); |
| 173 EXPECT_FALSE(stream->IsEOF()); | 173 EXPECT_FALSE(stream->IsEOF()); |
| 174 scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize); | 174 scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize); |
| 175 while (!stream->IsEOF()) { | 175 while (!stream->IsEOF()) { |
| 176 int bytes_read = | 176 int bytes_read = |
| 177 stream->Read(buf.get(), kTestBufferSize, CompletionCallback()); | 177 stream->Read(buf.get(), kTestBufferSize, CompletionCallback()); |
| 178 ASSERT_LE(0, bytes_read); // Not an error. | 178 ASSERT_LE(0, bytes_read); // Not an error. |
| 179 } | 179 } |
| 180 EXPECT_EQ(kTestDataSize, stream->position()); | 180 EXPECT_EQ(kTestDataSize, stream->position()); |
| 181 ASSERT_TRUE(stream->IsEOF()); | 181 ASSERT_TRUE(stream->IsEOF()); |
| 182 } | 182 } |
| 183 | 183 |
| 184 TEST_F(ElementsUploadDataStreamTest, File) { | 184 TEST_F(ElementsUploadDataStreamTest, File) { |
| 185 base::FilePath temp_file_path; | 185 base::FilePath temp_file_path; |
| 186 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), | 186 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), |
| 187 &temp_file_path)); | 187 &temp_file_path)); |
| 188 ASSERT_EQ(static_cast<int>(kTestDataSize), | 188 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 189 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 189 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 190 | 190 |
| 191 element_readers_.push_back(base::WrapUnique(new UploadFileElementReader( | 191 element_readers_.push_back(base::MakeUnique<UploadFileElementReader>( |
| 192 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, | 192 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, |
| 193 std::numeric_limits<uint64_t>::max(), base::Time()))); | 193 std::numeric_limits<uint64_t>::max(), base::Time())); |
| 194 | 194 |
| 195 TestCompletionCallback init_callback; | 195 TestCompletionCallback init_callback; |
| 196 std::unique_ptr<UploadDataStream> stream( | 196 std::unique_ptr<UploadDataStream> stream( |
| 197 new ElementsUploadDataStream(std::move(element_readers_), 0)); | 197 new ElementsUploadDataStream(std::move(element_readers_), 0)); |
| 198 ASSERT_THAT(stream->Init(init_callback.callback(), BoundNetLog()), | 198 ASSERT_THAT(stream->Init(init_callback.callback(), BoundNetLog()), |
| 199 IsError(ERR_IO_PENDING)); | 199 IsError(ERR_IO_PENDING)); |
| 200 ASSERT_THAT(init_callback.WaitForResult(), IsOk()); | 200 ASSERT_THAT(init_callback.WaitForResult(), IsOk()); |
| 201 EXPECT_FALSE(stream->IsInMemory()); | 201 EXPECT_FALSE(stream->IsInMemory()); |
| 202 EXPECT_EQ(kTestDataSize, stream->size()); | 202 EXPECT_EQ(kTestDataSize, stream->size()); |
| 203 EXPECT_EQ(0U, stream->position()); | 203 EXPECT_EQ(0U, stream->position()); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 218 base::FilePath temp_file_path; | 218 base::FilePath temp_file_path; |
| 219 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), | 219 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), |
| 220 &temp_file_path)); | 220 &temp_file_path)); |
| 221 ASSERT_EQ(static_cast<int>(kTestDataSize), | 221 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 222 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 222 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 223 const uint64_t kFakeSize = kTestDataSize * 2; | 223 const uint64_t kFakeSize = kTestDataSize * 2; |
| 224 | 224 |
| 225 UploadFileElementReader::ScopedOverridingContentLengthForTests | 225 UploadFileElementReader::ScopedOverridingContentLengthForTests |
| 226 overriding_content_length(kFakeSize); | 226 overriding_content_length(kFakeSize); |
| 227 | 227 |
| 228 element_readers_.push_back(base::WrapUnique(new UploadFileElementReader( | 228 element_readers_.push_back(base::MakeUnique<UploadFileElementReader>( |
| 229 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, | 229 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, |
| 230 std::numeric_limits<uint64_t>::max(), base::Time()))); | 230 std::numeric_limits<uint64_t>::max(), base::Time())); |
| 231 | 231 |
| 232 TestCompletionCallback init_callback; | 232 TestCompletionCallback init_callback; |
| 233 std::unique_ptr<UploadDataStream> stream( | 233 std::unique_ptr<UploadDataStream> stream( |
| 234 new ElementsUploadDataStream(std::move(element_readers_), 0)); | 234 new ElementsUploadDataStream(std::move(element_readers_), 0)); |
| 235 ASSERT_THAT(stream->Init(init_callback.callback(), BoundNetLog()), | 235 ASSERT_THAT(stream->Init(init_callback.callback(), BoundNetLog()), |
| 236 IsError(ERR_IO_PENDING)); | 236 IsError(ERR_IO_PENDING)); |
| 237 ASSERT_THAT(init_callback.WaitForResult(), IsOk()); | 237 ASSERT_THAT(init_callback.WaitForResult(), IsOk()); |
| 238 EXPECT_FALSE(stream->IsInMemory()); | 238 EXPECT_FALSE(stream->IsInMemory()); |
| 239 EXPECT_EQ(kFakeSize, stream->size()); | 239 EXPECT_EQ(kFakeSize, stream->size()); |
| 240 EXPECT_EQ(0U, stream->position()); | 240 EXPECT_EQ(0U, stream->position()); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 261 TEST_F(ElementsUploadDataStreamTest, ReadErrorSync) { | 261 TEST_F(ElementsUploadDataStreamTest, ReadErrorSync) { |
| 262 // This element cannot be read. | 262 // This element cannot be read. |
| 263 std::unique_ptr<MockUploadElementReader> reader( | 263 std::unique_ptr<MockUploadElementReader> reader( |
| 264 new MockUploadElementReader(kTestDataSize, true)); | 264 new MockUploadElementReader(kTestDataSize, true)); |
| 265 EXPECT_CALL(*reader, Init(_)).WillOnce(Return(OK)); | 265 EXPECT_CALL(*reader, Init(_)).WillOnce(Return(OK)); |
| 266 reader->SetReadExpectation(ERR_FAILED); | 266 reader->SetReadExpectation(ERR_FAILED); |
| 267 element_readers_.push_back(std::move(reader)); | 267 element_readers_.push_back(std::move(reader)); |
| 268 | 268 |
| 269 // This element is ignored because of the error from the previous reader. | 269 // This element is ignored because of the error from the previous reader. |
| 270 element_readers_.push_back( | 270 element_readers_.push_back( |
| 271 base::WrapUnique(new UploadBytesElementReader(kTestData, kTestDataSize))); | 271 base::MakeUnique<UploadBytesElementReader>(kTestData, kTestDataSize)); |
| 272 | 272 |
| 273 std::unique_ptr<UploadDataStream> stream( | 273 std::unique_ptr<UploadDataStream> stream( |
| 274 new ElementsUploadDataStream(std::move(element_readers_), 0)); | 274 new ElementsUploadDataStream(std::move(element_readers_), 0)); |
| 275 | 275 |
| 276 // Run Init(). | 276 // Run Init(). |
| 277 ASSERT_THAT(stream->Init(CompletionCallback(), BoundNetLog()), IsOk()); | 277 ASSERT_THAT(stream->Init(CompletionCallback(), BoundNetLog()), IsOk()); |
| 278 EXPECT_EQ(kTestDataSize*2, stream->size()); | 278 EXPECT_EQ(kTestDataSize*2, stream->size()); |
| 279 EXPECT_EQ(0U, stream->position()); | 279 EXPECT_EQ(0U, stream->position()); |
| 280 EXPECT_FALSE(stream->IsEOF()); | 280 EXPECT_FALSE(stream->IsEOF()); |
| 281 | 281 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 296 TEST_F(ElementsUploadDataStreamTest, ReadErrorAsync) { | 296 TEST_F(ElementsUploadDataStreamTest, ReadErrorAsync) { |
| 297 // This element cannot be read. | 297 // This element cannot be read. |
| 298 std::unique_ptr<MockUploadElementReader> reader( | 298 std::unique_ptr<MockUploadElementReader> reader( |
| 299 new MockUploadElementReader(kTestDataSize, false)); | 299 new MockUploadElementReader(kTestDataSize, false)); |
| 300 reader->SetAsyncInitExpectation(OK); | 300 reader->SetAsyncInitExpectation(OK); |
| 301 reader->SetReadExpectation(ERR_FAILED); | 301 reader->SetReadExpectation(ERR_FAILED); |
| 302 element_readers_.push_back(std::move(reader)); | 302 element_readers_.push_back(std::move(reader)); |
| 303 | 303 |
| 304 // This element is ignored because of the error from the previous reader. | 304 // This element is ignored because of the error from the previous reader. |
| 305 element_readers_.push_back( | 305 element_readers_.push_back( |
| 306 base::WrapUnique(new UploadBytesElementReader(kTestData, kTestDataSize))); | 306 base::MakeUnique<UploadBytesElementReader>(kTestData, kTestDataSize)); |
| 307 | 307 |
| 308 std::unique_ptr<UploadDataStream> stream( | 308 std::unique_ptr<UploadDataStream> stream( |
| 309 new ElementsUploadDataStream(std::move(element_readers_), 0)); | 309 new ElementsUploadDataStream(std::move(element_readers_), 0)); |
| 310 | 310 |
| 311 // Run Init(). | 311 // Run Init(). |
| 312 TestCompletionCallback init_callback; | 312 TestCompletionCallback init_callback; |
| 313 ASSERT_THAT(stream->Init(init_callback.callback(), BoundNetLog()), | 313 ASSERT_THAT(stream->Init(init_callback.callback(), BoundNetLog()), |
| 314 IsError(ERR_IO_PENDING)); | 314 IsError(ERR_IO_PENDING)); |
| 315 EXPECT_THAT(init_callback.WaitForResult(), IsOk()); | 315 EXPECT_THAT(init_callback.WaitForResult(), IsOk()); |
| 316 EXPECT_EQ(kTestDataSize*2, stream->size()); | 316 EXPECT_EQ(kTestDataSize*2, stream->size()); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 335 | 335 |
| 336 TEST_F(ElementsUploadDataStreamTest, FileAndBytes) { | 336 TEST_F(ElementsUploadDataStreamTest, FileAndBytes) { |
| 337 base::FilePath temp_file_path; | 337 base::FilePath temp_file_path; |
| 338 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), | 338 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), |
| 339 &temp_file_path)); | 339 &temp_file_path)); |
| 340 ASSERT_EQ(static_cast<int>(kTestDataSize), | 340 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 341 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 341 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 342 | 342 |
| 343 const uint64_t kFileRangeOffset = 1; | 343 const uint64_t kFileRangeOffset = 1; |
| 344 const uint64_t kFileRangeLength = 4; | 344 const uint64_t kFileRangeLength = 4; |
| 345 element_readers_.push_back(base::WrapUnique(new UploadFileElementReader( | 345 element_readers_.push_back(base::MakeUnique<UploadFileElementReader>( |
| 346 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, | 346 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, |
| 347 kFileRangeOffset, kFileRangeLength, base::Time()))); | 347 kFileRangeOffset, kFileRangeLength, base::Time())); |
| 348 | 348 |
| 349 element_readers_.push_back( | 349 element_readers_.push_back( |
| 350 base::WrapUnique(new UploadBytesElementReader(kTestData, kTestDataSize))); | 350 base::MakeUnique<UploadBytesElementReader>(kTestData, kTestDataSize)); |
| 351 | 351 |
| 352 const uint64_t kStreamSize = kTestDataSize + kFileRangeLength; | 352 const uint64_t kStreamSize = kTestDataSize + kFileRangeLength; |
| 353 TestCompletionCallback init_callback; | 353 TestCompletionCallback init_callback; |
| 354 std::unique_ptr<UploadDataStream> stream( | 354 std::unique_ptr<UploadDataStream> stream( |
| 355 new ElementsUploadDataStream(std::move(element_readers_), 0)); | 355 new ElementsUploadDataStream(std::move(element_readers_), 0)); |
| 356 ASSERT_THAT(stream->Init(init_callback.callback(), BoundNetLog()), | 356 ASSERT_THAT(stream->Init(init_callback.callback(), BoundNetLog()), |
| 357 IsError(ERR_IO_PENDING)); | 357 IsError(ERR_IO_PENDING)); |
| 358 ASSERT_THAT(init_callback.WaitForResult(), IsOk()); | 358 ASSERT_THAT(init_callback.WaitForResult(), IsOk()); |
| 359 EXPECT_FALSE(stream->IsInMemory()); | 359 EXPECT_FALSE(stream->IsInMemory()); |
| 360 EXPECT_EQ(kStreamSize, stream->size()); | 360 EXPECT_EQ(kStreamSize, stream->size()); |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 531 read_callback3.WaitForResult()); | 531 read_callback3.WaitForResult()); |
| 532 } | 532 } |
| 533 | 533 |
| 534 void ElementsUploadDataStreamTest::FileChangedHelper( | 534 void ElementsUploadDataStreamTest::FileChangedHelper( |
| 535 const base::FilePath& file_path, | 535 const base::FilePath& file_path, |
| 536 const base::Time& time, | 536 const base::Time& time, |
| 537 bool error_expected) { | 537 bool error_expected) { |
| 538 // Don't use element_readers_ here, as this function is called twice, and | 538 // Don't use element_readers_ here, as this function is called twice, and |
| 539 // reusing element_readers_ is wrong. | 539 // reusing element_readers_ is wrong. |
| 540 std::vector<std::unique_ptr<UploadElementReader>> element_readers; | 540 std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
| 541 element_readers.push_back(base::WrapUnique(new UploadFileElementReader( | 541 element_readers.push_back(base::MakeUnique<UploadFileElementReader>( |
| 542 base::ThreadTaskRunnerHandle::Get().get(), file_path, 1, 2, time))); | 542 base::ThreadTaskRunnerHandle::Get().get(), file_path, 1, 2, time)); |
| 543 | 543 |
| 544 TestCompletionCallback init_callback; | 544 TestCompletionCallback init_callback; |
| 545 std::unique_ptr<UploadDataStream> stream( | 545 std::unique_ptr<UploadDataStream> stream( |
| 546 new ElementsUploadDataStream(std::move(element_readers), 0)); | 546 new ElementsUploadDataStream(std::move(element_readers), 0)); |
| 547 ASSERT_THAT(stream->Init(init_callback.callback(), BoundNetLog()), | 547 ASSERT_THAT(stream->Init(init_callback.callback(), BoundNetLog()), |
| 548 IsError(ERR_IO_PENDING)); | 548 IsError(ERR_IO_PENDING)); |
| 549 int error_code = init_callback.WaitForResult(); | 549 int error_code = init_callback.WaitForResult(); |
| 550 if (error_expected) | 550 if (error_expected) |
| 551 ASSERT_THAT(error_code, IsError(ERR_UPLOAD_FILE_CHANGED)); | 551 ASSERT_THAT(error_code, IsError(ERR_UPLOAD_FILE_CHANGED)); |
| 552 else | 552 else |
| (...skipping 21 matching lines...) Expand all Loading... |
| 574 | 574 |
| 575 TEST_F(ElementsUploadDataStreamTest, MultipleInit) { | 575 TEST_F(ElementsUploadDataStreamTest, MultipleInit) { |
| 576 base::FilePath temp_file_path; | 576 base::FilePath temp_file_path; |
| 577 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), | 577 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), |
| 578 &temp_file_path)); | 578 &temp_file_path)); |
| 579 ASSERT_EQ(static_cast<int>(kTestDataSize), | 579 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 580 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 580 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 581 | 581 |
| 582 // Prepare data. | 582 // Prepare data. |
| 583 element_readers_.push_back( | 583 element_readers_.push_back( |
| 584 base::WrapUnique(new UploadBytesElementReader(kTestData, kTestDataSize))); | 584 base::MakeUnique<UploadBytesElementReader>(kTestData, kTestDataSize)); |
| 585 element_readers_.push_back(base::WrapUnique(new UploadFileElementReader( | 585 element_readers_.push_back(base::MakeUnique<UploadFileElementReader>( |
| 586 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, | 586 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, |
| 587 std::numeric_limits<uint64_t>::max(), base::Time()))); | 587 std::numeric_limits<uint64_t>::max(), base::Time())); |
| 588 std::unique_ptr<UploadDataStream> stream( | 588 std::unique_ptr<UploadDataStream> stream( |
| 589 new ElementsUploadDataStream(std::move(element_readers_), 0)); | 589 new ElementsUploadDataStream(std::move(element_readers_), 0)); |
| 590 | 590 |
| 591 std::string expected_data(kTestData, kTestData + kTestDataSize); | 591 std::string expected_data(kTestData, kTestData + kTestDataSize); |
| 592 expected_data += expected_data; | 592 expected_data += expected_data; |
| 593 | 593 |
| 594 // Call Init(). | 594 // Call Init(). |
| 595 TestCompletionCallback init_callback1; | 595 TestCompletionCallback init_callback1; |
| 596 ASSERT_THAT(stream->Init(init_callback1.callback(), BoundNetLog()), | 596 ASSERT_THAT(stream->Init(init_callback1.callback(), BoundNetLog()), |
| 597 IsError(ERR_IO_PENDING)); | 597 IsError(ERR_IO_PENDING)); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 619 TEST_F(ElementsUploadDataStreamTest, MultipleInitAsync) { | 619 TEST_F(ElementsUploadDataStreamTest, MultipleInitAsync) { |
| 620 base::FilePath temp_file_path; | 620 base::FilePath temp_file_path; |
| 621 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), | 621 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), |
| 622 &temp_file_path)); | 622 &temp_file_path)); |
| 623 ASSERT_EQ(static_cast<int>(kTestDataSize), | 623 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 624 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 624 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 625 TestCompletionCallback test_callback; | 625 TestCompletionCallback test_callback; |
| 626 | 626 |
| 627 // Prepare data. | 627 // Prepare data. |
| 628 element_readers_.push_back( | 628 element_readers_.push_back( |
| 629 base::WrapUnique(new UploadBytesElementReader(kTestData, kTestDataSize))); | 629 base::MakeUnique<UploadBytesElementReader>(kTestData, kTestDataSize)); |
| 630 element_readers_.push_back(base::WrapUnique(new UploadFileElementReader( | 630 element_readers_.push_back(base::MakeUnique<UploadFileElementReader>( |
| 631 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, | 631 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, |
| 632 std::numeric_limits<uint64_t>::max(), base::Time()))); | 632 std::numeric_limits<uint64_t>::max(), base::Time())); |
| 633 std::unique_ptr<UploadDataStream> stream( | 633 std::unique_ptr<UploadDataStream> stream( |
| 634 new ElementsUploadDataStream(std::move(element_readers_), 0)); | 634 new ElementsUploadDataStream(std::move(element_readers_), 0)); |
| 635 | 635 |
| 636 std::string expected_data(kTestData, kTestData + kTestDataSize); | 636 std::string expected_data(kTestData, kTestData + kTestDataSize); |
| 637 expected_data += expected_data; | 637 expected_data += expected_data; |
| 638 | 638 |
| 639 // Call Init(). | 639 // Call Init(). |
| 640 ASSERT_THAT(stream->Init(test_callback.callback(), BoundNetLog()), | 640 ASSERT_THAT(stream->Init(test_callback.callback(), BoundNetLog()), |
| 641 IsError(ERR_IO_PENDING)); | 641 IsError(ERR_IO_PENDING)); |
| 642 EXPECT_THAT(test_callback.WaitForResult(), IsOk()); | 642 EXPECT_THAT(test_callback.WaitForResult(), IsOk()); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 661 | 661 |
| 662 TEST_F(ElementsUploadDataStreamTest, InitToReset) { | 662 TEST_F(ElementsUploadDataStreamTest, InitToReset) { |
| 663 base::FilePath temp_file_path; | 663 base::FilePath temp_file_path; |
| 664 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), | 664 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), |
| 665 &temp_file_path)); | 665 &temp_file_path)); |
| 666 ASSERT_EQ(static_cast<int>(kTestDataSize), | 666 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 667 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 667 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 668 | 668 |
| 669 // Prepare data. | 669 // Prepare data. |
| 670 element_readers_.push_back( | 670 element_readers_.push_back( |
| 671 base::WrapUnique(new UploadBytesElementReader(kTestData, kTestDataSize))); | 671 base::MakeUnique<UploadBytesElementReader>(kTestData, kTestDataSize)); |
| 672 element_readers_.push_back(base::WrapUnique(new UploadFileElementReader( | 672 element_readers_.push_back(base::MakeUnique<UploadFileElementReader>( |
| 673 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, | 673 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, |
| 674 std::numeric_limits<uint64_t>::max(), base::Time()))); | 674 std::numeric_limits<uint64_t>::max(), base::Time())); |
| 675 std::unique_ptr<UploadDataStream> stream( | 675 std::unique_ptr<UploadDataStream> stream( |
| 676 new ElementsUploadDataStream(std::move(element_readers_), 0)); | 676 new ElementsUploadDataStream(std::move(element_readers_), 0)); |
| 677 | 677 |
| 678 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); | 678 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); |
| 679 expected_data.insert(expected_data.end(), kTestData, | 679 expected_data.insert(expected_data.end(), kTestData, |
| 680 kTestData + kTestDataSize); | 680 kTestData + kTestDataSize); |
| 681 | 681 |
| 682 // Call Init(). | 682 // Call Init(). |
| 683 TestCompletionCallback init_callback1; | 683 TestCompletionCallback init_callback1; |
| 684 ASSERT_THAT(stream->Init(init_callback1.callback(), BoundNetLog()), | 684 ASSERT_THAT(stream->Init(init_callback1.callback(), BoundNetLog()), |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 719 | 719 |
| 720 TEST_F(ElementsUploadDataStreamTest, InitDuringAsyncInit) { | 720 TEST_F(ElementsUploadDataStreamTest, InitDuringAsyncInit) { |
| 721 base::FilePath temp_file_path; | 721 base::FilePath temp_file_path; |
| 722 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), | 722 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), |
| 723 &temp_file_path)); | 723 &temp_file_path)); |
| 724 ASSERT_EQ(static_cast<int>(kTestDataSize), | 724 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 725 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 725 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 726 | 726 |
| 727 // Prepare data. | 727 // Prepare data. |
| 728 element_readers_.push_back( | 728 element_readers_.push_back( |
| 729 base::WrapUnique(new UploadBytesElementReader(kTestData, kTestDataSize))); | 729 base::MakeUnique<UploadBytesElementReader>(kTestData, kTestDataSize)); |
| 730 element_readers_.push_back(base::WrapUnique(new UploadFileElementReader( | 730 element_readers_.push_back(base::MakeUnique<UploadFileElementReader>( |
| 731 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, | 731 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, |
| 732 std::numeric_limits<uint64_t>::max(), base::Time()))); | 732 std::numeric_limits<uint64_t>::max(), base::Time())); |
| 733 std::unique_ptr<UploadDataStream> stream( | 733 std::unique_ptr<UploadDataStream> stream( |
| 734 new ElementsUploadDataStream(std::move(element_readers_), 0)); | 734 new ElementsUploadDataStream(std::move(element_readers_), 0)); |
| 735 | 735 |
| 736 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); | 736 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); |
| 737 expected_data.insert(expected_data.end(), kTestData, | 737 expected_data.insert(expected_data.end(), kTestData, |
| 738 kTestData + kTestDataSize); | 738 kTestData + kTestDataSize); |
| 739 | 739 |
| 740 // Start Init. | 740 // Start Init. |
| 741 TestCompletionCallback init_callback1; | 741 TestCompletionCallback init_callback1; |
| 742 EXPECT_THAT(stream->Init(init_callback1.callback(), BoundNetLog()), | 742 EXPECT_THAT(stream->Init(init_callback1.callback(), BoundNetLog()), |
| (...skipping 24 matching lines...) Expand all Loading... |
| 767 | 767 |
| 768 TEST_F(ElementsUploadDataStreamTest, InitDuringAsyncRead) { | 768 TEST_F(ElementsUploadDataStreamTest, InitDuringAsyncRead) { |
| 769 base::FilePath temp_file_path; | 769 base::FilePath temp_file_path; |
| 770 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), | 770 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), |
| 771 &temp_file_path)); | 771 &temp_file_path)); |
| 772 ASSERT_EQ(static_cast<int>(kTestDataSize), | 772 ASSERT_EQ(static_cast<int>(kTestDataSize), |
| 773 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); | 773 base::WriteFile(temp_file_path, kTestData, kTestDataSize)); |
| 774 | 774 |
| 775 // Prepare data. | 775 // Prepare data. |
| 776 element_readers_.push_back( | 776 element_readers_.push_back( |
| 777 base::WrapUnique(new UploadBytesElementReader(kTestData, kTestDataSize))); | 777 base::MakeUnique<UploadBytesElementReader>(kTestData, kTestDataSize)); |
| 778 element_readers_.push_back(base::WrapUnique(new UploadFileElementReader( | 778 element_readers_.push_back(base::MakeUnique<UploadFileElementReader>( |
| 779 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, | 779 base::ThreadTaskRunnerHandle::Get().get(), temp_file_path, 0, |
| 780 std::numeric_limits<uint64_t>::max(), base::Time()))); | 780 std::numeric_limits<uint64_t>::max(), base::Time())); |
| 781 std::unique_ptr<UploadDataStream> stream( | 781 std::unique_ptr<UploadDataStream> stream( |
| 782 new ElementsUploadDataStream(std::move(element_readers_), 0)); | 782 new ElementsUploadDataStream(std::move(element_readers_), 0)); |
| 783 | 783 |
| 784 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); | 784 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); |
| 785 expected_data.insert(expected_data.end(), kTestData, | 785 expected_data.insert(expected_data.end(), kTestData, |
| 786 kTestData + kTestDataSize); | 786 kTestData + kTestDataSize); |
| 787 | 787 |
| 788 // Call Init(). | 788 // Call Init(). |
| 789 TestCompletionCallback init_callback1; | 789 TestCompletionCallback init_callback1; |
| 790 ASSERT_THAT(stream->Init(init_callback1.callback(), BoundNetLog()), | 790 ASSERT_THAT(stream->Init(init_callback1.callback(), BoundNetLog()), |
| (...skipping 28 matching lines...) Expand all Loading... |
| 819 wrapped_buffer2.get(), buf2.size(), read_callback2.callback())); | 819 wrapped_buffer2.get(), buf2.size(), read_callback2.callback())); |
| 820 EXPECT_EQ(static_cast<int>(buf2.size()), read_callback2.WaitForResult()); | 820 EXPECT_EQ(static_cast<int>(buf2.size()), read_callback2.WaitForResult()); |
| 821 EXPECT_EQ(expected_data, buf2); | 821 EXPECT_EQ(expected_data, buf2); |
| 822 EXPECT_TRUE(stream->IsEOF()); | 822 EXPECT_TRUE(stream->IsEOF()); |
| 823 | 823 |
| 824 // Make sure callbacks are not called for cancelled operations. | 824 // Make sure callbacks are not called for cancelled operations. |
| 825 EXPECT_FALSE(read_callback1.have_result()); | 825 EXPECT_FALSE(read_callback1.have_result()); |
| 826 } | 826 } |
| 827 | 827 |
| 828 } // namespace net | 828 } // namespace net |
| OLD | NEW |