| 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);
|
| }
|
|
|