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

Unified Diff: net/base/upload_data_stream_unittest.cc

Issue 10878082: net: Move file operation code from UploadData to UploadDataStream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/base/upload_data_stream.cc ('k') | net/base/upload_data_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/upload_data_stream_unittest.cc
diff --git a/net/base/upload_data_stream_unittest.cc b/net/base/upload_data_stream_unittest.cc
index c6d6120c61c668b3ead63bf0329b269091802a68..dc415f84e1af0ffa817f939098960e14c14520d3 100644
--- a/net/base/upload_data_stream_unittest.cc
+++ b/net/base/upload_data_stream_unittest.cc
@@ -55,16 +55,18 @@ TEST_F(UploadDataStreamTest, EmptyUploadData) {
upload_data_->AppendBytes("", 0);
scoped_ptr<UploadDataStream> stream(new UploadDataStream(upload_data_));
ASSERT_EQ(OK, stream->Init());
+ EXPECT_TRUE(stream->IsInMemory());
ASSERT_TRUE(stream.get());
EXPECT_EQ(0U, stream->size());
EXPECT_EQ(0U, stream->position());
EXPECT_TRUE(stream->IsEOF());
}
-TEST_F(UploadDataStreamTest, ConsumeAll) {
+TEST_F(UploadDataStreamTest, ConsumeAllBytes) {
upload_data_->AppendBytes(kTestData, kTestDataSize);
scoped_ptr<UploadDataStream> stream(new UploadDataStream(upload_data_));
ASSERT_EQ(OK, stream->Init());
+ EXPECT_TRUE(stream->IsInMemory());
ASSERT_TRUE(stream.get());
EXPECT_EQ(kTestDataSize, stream->size());
EXPECT_EQ(0U, stream->position());
@@ -78,6 +80,35 @@ TEST_F(UploadDataStreamTest, ConsumeAll) {
ASSERT_TRUE(stream->IsEOF());
}
+TEST_F(UploadDataStreamTest, File) {
+ FilePath temp_file_path;
+ ASSERT_TRUE(file_util::CreateTemporaryFile(&temp_file_path));
+ ASSERT_EQ(static_cast<int>(kTestDataSize),
+ file_util::WriteFile(temp_file_path, kTestData, kTestDataSize));
+
+ std::vector<UploadElement> elements;
+ UploadElement element;
+ element.SetToFilePath(temp_file_path);
+ elements.push_back(element);
+ upload_data_->SetElements(elements);
+
+ scoped_ptr<UploadDataStream> stream(new UploadDataStream(upload_data_));
+ ASSERT_EQ(OK, stream->Init());
+ EXPECT_FALSE(stream->IsInMemory());
+ ASSERT_TRUE(stream.get());
+ EXPECT_EQ(kTestDataSize, stream->size());
+ EXPECT_EQ(0U, stream->position());
+ EXPECT_FALSE(stream->IsEOF());
+ scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
+ while (!stream->IsEOF()) {
+ int bytes_read = stream->Read(buf, kTestBufferSize);
+ ASSERT_LE(0, bytes_read); // Not an error.
+ }
+ EXPECT_EQ(kTestDataSize, stream->position());
+ ASSERT_TRUE(stream->IsEOF());
+ file_util::Delete(temp_file_path, false);
+}
+
TEST_F(UploadDataStreamTest, FileSmallerThanLength) {
FilePath temp_file_path;
ASSERT_TRUE(file_util::CreateTemporaryFile(&temp_file_path));
@@ -91,10 +122,10 @@ TEST_F(UploadDataStreamTest, FileSmallerThanLength) {
element.SetContentLength(kFakeSize);
elements.push_back(element);
upload_data_->SetElements(elements);
- EXPECT_EQ(kFakeSize, upload_data_->GetContentLengthSync());
scoped_ptr<UploadDataStream> stream(new UploadDataStream(upload_data_));
ASSERT_EQ(OK, stream->Init());
+ EXPECT_FALSE(stream->IsInMemory());
ASSERT_TRUE(stream.get());
EXPECT_EQ(kFakeSize, stream->size());
EXPECT_EQ(0U, stream->position());
@@ -115,6 +146,60 @@ TEST_F(UploadDataStreamTest, FileSmallerThanLength) {
file_util::Delete(temp_file_path, false);
}
+TEST_F(UploadDataStreamTest, FileAndBytes) {
+ FilePath temp_file_path;
+ ASSERT_TRUE(file_util::CreateTemporaryFile(&temp_file_path));
+ ASSERT_EQ(static_cast<int>(kTestDataSize),
+ file_util::WriteFile(temp_file_path, kTestData, kTestDataSize));
+
+ const uint64 kFileRangeOffset = 1;
+ const uint64 kFileRangeLength = 4;
+ upload_data_->AppendFileRange(
+ temp_file_path, kFileRangeOffset, kFileRangeLength, base::Time());
+
+ upload_data_->AppendBytes(kTestData, kTestDataSize);
+
+ const uint64 kStreamSize = kTestDataSize + kFileRangeLength;
+ scoped_ptr<UploadDataStream> stream(new UploadDataStream(upload_data_));
+ ASSERT_EQ(OK, stream->Init());
+ EXPECT_FALSE(stream->IsInMemory());
+ ASSERT_TRUE(stream.get());
+ EXPECT_EQ(kStreamSize, stream->size());
+ EXPECT_EQ(0U, stream->position());
+ EXPECT_FALSE(stream->IsEOF());
+ scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
+ while (!stream->IsEOF()) {
+ int bytes_read = stream->Read(buf, kTestBufferSize);
+ ASSERT_LE(0, bytes_read); // Not an error.
+ }
+ EXPECT_EQ(kStreamSize, stream->position());
+ ASSERT_TRUE(stream->IsEOF());
+
+ file_util::Delete(temp_file_path, false);
+}
+
+TEST_F(UploadDataStreamTest, Chunk) {
+ upload_data_->set_is_chunked(true);
+ upload_data_->AppendChunk(kTestData, kTestDataSize, false);
+ upload_data_->AppendChunk(kTestData, kTestDataSize, true);
+
+ const uint64 kStreamSize = kTestDataSize*2;
+ scoped_ptr<UploadDataStream> stream(new UploadDataStream(upload_data_));
+ ASSERT_EQ(OK, stream->Init());
+ EXPECT_FALSE(stream->IsInMemory());
+ ASSERT_TRUE(stream.get());
+ EXPECT_EQ(0U, stream->size()); // Content-Length is 0 for chunked data.
+ EXPECT_EQ(0U, stream->position());
+ EXPECT_FALSE(stream->IsEOF());
+ scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
+ while (!stream->IsEOF()) {
+ int bytes_read = stream->Read(buf, kTestBufferSize);
+ ASSERT_LE(0, bytes_read); // Not an error.
+ }
+ EXPECT_EQ(kStreamSize, stream->position());
+ ASSERT_TRUE(stream->IsEOF());
+}
+
void UploadDataStreamTest::FileChangedHelper(const FilePath& file_path,
const base::Time& time,
bool error_expected) {
@@ -167,12 +252,12 @@ TEST_F(UploadDataStreamTest, UploadDataReused) {
element.SetToFilePath(temp_file_path);
elements.push_back(element);
upload_data_->SetElements(elements);
- EXPECT_EQ(kTestDataSize, upload_data_->GetContentLengthSync());
// Confirm that the file is read properly.
{
UploadDataStream stream(upload_data_);
ASSERT_EQ(OK, stream.Init());
+ EXPECT_EQ(kTestDataSize, stream.size());
EXPECT_EQ(kTestData, ReadFromUploadDataStream(&stream));
}
@@ -181,6 +266,7 @@ TEST_F(UploadDataStreamTest, UploadDataReused) {
{
UploadDataStream stream(upload_data_);
ASSERT_EQ(OK, stream.Init());
+ EXPECT_EQ(kTestDataSize, stream.size());
EXPECT_EQ(kTestData, ReadFromUploadDataStream(&stream));
}
« no previous file with comments | « net/base/upload_data_stream.cc ('k') | net/base/upload_data_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698