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

Unified Diff: net/base/chunked_upload_data_stream_unittest.cc

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 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/chunked_upload_data_stream.cc ('k') | net/base/completion_callback.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/chunked_upload_data_stream_unittest.cc
diff --git a/net/base/chunked_upload_data_stream_unittest.cc b/net/base/chunked_upload_data_stream_unittest.cc
deleted file mode 100644
index 334e9a39428a16a6c380c771836adbf4ed82233a..0000000000000000000000000000000000000000
--- a/net/base/chunked_upload_data_stream_unittest.cc
+++ /dev/null
@@ -1,308 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "net/base/chunked_upload_data_stream.h"
-
-#include <string>
-
-#include "base/memory/scoped_ptr.h"
-#include "net/base/io_buffer.h"
-#include "net/base/net_errors.h"
-#include "net/base/test_completion_callback.h"
-#include "net/base/upload_data_stream.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace net {
-
-namespace {
-
-const char kTestData[] = "0123456789";
-const size_t kTestDataSize = arraysize(kTestData) - 1;
-const size_t kTestBufferSize = 1 << 14; // 16KB.
-
-} // namespace
-
-// Reads data once from the upload data stream, and returns the data as string.
-// Expects the read to succeed synchronously.
-std::string ReadSync(UploadDataStream* stream, int buffer_size) {
- scoped_refptr<IOBuffer> buf = new IOBuffer(buffer_size);
- int result = stream->Read(buf.get(),
- buffer_size,
- TestCompletionCallback().callback());
- EXPECT_GE(result, 0);
- return std::string(buf->data(), result);
-}
-
-// Check the case data is added after the first read attempt.
-TEST(ChunkedUploadDataStreamTest, AppendOnce) {
- ChunkedUploadDataStream stream(0);
-
- ASSERT_EQ(OK, stream.Init(TestCompletionCallback().callback()));
- EXPECT_FALSE(stream.IsInMemory());
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(0u, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- TestCompletionCallback callback;
- scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
- int result = stream.Read(buf.get(), kTestBufferSize, callback.callback());
- ASSERT_EQ(ERR_IO_PENDING, result);
-
- stream.AppendData(kTestData, kTestDataSize, true);
- int read = callback.WaitForResult();
- ASSERT_GE(read, 0);
- EXPECT_EQ(kTestData, std::string(buf->data(), read));
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(kTestDataSize, stream.position());
- EXPECT_TRUE(stream.IsEOF());
-}
-
-TEST(ChunkedUploadDataStreamTest, AppendOnceBeforeRead) {
- ChunkedUploadDataStream stream(0);
-
- ASSERT_EQ(OK, stream.Init(TestCompletionCallback().callback()));
- EXPECT_FALSE(stream.IsInMemory());
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(0u, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- stream.AppendData(kTestData, kTestDataSize, true);
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(0u, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- std::string data = ReadSync(&stream, kTestBufferSize);
- EXPECT_EQ(kTestData, data);
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(kTestDataSize, stream.position());
- EXPECT_TRUE(stream.IsEOF());
-}
-
-TEST(ChunkedUploadDataStreamTest, AppendOnceBeforeInit) {
- ChunkedUploadDataStream stream(0);
-
- stream.AppendData(kTestData, kTestDataSize, true);
- ASSERT_EQ(OK, stream.Init(TestCompletionCallback().callback()));
- EXPECT_FALSE(stream.IsInMemory());
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(0u, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- std::string data = ReadSync(&stream, kTestBufferSize);
- EXPECT_EQ(kTestData, data);
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(kTestDataSize, stream.position());
- EXPECT_TRUE(stream.IsEOF());
-}
-
-TEST(ChunkedUploadDataStreamTest, MultipleAppends) {
- ChunkedUploadDataStream stream(0);
-
- ASSERT_EQ(OK, stream.Init(TestCompletionCallback().callback()));
- EXPECT_FALSE(stream.IsInMemory());
- EXPECT_EQ(0u, stream.size());
- EXPECT_EQ(0u, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- TestCompletionCallback callback;
- scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
- for (size_t i = 0; i < kTestDataSize; ++i) {
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(i, stream.position());
- ASSERT_FALSE(stream.IsEOF());
- int bytes_read = stream.Read(buf.get(),
- kTestBufferSize,
- callback.callback());
- ASSERT_EQ(ERR_IO_PENDING, bytes_read);
- stream.AppendData(&kTestData[i], 1, i == kTestDataSize - 1);
- ASSERT_EQ(1, callback.WaitForResult());
- EXPECT_EQ(kTestData[i], buf->data()[0]);
- }
-
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(kTestDataSize, stream.position());
- ASSERT_TRUE(stream.IsEOF());
-}
-
-TEST(ChunkedUploadDataStreamTest, MultipleAppendsBetweenReads) {
- ChunkedUploadDataStream stream(0);
-
- ASSERT_EQ(OK, stream.Init(TestCompletionCallback().callback()));
- EXPECT_FALSE(stream.IsInMemory());
- 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);
- for (size_t i = 0; i < kTestDataSize; ++i) {
- EXPECT_EQ(i, stream.position());
- ASSERT_FALSE(stream.IsEOF());
- stream.AppendData(&kTestData[i], 1, i == kTestDataSize - 1);
- int bytes_read = stream.Read(buf.get(),
- kTestBufferSize,
- TestCompletionCallback().callback());
- ASSERT_EQ(1, bytes_read);
- EXPECT_EQ(kTestData[i], buf->data()[0]);
- }
-
- EXPECT_EQ(kTestDataSize, stream.position());
- ASSERT_TRUE(stream.IsEOF());
-}
-
-// Checks that multiple reads can be merged.
-TEST(ChunkedUploadDataStreamTest, MultipleAppendsBeforeInit) {
- ChunkedUploadDataStream stream(0);
- stream.AppendData(kTestData, 1, false);
- stream.AppendData(kTestData + 1, 1, false);
- stream.AppendData(kTestData + 2, kTestDataSize - 2, true);
-
- ASSERT_EQ(OK, stream.Init(TestCompletionCallback().callback()));
- EXPECT_FALSE(stream.IsInMemory());
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(0u, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- std::string data = ReadSync(&stream, kTestBufferSize);
- EXPECT_EQ(kTestData, data);
- EXPECT_EQ(kTestDataSize, stream.position());
- ASSERT_TRUE(stream.IsEOF());
-}
-
-TEST(ChunkedUploadDataStreamTest, MultipleReads) {
- // Use a read size different from the write size to test bounds checking.
- const size_t kReadSize = kTestDataSize + 3;
-
- ChunkedUploadDataStream stream(0);
- stream.AppendData(kTestData, kTestDataSize, false);
- stream.AppendData(kTestData, kTestDataSize, false);
- stream.AppendData(kTestData, kTestDataSize, false);
- stream.AppendData(kTestData, kTestDataSize, true);
-
- ASSERT_EQ(OK, stream.Init(TestCompletionCallback().callback()));
- EXPECT_FALSE(stream.IsInMemory());
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(0u, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- std::string data = ReadSync(&stream, kReadSize);
- EXPECT_EQ("0123456789012", data);
- EXPECT_EQ(kReadSize, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- data = ReadSync(&stream, kReadSize);
- EXPECT_EQ("3456789012345", data);
- EXPECT_EQ(2 * kReadSize, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- data = ReadSync(&stream, kReadSize);
- EXPECT_EQ("6789012345678", data);
- EXPECT_EQ(3 * kReadSize, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- data = ReadSync(&stream, kReadSize);
- EXPECT_EQ("9", data);
- EXPECT_EQ(4 * kTestDataSize, stream.position());
- EXPECT_TRUE(stream.IsEOF());
-}
-
-TEST(ChunkedUploadDataStreamTest, EmptyUpload) {
- ChunkedUploadDataStream stream(0);
-
- ASSERT_EQ(OK, stream.Init(TestCompletionCallback().callback()));
- EXPECT_FALSE(stream.IsInMemory());
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(0u, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- TestCompletionCallback callback;
- scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
- int result = stream.Read(buf.get(), kTestBufferSize, callback.callback());
- ASSERT_EQ(ERR_IO_PENDING, result);
-
- stream.AppendData(NULL, 0, true);
- int read = callback.WaitForResult();
- EXPECT_EQ(0, read);
- EXPECT_EQ(0u, stream.position());
- EXPECT_TRUE(stream.IsEOF());
-}
-
-TEST(ChunkedUploadDataStreamTest, EmptyUploadEndedBeforeInit) {
- ChunkedUploadDataStream stream(0);
- stream.AppendData(NULL, 0, true);
-
- ASSERT_EQ(OK, stream.Init(TestCompletionCallback().callback()));
- EXPECT_FALSE(stream.IsInMemory());
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(0u, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- std::string data = ReadSync(&stream, kTestBufferSize);
- ASSERT_EQ("", data);
- EXPECT_EQ(0u, stream.position());
- EXPECT_TRUE(stream.IsEOF());
-}
-
-TEST(ChunkedUploadDataStreamTest, RewindAfterComplete) {
- ChunkedUploadDataStream stream(0);
- stream.AppendData(kTestData, 1, false);
- stream.AppendData(kTestData + 1, kTestDataSize - 1, true);
-
- ASSERT_EQ(OK, stream.Init(TestCompletionCallback().callback()));
- EXPECT_FALSE(stream.IsInMemory());
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(0u, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- std::string data = ReadSync(&stream, kTestBufferSize);
- EXPECT_EQ(kTestData, data);
- EXPECT_EQ(kTestDataSize, stream.position());
- ASSERT_TRUE(stream.IsEOF());
-
- // Rewind stream and repeat.
- ASSERT_EQ(OK, stream.Init(TestCompletionCallback().callback()));
- EXPECT_FALSE(stream.IsInMemory());
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(0u, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- data = ReadSync(&stream, kTestBufferSize);
- EXPECT_EQ(kTestData, data);
- EXPECT_EQ(kTestDataSize, stream.position());
- ASSERT_TRUE(stream.IsEOF());
-}
-
-TEST(ChunkedUploadDataStreamTest, RewindWhileReading) {
- ChunkedUploadDataStream stream(0);
-
- ASSERT_EQ(OK, stream.Init(TestCompletionCallback().callback()));
- EXPECT_FALSE(stream.IsInMemory());
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(0u, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- TestCompletionCallback callback;
- scoped_refptr<IOBuffer> buf = new IOBuffer(kTestBufferSize);
- int result = stream.Read(buf.get(), kTestBufferSize, callback.callback());
- ASSERT_EQ(ERR_IO_PENDING, result);
-
- ASSERT_EQ(OK, stream.Init(TestCompletionCallback().callback()));
- EXPECT_FALSE(stream.IsInMemory());
- EXPECT_EQ(0u, stream.size()); // Content-Length is 0 for chunked data.
- EXPECT_EQ(0u, stream.position());
- EXPECT_FALSE(stream.IsEOF());
-
- // Adding data now should not result in calling the original read callback,
- // since the stream was re-initialized for reuse, which cancels all pending
- // reads.
- stream.AppendData(kTestData, kTestDataSize, true);
- EXPECT_FALSE(callback.have_result());
-
- std::string data = ReadSync(&stream, kTestBufferSize);
- EXPECT_EQ(kTestData, data);
- EXPECT_EQ(kTestDataSize, stream.position());
- ASSERT_TRUE(stream.IsEOF());
- EXPECT_FALSE(callback.have_result());
-}
-
-} // namespace net
« no previous file with comments | « net/base/chunked_upload_data_stream.cc ('k') | net/base/completion_callback.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698