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

Unified Diff: content/browser/byte_stream_unittest.cc

Issue 18284005: Make ByteStream independent from DownloadInterruptReason (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rdsmith's comments Created 7 years, 5 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 | « content/browser/byte_stream.cc ('k') | content/browser/download/download_browsertest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/byte_stream_unittest.cc
diff --git a/content/browser/byte_stream_unittest.cc b/content/browser/byte_stream_unittest.cc
index ed413da8f3cc0c884bfec31e34b5b0ac2a2209a1..7f6c517de1fb14595837512a587d3e75c7904cd3 100644
--- a/content/browser/byte_stream_unittest.cc
+++ b/content/browser/byte_stream_unittest.cc
@@ -45,7 +45,7 @@ class ByteStreamTest : public testing::Test {
// ByteStream, returning the result of the ByteStream::Write.
// Separate function to avoid duplication of buffer_size in test
// calls.
- bool Write(ByteStreamWriter* byte_stream_input, size_t buffer_size) {
+ bool Write(ByteStreamWriter<int>* byte_stream_input, size_t buffer_size) {
return byte_stream_input->Write(NewIOBuffer(buffer_size), buffer_size);
}
@@ -101,9 +101,9 @@ ByteStreamTest::ByteStreamTest()
// Confirm that filling and emptying the stream works properly, and that
// we get full triggers when we expect.
TEST_F(ByteStreamTest, ByteStream_PushBack) {
- scoped_ptr<ByteStreamWriter> byte_stream_input;
- scoped_ptr<ByteStreamReader> byte_stream_output;
- CreateByteStream(
+ scoped_ptr<ByteStreamWriter<int> > byte_stream_input;
+ scoped_ptr<ByteStreamReader<int> > byte_stream_output;
+ CreateByteStream<int>(
message_loop_.message_loop_proxy(), message_loop_.message_loop_proxy(),
3 * 1024, &byte_stream_input, &byte_stream_output);
@@ -115,34 +115,34 @@ TEST_F(ByteStreamTest, ByteStream_PushBack) {
EXPECT_FALSE(Write(byte_stream_input.get(), 1));
EXPECT_FALSE(Write(byte_stream_input.get(), 1024));
// Flush
- byte_stream_input->Close(DOWNLOAD_INTERRUPT_REASON_NONE);
+ byte_stream_input->Close(0);
message_loop_.RunUntilIdle();
// Pull the IO buffers out; do we get the same buffers and do they
// have the same contents?
scoped_refptr<net::IOBuffer> output_io_buffer;
size_t output_length;
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- EXPECT_EQ(ByteStreamReader::STREAM_COMPLETE,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_COMPLETE,
byte_stream_output->Read(&output_io_buffer, &output_length));
}
@@ -150,9 +150,9 @@ TEST_F(ByteStreamTest, ByteStream_PushBack) {
// that we're getting pushback even when data's split across the two
// objects
TEST_F(ByteStreamTest, ByteStream_PushBackSplit) {
- scoped_ptr<ByteStreamWriter> byte_stream_input;
- scoped_ptr<ByteStreamReader> byte_stream_output;
- CreateByteStream(
+ scoped_ptr<ByteStreamWriter<int> > byte_stream_input;
+ scoped_ptr<ByteStreamReader<int> > byte_stream_output;
+ CreateByteStream<int>(
message_loop_.message_loop_proxy(), message_loop_.message_loop_proxy(),
9 * 1024, &byte_stream_input, &byte_stream_output);
@@ -173,98 +173,96 @@ TEST_F(ByteStreamTest, ByteStream_PushBackSplit) {
// have the same contents?
scoped_refptr<net::IOBuffer> output_io_buffer;
size_t output_length;
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- EXPECT_EQ(ByteStreamReader::STREAM_EMPTY,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_EMPTY,
byte_stream_output->Read(&output_io_buffer, &output_length));
}
// Confirm that a Close() notification transmits in-order
// with data on the stream.
TEST_F(ByteStreamTest, ByteStream_CompleteTransmits) {
- scoped_ptr<ByteStreamWriter> byte_stream_input;
- scoped_ptr<ByteStreamReader> byte_stream_output;
+ scoped_ptr<ByteStreamWriter<int> > byte_stream_input;
+ scoped_ptr<ByteStreamReader<int> > byte_stream_output;
scoped_refptr<net::IOBuffer> output_io_buffer;
size_t output_length;
// Empty stream, non-error case.
- CreateByteStream(
+ CreateByteStream<int>(
message_loop_.message_loop_proxy(), message_loop_.message_loop_proxy(),
3 * 1024, &byte_stream_input, &byte_stream_output);
- EXPECT_EQ(ByteStreamReader::STREAM_EMPTY,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_EMPTY,
byte_stream_output->Read(&output_io_buffer, &output_length));
- byte_stream_input->Close(DOWNLOAD_INTERRUPT_REASON_NONE);
+ byte_stream_input->Close(0);
message_loop_.RunUntilIdle();
- ASSERT_EQ(ByteStreamReader::STREAM_COMPLETE,
+ ASSERT_EQ(ByteStreamReader<int>::STREAM_COMPLETE,
byte_stream_output->Read(&output_io_buffer, &output_length));
- EXPECT_EQ(DOWNLOAD_INTERRUPT_REASON_NONE,
- byte_stream_output->GetStatus());
+ EXPECT_EQ(0, byte_stream_output->GetStatus());
// Non-empty stream, non-error case.
- CreateByteStream(
+ CreateByteStream<int>(
message_loop_.message_loop_proxy(), message_loop_.message_loop_proxy(),
3 * 1024, &byte_stream_input, &byte_stream_output);
- EXPECT_EQ(ByteStreamReader::STREAM_EMPTY,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_EMPTY,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(Write(byte_stream_input.get(), 1024));
- byte_stream_input->Close(DOWNLOAD_INTERRUPT_REASON_NONE);
+ byte_stream_input->Close(0);
message_loop_.RunUntilIdle();
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- ASSERT_EQ(ByteStreamReader::STREAM_COMPLETE,
+ ASSERT_EQ(ByteStreamReader<int>::STREAM_COMPLETE,
byte_stream_output->Read(&output_io_buffer, &output_length));
- EXPECT_EQ(DOWNLOAD_INTERRUPT_REASON_NONE,
- byte_stream_output->GetStatus());
+ EXPECT_EQ(0, byte_stream_output->GetStatus());
- // Empty stream, non-error case.
- CreateByteStream(
+ const int kFakeErrorCode = 22;
+
+ // Empty stream, error case.
+ CreateByteStream<int>(
message_loop_.message_loop_proxy(), message_loop_.message_loop_proxy(),
3 * 1024, &byte_stream_input, &byte_stream_output);
- EXPECT_EQ(ByteStreamReader::STREAM_EMPTY,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_EMPTY,
byte_stream_output->Read(&output_io_buffer, &output_length));
- byte_stream_input->Close(DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED);
+ byte_stream_input->Close(kFakeErrorCode);
message_loop_.RunUntilIdle();
- ASSERT_EQ(ByteStreamReader::STREAM_COMPLETE,
+ ASSERT_EQ(ByteStreamReader<int>::STREAM_COMPLETE,
byte_stream_output->Read(&output_io_buffer, &output_length));
- EXPECT_EQ(DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED,
- byte_stream_output->GetStatus());
+ EXPECT_EQ(kFakeErrorCode, byte_stream_output->GetStatus());
- // Non-empty stream, non-error case.
- CreateByteStream(
+ // Non-empty stream, error case.
+ CreateByteStream<int>(
message_loop_.message_loop_proxy(), message_loop_.message_loop_proxy(),
3 * 1024, &byte_stream_input, &byte_stream_output);
- EXPECT_EQ(ByteStreamReader::STREAM_EMPTY,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_EMPTY,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(Write(byte_stream_input.get(), 1024));
- byte_stream_input->Close(DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED);
+ byte_stream_input->Close(kFakeErrorCode);
message_loop_.RunUntilIdle();
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- ASSERT_EQ(ByteStreamReader::STREAM_COMPLETE,
+ ASSERT_EQ(ByteStreamReader<int>::STREAM_COMPLETE,
byte_stream_output->Read(&output_io_buffer, &output_length));
- EXPECT_EQ(DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED,
- byte_stream_output->GetStatus());
+ EXPECT_EQ(kFakeErrorCode, byte_stream_output->GetStatus());
}
// Confirm that callbacks on the sink side are triggered when they should be.
@@ -272,9 +270,9 @@ TEST_F(ByteStreamTest, ByteStream_SinkCallback) {
scoped_refptr<base::TestSimpleTaskRunner> task_runner(
new base::TestSimpleTaskRunner());
- scoped_ptr<ByteStreamWriter> byte_stream_input;
- scoped_ptr<ByteStreamReader> byte_stream_output;
- CreateByteStream(
+ scoped_ptr<ByteStreamWriter<int> > byte_stream_input;
+ scoped_ptr<ByteStreamReader<int> > byte_stream_output;
+ CreateByteStream<int>(
message_loop_.message_loop_proxy(), task_runner,
10000, &byte_stream_input, &byte_stream_output);
@@ -301,10 +299,10 @@ TEST_F(ByteStreamTest, ByteStream_SinkCallback) {
EXPECT_EQ(1, num_callbacks);
// Check data and stream state.
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- EXPECT_EQ(ByteStreamReader::STREAM_EMPTY,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_EMPTY,
byte_stream_output->Read(&output_io_buffer, &output_length));
// Confirm callback *isn't* called at less than 33% (by lack of
@@ -314,7 +312,7 @@ TEST_F(ByteStreamTest, ByteStream_SinkCallback) {
// This reflects an implementation artifact that data goes with callbacks,
// which should not be considered part of the interface guarantee.
- EXPECT_EQ(ByteStreamReader::STREAM_EMPTY,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_EMPTY,
byte_stream_output->Read(&output_io_buffer, &output_length));
}
@@ -324,9 +322,9 @@ TEST_F(ByteStreamTest, ByteStream_SourceCallback) {
scoped_refptr<base::TestSimpleTaskRunner> task_runner(
new base::TestSimpleTaskRunner());
- scoped_ptr<ByteStreamWriter> byte_stream_input;
- scoped_ptr<ByteStreamReader> byte_stream_output;
- CreateByteStream(
+ scoped_ptr<ByteStreamWriter<int> > byte_stream_input;
+ scoped_ptr<ByteStreamReader<int> > byte_stream_output;
+ CreateByteStream<int>(
task_runner, message_loop_.message_loop_proxy(),
10000, &byte_stream_input, &byte_stream_output);
@@ -352,13 +350,13 @@ TEST_F(ByteStreamTest, ByteStream_SourceCallback) {
// Allow bytes to transition (needed for message passing implementation),
// and get and validate the data.
message_loop_.RunUntilIdle();
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
// Grab data, triggering callback. Recorded on dispatch, but doesn't
// happen because it's caught by the mock.
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
@@ -368,10 +366,10 @@ TEST_F(ByteStreamTest, ByteStream_SourceCallback) {
EXPECT_EQ(1, num_callbacks);
// Same drill with final buffer.
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- EXPECT_EQ(ByteStreamReader::STREAM_EMPTY,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_EMPTY,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_EQ(1, num_callbacks);
task_runner->RunUntilIdle();
@@ -386,9 +384,9 @@ TEST_F(ByteStreamTest, ByteStream_SinkInterrupt) {
scoped_refptr<base::TestSimpleTaskRunner> task_runner(
new base::TestSimpleTaskRunner());
- scoped_ptr<ByteStreamWriter> byte_stream_input;
- scoped_ptr<ByteStreamReader> byte_stream_output;
- CreateByteStream(
+ scoped_ptr<ByteStreamWriter<int> > byte_stream_input;
+ scoped_ptr<ByteStreamReader<int> > byte_stream_output;
+ CreateByteStream<int>(
message_loop_.message_loop_proxy(), task_runner,
10000, &byte_stream_input, &byte_stream_output);
@@ -419,10 +417,10 @@ TEST_F(ByteStreamTest, ByteStream_SinkInterrupt) {
EXPECT_EQ(1, num_alt_callbacks);
// Final cleanup.
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- EXPECT_EQ(ByteStreamReader::STREAM_EMPTY,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_EMPTY,
byte_stream_output->Read(&output_io_buffer, &output_length));
}
@@ -433,9 +431,9 @@ TEST_F(ByteStreamTest, ByteStream_SourceInterrupt) {
scoped_refptr<base::TestSimpleTaskRunner> task_runner(
new base::TestSimpleTaskRunner());
- scoped_ptr<ByteStreamWriter> byte_stream_input;
- scoped_ptr<ByteStreamReader> byte_stream_output;
- CreateByteStream(
+ scoped_ptr<ByteStreamWriter<int> > byte_stream_input;
+ scoped_ptr<ByteStreamReader<int> > byte_stream_output;
+ CreateByteStream<int>(
task_runner, message_loop_.message_loop_proxy(),
10000, &byte_stream_input, &byte_stream_output);
@@ -453,13 +451,13 @@ TEST_F(ByteStreamTest, ByteStream_SourceInterrupt) {
message_loop_.RunUntilIdle();
// Initial get should not trigger callback.
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
message_loop_.RunUntilIdle();
// Second get *should* trigger callback.
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
@@ -472,10 +470,10 @@ TEST_F(ByteStreamTest, ByteStream_SourceInterrupt) {
EXPECT_EQ(1, num_alt_callbacks);
// Third get should also trigger callback.
- EXPECT_EQ(ByteStreamReader::STREAM_HAS_DATA,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_HAS_DATA,
byte_stream_output->Read(&output_io_buffer, &output_length));
EXPECT_TRUE(ValidateIOBuffer(output_io_buffer, output_length));
- EXPECT_EQ(ByteStreamReader::STREAM_EMPTY,
+ EXPECT_EQ(ByteStreamReader<int>::STREAM_EMPTY,
byte_stream_output->Read(&output_io_buffer, &output_length));
}
@@ -485,9 +483,9 @@ TEST_F(ByteStreamTest, ByteStream_ZeroCallback) {
scoped_refptr<base::TestSimpleTaskRunner> task_runner(
new base::TestSimpleTaskRunner());
- scoped_ptr<ByteStreamWriter> byte_stream_input;
- scoped_ptr<ByteStreamReader> byte_stream_output;
- CreateByteStream(
+ scoped_ptr<ByteStreamWriter<int> > byte_stream_input;
+ scoped_ptr<ByteStreamReader<int> > byte_stream_output;
+ CreateByteStream<int>(
message_loop_.message_loop_proxy(), task_runner,
10000, &byte_stream_input, &byte_stream_output);
@@ -499,7 +497,7 @@ TEST_F(ByteStreamTest, ByteStream_ZeroCallback) {
base::Bind(CountCallbacks, &num_callbacks));
// Immediately close the stream.
- byte_stream_input->Close(DOWNLOAD_INTERRUPT_REASON_NONE);
+ byte_stream_input->Close(0);
task_runner->RunUntilIdle();
EXPECT_EQ(1, num_callbacks);
}
« no previous file with comments | « content/browser/byte_stream.cc ('k') | content/browser/download/download_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698