Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(424)

Unified Diff: net/url_request/test_url_fetcher_factory.cc

Issue 60923002: [sync] Allow FakeURLFetcher to return an arbitrary URLRequestStatus (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/url_request/test_url_fetcher_factory.h ('k') | remoting/host/token_validator_factory_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/url_request/test_url_fetcher_factory.cc
diff --git a/net/url_request/test_url_fetcher_factory.cc b/net/url_request/test_url_fetcher_factory.cc
index 62fbb074691064bc01e45a6b3d6c29c370f0de47..c95e07d4b3f18187cc229ab748da37b2d31c0bfa 100644
--- a/net/url_request/test_url_fetcher_factory.cc
+++ b/net/url_request/test_url_fetcher_factory.cc
@@ -11,6 +11,7 @@
#include "base/memory/weak_ptr.h"
#include "base/message_loop/message_loop.h"
#include "net/base/host_port_pair.h"
+#include "net/base/net_errors.h"
#include "net/http/http_response_headers.h"
#include "net/url_request/url_fetcher_delegate.h"
#include "net/url_request/url_fetcher_impl.h"
@@ -283,14 +284,26 @@ void TestURLFetcherFactory::SetDelegateForTests(
FakeURLFetcher::FakeURLFetcher(const GURL& url,
URLFetcherDelegate* d,
const std::string& response_data,
- HttpStatusCode response_code)
+ HttpStatusCode response_code,
+ URLRequestStatus::Status status)
: TestURLFetcher(0, url, d),
weak_factory_(this) {
- set_status(URLRequestStatus(
- // Status is FAILED for HTTP/5xx server errors, and SUCCESS otherwise.
- response_code >= HTTP_INTERNAL_SERVER_ERROR ? URLRequestStatus::FAILED :
- URLRequestStatus::SUCCESS,
- 0));
+ Error error = OK;
+ switch(status) {
+ case URLRequestStatus::SUCCESS:
+ // |error| is initialized to OK.
+ break;
+ case URLRequestStatus::IO_PENDING:
+ error = ERR_IO_PENDING;
+ break;
+ case URLRequestStatus::CANCELED:
+ error = ERR_ABORTED;
+ break;
+ case URLRequestStatus::FAILED:
+ error = ERR_FAILED;
+ break;
+ }
+ set_status(URLRequestStatus(status, error));
set_response_code(response_code);
SetResponseString(response_data);
}
@@ -330,11 +343,10 @@ scoped_ptr<FakeURLFetcher> FakeURLFetcherFactory::DefaultFakeURLFetcherCreator(
const GURL& url,
URLFetcherDelegate* delegate,
const std::string& response_data,
- HttpStatusCode response_code) {
- return scoped_ptr<FakeURLFetcher>(new FakeURLFetcher(url,
- delegate,
- response_data,
- response_code));
+ HttpStatusCode response_code,
+ URLRequestStatus::Status status) {
+ return scoped_ptr<FakeURLFetcher>(
+ new FakeURLFetcher(url, delegate, response_data, response_code, status));
}
FakeURLFetcherFactory::~FakeURLFetcherFactory() {}
@@ -356,7 +368,8 @@ URLFetcher* FakeURLFetcherFactory::CreateURLFetcher(
}
scoped_ptr<FakeURLFetcher> fake_fetcher =
- creator_.Run(url, d, it->second.first, it->second.second);
+ creator_.Run(url, d, it->second.response_data,
+ it->second.response_code, it->second.status);
// TODO: Make URLFetcherFactory::CreateURLFetcher return a scoped_ptr
return fake_fetcher.release();
}
@@ -364,9 +377,14 @@ URLFetcher* FakeURLFetcherFactory::CreateURLFetcher(
void FakeURLFetcherFactory::SetFakeResponse(
const GURL& url,
const std::string& response_data,
- HttpStatusCode response_code) {
+ HttpStatusCode response_code,
+ URLRequestStatus::Status status) {
// Overwrite existing URL if it already exists.
- fake_responses_[url] = std::make_pair(response_data, response_code);
+ FakeURLResponse response;
+ response.response_data = response_data;
+ response.response_code = response_code;
+ response.status = status;
+ fake_responses_[url] = response;
}
void FakeURLFetcherFactory::ClearFakeResponses() {
« no previous file with comments | « net/url_request/test_url_fetcher_factory.h ('k') | remoting/host/token_validator_factory_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698