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