Chromium Code Reviews| Index: content/browser/loader/resource_loader_unittest.cc |
| diff --git a/content/browser/loader/resource_loader_unittest.cc b/content/browser/loader/resource_loader_unittest.cc |
| index 8be5ec1d0ebdc82e3b30c215e976ef44f6ca83e0..b3aadf6aa6c11a7ff9d4ecafa194949b5b84cc27 100644 |
| --- a/content/browser/loader/resource_loader_unittest.cc |
| +++ b/content/browser/loader/resource_loader_unittest.cc |
| @@ -14,6 +14,7 @@ |
| #include "content/browser/loader/resource_loader_delegate.h" |
| #include "content/public/browser/client_certificate_delegate.h" |
| #include "content/public/browser/resource_request_info.h" |
| +#include "content/public/common/content_paths.h" |
| #include "content/public/common/resource_response.h" |
| #include "content/public/test/mock_resource_context.h" |
| #include "content/public/test/test_browser_context.h" |
| @@ -29,6 +30,7 @@ |
| #include "net/cert/x509_certificate.h" |
| #include "net/ssl/client_cert_store.h" |
| #include "net/ssl/ssl_cert_request_info.h" |
| +#include "net/test/embedded_test_server/embedded_test_server.h" |
| #include "net/url_request/url_request.h" |
| #include "net/url_request/url_request_job_factory.h" |
| #include "net/url_request/url_request_job_factory_impl.h" |
| @@ -390,22 +392,15 @@ class ResourceLoaderTest : public testing::Test, |
| return leaf_handler.Pass(); |
| } |
| - void SetUp() override { |
| - job_factory_.SetProtocolHandler("test", CreateProtocolHandler()); |
| - |
| - browser_context_.reset(new TestBrowserContext()); |
| - scoped_refptr<SiteInstance> site_instance = |
| - SiteInstance::Create(browser_context_.get()); |
| - web_contents_.reset( |
| - TestWebContents::Create(browser_context_.get(), site_instance.get())); |
| - RenderFrameHost* rfh = web_contents_->GetMainFrame(); |
| - |
| + void SetUpResourceLoader(const GURL& url) { |
| scoped_ptr<net::URLRequest> request( |
| resource_context_.GetRequestContext()->CreateRequest( |
| - test_url(), |
| + url, |
| net::DEFAULT_PRIORITY, |
| NULL /* delegate */)); |
| raw_ptr_to_request_ = request.get(); |
| + |
| + RenderFrameHost* rfh = web_contents_->GetMainFrame(); |
| ResourceRequestInfo::AllocateForTesting( |
| request.get(), RESOURCE_TYPE_MAIN_FRAME, &resource_context_, |
| rfh->GetProcess()->GetID(), rfh->GetRenderViewHost()->GetRoutingID(), |
| @@ -421,6 +416,18 @@ class ResourceLoaderTest : public testing::Test, |
| this)); |
| } |
| + void SetUp() override { |
| + job_factory_.SetProtocolHandler("test", CreateProtocolHandler()); |
| + |
| + browser_context_.reset(new TestBrowserContext()); |
| + scoped_refptr<SiteInstance> site_instance = |
| + SiteInstance::Create(browser_context_.get()); |
| + web_contents_.reset( |
| + TestWebContents::Create(browser_context_.get(), site_instance.get())); |
| + |
| + SetUpResourceLoader(test_url()); |
| + } |
| + |
| void TearDown() override { |
| // Destroy the WebContents and pump the event loop before destroying |
| // |rvh_test_enabler_| and |thread_bundle_|. This lets asynchronous cleanup |
| @@ -640,6 +647,23 @@ TEST_F(ResourceLoaderTest, DeferEOF) { |
| raw_ptr_resource_handler_->status().status()); |
| } |
| +TEST_F(ResourceLoaderTest, UploadProgress) { |
| + // Set up a test server. |
| + net::test_server::EmbeddedTestServer server; |
| + ASSERT_TRUE(server.InitializeAndWaitUntilReady()); |
| + base::FilePath path; |
| + PathService::Get(content::DIR_TEST_DATA, &path); |
| + server.ServeFilesFromDirectory(path); |
| + |
| + SetUpResourceLoader(server.GetURL("/title1.html")); |
| + |
| + raw_ptr_to_request_->EnableChunkedUpload(); |
| + raw_ptr_to_request_->AppendChunkToUpload("test", 4, true); |
| + |
| + loader_->StartRequest(); |
| + base::RunLoop().RunUntilIdle(); |
|
Andre
2015/05/20 21:05:12
What should we do here?
What is the best way to wa
mmenke
2015/05/20 21:15:04
My suggestion: Add a method to ResourceHandlerStu
Andre
2015/05/20 22:36:10
Thanks, that works well.
|
| +} |
| + |
| class ResourceLoaderRedirectToFileTest : public ResourceLoaderTest { |
| public: |
| ResourceLoaderRedirectToFileTest() |