| Index: android_webview/browser/net/android_stream_reader_url_request_job_unittest.cc
|
| diff --git a/android_webview/browser/net/android_stream_reader_url_request_job_unittest.cc b/android_webview/browser/net/android_stream_reader_url_request_job_unittest.cc
|
| index f628700262492299ce538148b82caac5eebcf514..fce673ce108a44c22b3ec0047d1d416141614722 100644
|
| --- a/android_webview/browser/net/android_stream_reader_url_request_job_unittest.cc
|
| +++ b/android_webview/browser/net/android_stream_reader_url_request_job_unittest.cc
|
| @@ -90,6 +90,17 @@ class StreamReaderDelegate :
|
| }
|
| };
|
|
|
| +class NullStreamReaderDelegate : public StreamReaderDelegate {
|
| + public:
|
| + NullStreamReaderDelegate() {}
|
| +
|
| + virtual scoped_ptr<InputStream> OpenInputStream(
|
| + JNIEnv* env,
|
| + net::URLRequest* request) {
|
| + return make_scoped_ptr<InputStream>(NULL);
|
| + }
|
| +};
|
| +
|
| class MockInputStreamReader : public InputStreamReader {
|
| public:
|
| MockInputStreamReader() : InputStreamReader(new NotImplInputStream()) {}
|
| @@ -155,8 +166,14 @@ class AndroidStreamReaderURLRequestJobTest : public Test {
|
| }
|
|
|
| void SetUpTestJob(scoped_ptr<InputStreamReader> stream_reader) {
|
| - scoped_ptr<AndroidStreamReaderURLRequestJob::Delegate>
|
| - stream_reader_delegate(new StreamReaderDelegate());
|
| + SetUpTestJob(stream_reader.Pass(),
|
| + make_scoped_ptr(new StreamReaderDelegate())
|
| + .PassAs<AndroidStreamReaderURLRequestJob::Delegate>());
|
| + }
|
| +
|
| + void SetUpTestJob(scoped_ptr<InputStreamReader> stream_reader,
|
| + scoped_ptr<AndroidStreamReaderURLRequestJob::Delegate>
|
| + stream_reader_delegate) {
|
| TestStreamReaderJob* test_stream_reader_job =
|
| new TestStreamReaderJob(
|
| req_.get(),
|
| @@ -203,6 +220,21 @@ TEST_F(AndroidStreamReaderURLRequestJobTest, ReadEmptyStream) {
|
|
|
| EXPECT_FALSE(url_request_delegate_.request_failed());
|
| EXPECT_EQ(1, network_delegate_.completed_requests());
|
| + EXPECT_EQ(200, req_->GetResponseCode());
|
| +}
|
| +
|
| +TEST_F(AndroidStreamReaderURLRequestJobTest, ReadWithNullStream) {
|
| + SetUpTestJob(scoped_ptr<InputStreamReader>(),
|
| + make_scoped_ptr(new NullStreamReaderDelegate())
|
| + .PassAs<AndroidStreamReaderURLRequestJob::Delegate>());
|
| + req_->Start();
|
| +
|
| + // The TestDelegate will quit the message loop on request completion.
|
| + MessageLoop::current()->Run();
|
| +
|
| + EXPECT_FALSE(url_request_delegate_.request_failed());
|
| + EXPECT_EQ(1, network_delegate_.completed_requests());
|
| + EXPECT_EQ(404, req_->GetResponseCode());
|
| }
|
|
|
| TEST_F(AndroidStreamReaderURLRequestJobTest, ReadPartOfStream) {
|
|
|