Index: content/browser/loader/intercepting_resource_handler_unittest.cc |
diff --git a/content/browser/loader/intercepting_resource_handler_unittest.cc b/content/browser/loader/intercepting_resource_handler_unittest.cc |
index 7a877b673fd0dd788b2f11f047be4b761369f4f3..9f2096ce76cc344fa15b98a40c0544d459a2b1a0 100644 |
--- a/content/browser/loader/intercepting_resource_handler_unittest.cc |
+++ b/content/browser/loader/intercepting_resource_handler_unittest.cc |
@@ -16,6 +16,7 @@ |
#include "base/memory/ptr_util.h" |
#include "base/single_thread_task_runner.h" |
#include "base/threading/thread_task_runner_handle.h" |
+#include "content/browser/loader/test_resource_handler.h" |
#include "content/public/browser/resource_controller.h" |
#include "content/public/browser/resource_request_info.h" |
#include "content/public/common/resource_response.h" |
@@ -48,152 +49,6 @@ class TestResourceController : public ResourceController { |
DISALLOW_COPY_AND_ASSIGN(TestResourceController); |
}; |
-// TODO(yhirano): This class should use a similar pattern with |
-// TestResourceHandler in mime_sniffing_resource_handler_unittest.cc. Consider |
-// unifying the two classes. |
-class TestResourceHandler : public ResourceHandler { |
- public: |
- // A test version of a ResourceHandler. |request_status| will be updated when |
- // the response is complete with the final status of the request received by |
- // the handler and |body| will be updated on each OnReadCompleted call. |
- explicit TestResourceHandler(net::URLRequestStatus* request_status, |
- std::string* body) |
- : ResourceHandler(nullptr), request_status_(request_status), body_(body) { |
- SetBufferSize(2048); |
- } |
- |
- ~TestResourceHandler() override {} |
- |
- void SetController(ResourceController* controller) override {} |
- |
- bool OnRequestRedirected(const net::RedirectInfo& redirect_info, |
- ResourceResponse* response, |
- bool* defer) override { |
- NOTREACHED(); |
- return false; |
- } |
- |
- bool OnResponseStarted(ResourceResponse* response, bool* defer) override { |
- EXPECT_TRUE(will_start_called_); |
- EXPECT_FALSE(response_started_called_); |
- EXPECT_FALSE(response_completed_called_); |
- response_started_called_ = true; |
- |
- if (!on_response_started_result_) |
- return false; |
- *defer = defer_on_response_started_; |
- defer_on_response_started_ = false; |
- return true; |
- } |
- |
- bool OnWillStart(const GURL& url, bool* defer) override { |
- EXPECT_FALSE(response_started_called_); |
- EXPECT_FALSE(will_start_called_); |
- EXPECT_FALSE(response_completed_called_); |
- will_start_called_ = true; |
- |
- if (!on_will_start_result_) |
- return false; |
- |
- *defer = defer_on_will_start_; |
- return true; |
- } |
- |
- bool OnWillRead(scoped_refptr<net::IOBuffer>* buf, |
- int* buf_size, |
- int min_size) override { |
- EXPECT_FALSE(response_completed_called_); |
- |
- *buf = buffer_; |
- *buf_size = buffer_size_; |
- memset(buffer_->data(), '\0', buffer_size_); |
- return on_will_read_result_; |
- } |
- |
- bool OnReadCompleted(int bytes_read, bool* defer) override { |
- EXPECT_TRUE(will_start_called_); |
- EXPECT_TRUE(response_started_called_); |
- EXPECT_FALSE(response_completed_called_); |
- |
- EXPECT_LE(static_cast<size_t>(bytes_read), buffer_size_); |
- body_->append(buffer_->data(), bytes_read); |
- if (!on_read_completed_result_) |
- return false; |
- *defer = defer_on_read_completed_; |
- defer_on_read_completed_ = false; |
- return true; |
- } |
- |
- void OnResponseCompleted(const net::URLRequestStatus& status, |
- bool* defer) override { |
- EXPECT_FALSE(response_completed_called_); |
- response_completed_called_ = true; |
- *request_status_ = status; |
- *defer = defer_on_response_completed_; |
- defer_on_response_completed_ = false; |
- } |
- |
- void OnDataDownloaded(int bytes_downloaded) override { NOTREACHED(); } |
- |
- scoped_refptr<net::IOBuffer> buffer() const { return buffer_; } |
- |
- // Sets the size of the read buffer returned by OnWillRead. Releases reference |
- // to previous read buffer. |
- void SetBufferSize(int buffer_size) { |
- buffer_ = new net::IOBuffer(buffer_size); |
- buffer_size_ = buffer_size; |
- memset(buffer_->data(), '\0', buffer_size); |
- } |
- |
- void set_on_will_start_result(bool on_will_start_result) { |
- on_will_start_result_ = on_will_start_result; |
- } |
- void set_on_response_started_result(bool on_response_started_result) { |
- on_response_started_result_ = on_response_started_result; |
- } |
- void set_on_will_read_result(bool on_will_read_result) { |
- on_will_read_result_ = on_will_read_result; |
- } |
- void set_on_read_completed_result(bool on_read_completed_result) { |
- on_read_completed_result_ = on_read_completed_result; |
- } |
- |
- void set_defer_on_will_start(bool defer_on_will_start) { |
- defer_on_will_start_ = defer_on_will_start; |
- } |
- void set_defer_on_response_started(bool defer_on_response_started) { |
- defer_on_response_started_ = defer_on_response_started; |
- } |
- void set_defer_on_read_completed(bool defer_on_read_completed) { |
- defer_on_read_completed_ = defer_on_read_completed; |
- } |
- void set_defer_on_response_completed(bool defer_on_response_completed) { |
- defer_on_response_completed_ = defer_on_response_completed; |
- } |
- |
- private: |
- net::URLRequestStatus* request_status_; |
- std::string* body_; |
- scoped_refptr<net::IOBuffer> buffer_; |
- size_t buffer_size_; |
- |
- bool on_will_start_result_ = true; |
- bool on_response_started_result_ = true; |
- bool on_will_read_result_ = true; |
- bool on_read_completed_result_ = true; |
- |
- bool defer_on_will_start_ = false; |
- bool defer_on_response_started_ = false; |
- bool defer_on_read_completed_ = false; |
- bool defer_on_response_completed_ = false; |
- |
- bool will_start_called_ = false; |
- bool response_started_called_ = false; |
- bool response_completed_called_ = false; |
- |
- DISALLOW_COPY_AND_ASSIGN(TestResourceHandler); |
-}; |
- |
class InterceptingResourceHandlerTest : public testing::Test { |
public: |
InterceptingResourceHandlerTest() {} |