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

Unified Diff: components/image_fetcher/core/image_data_fetcher_unittest.cc

Issue 2807143002: [Image fetcher] Add Content-Location header to image_fetcher::RequestMetadata (Closed)
Patch Set: Created 3 years, 8 months 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
Index: components/image_fetcher/core/image_data_fetcher_unittest.cc
diff --git a/components/image_fetcher/core/image_data_fetcher_unittest.cc b/components/image_fetcher/core/image_data_fetcher_unittest.cc
index 90887dde4d4f7cfbf42209706cfbe749099aa4f5..de47936940e765dbce0e04d77260904413fecbd6 100644
--- a/components/image_fetcher/core/image_data_fetcher_unittest.cc
+++ b/components/image_fetcher/core/image_data_fetcher_unittest.cc
@@ -63,17 +63,9 @@ TEST_F(ImageDataFetcherTest, FetchImageData) {
GURL(kImageURL), base::Bind(&ImageDataFetcherTest::OnImageDataFetched,
base::Unretained(this)));
- std::string raw_header =
- "HTTP/1.1 200 OK\n"
- "Content-type: image/png\n\n";
- std::replace(raw_header.begin(), raw_header.end(), '\n', '\0');
- scoped_refptr<net::HttpResponseHeaders> headers(
- new net::HttpResponseHeaders(raw_header));
-
RequestMetadata expected_metadata;
expected_metadata.mime_type = std::string("image/png");
expected_metadata.http_response_code = net::HTTP_OK;
- expected_metadata.http_response_headers = headers.get();
EXPECT_CALL(*this, OnImageDataFetched(std::string(kURLResponseData),
expected_metadata));
@@ -88,6 +80,13 @@ TEST_F(ImageDataFetcherTest, FetchImageData) {
net::URLRequestStatus(net::URLRequestStatus::SUCCESS, net::OK));
test_url_fetcher->SetResponseString(kURLResponseData);
test_url_fetcher->set_response_code(net::HTTP_OK);
+
+ std::string raw_header =
+ "HTTP/1.1 200 OK\n"
+ "Content-type: image/png\n\n";
+ std::replace(raw_header.begin(), raw_header.end(), '\n', '\0');
+ scoped_refptr<net::HttpResponseHeaders> headers(
+ new net::HttpResponseHeaders(raw_header));
test_url_fetcher->set_response_headers(headers);
// Call the URLFetcher delegate to continue the test.
@@ -99,18 +98,10 @@ TEST_F(ImageDataFetcherTest, FetchImageData_FromCache) {
GURL(kImageURL), base::Bind(&ImageDataFetcherTest::OnImageDataFetched,
base::Unretained(this)));
- std::string raw_header =
- "HTTP/1.1 200 OK\n"
- "Content-type: image/png\n\n";
- std::replace(raw_header.begin(), raw_header.end(), '\n', '\0');
- scoped_refptr<net::HttpResponseHeaders> headers(
- new net::HttpResponseHeaders(raw_header));
-
RequestMetadata expected_metadata;
expected_metadata.mime_type = std::string("image/png");
expected_metadata.http_response_code = net::HTTP_OK;
expected_metadata.from_http_cache = true;
- expected_metadata.http_response_headers = headers.get();
EXPECT_CALL(*this, OnImageDataFetched(std::string(kURLResponseData),
expected_metadata));
@@ -122,6 +113,13 @@ TEST_F(ImageDataFetcherTest, FetchImageData_FromCache) {
test_url_fetcher->SetResponseString(kURLResponseData);
test_url_fetcher->set_response_code(net::HTTP_OK);
test_url_fetcher->set_was_cached(true);
+
+ std::string raw_header =
+ "HTTP/1.1 200 OK\n"
+ "Content-type: image/png\n\n";
+ std::replace(raw_header.begin(), raw_header.end(), '\n', '\0');
+ scoped_refptr<net::HttpResponseHeaders> headers(
+ new net::HttpResponseHeaders(raw_header));
test_url_fetcher->set_response_headers(headers);
// Call the URLFetcher delegate to continue the test.
@@ -133,17 +131,40 @@ TEST_F(ImageDataFetcherTest, FetchImageData_NotFound) {
GURL(kImageURL), base::Bind(&ImageDataFetcherTest::OnImageDataFetched,
base::Unretained(this)));
+ RequestMetadata expected_metadata;
+ expected_metadata.mime_type = std::string("image/png");
+ expected_metadata.http_response_code = net::HTTP_NOT_FOUND;
+ // For 404, expect an empty result even though correct image data is sent.
+ EXPECT_CALL(*this, OnImageDataFetched(std::string(), expected_metadata));
+
+ // Get and configure the TestURLFetcher.
+ net::TestURLFetcher* test_url_fetcher = fetcher_factory_.GetFetcherByID(0);
+ ASSERT_NE(nullptr, test_url_fetcher);
+ test_url_fetcher->set_status(
+ net::URLRequestStatus(net::URLRequestStatus::SUCCESS, net::OK));
+ test_url_fetcher->SetResponseString(kURLResponseData);
+
std::string raw_header =
"HTTP/1.1 404 Not Found\n"
"Content-type: image/png\n\n";
std::replace(raw_header.begin(), raw_header.end(), '\n', '\0');
scoped_refptr<net::HttpResponseHeaders> headers(
new net::HttpResponseHeaders(raw_header));
+ test_url_fetcher->set_response_headers(headers);
+
+ // Call the URLFetcher delegate to continue the test.
+ test_url_fetcher->delegate()->OnURLFetchComplete(test_url_fetcher);
+}
+
+TEST_F(ImageDataFetcherTest, FetchImageData_WithContentLocation) {
+ image_data_fetcher_.FetchImageData(
+ GURL(kImageURL), base::Bind(&ImageDataFetcherTest::OnImageDataFetched,
+ base::Unretained(this)));
RequestMetadata expected_metadata;
expected_metadata.mime_type = std::string("image/png");
expected_metadata.http_response_code = net::HTTP_NOT_FOUND;
- expected_metadata.http_response_headers = headers.get();
+ expected_metadata.content_location_header = "http://test-location/image.png";
// For 404, expect an empty result even though correct image data is sent.
EXPECT_CALL(*this, OnImageDataFetched(std::string(), expected_metadata));
@@ -153,6 +174,14 @@ TEST_F(ImageDataFetcherTest, FetchImageData_NotFound) {
test_url_fetcher->set_status(
net::URLRequestStatus(net::URLRequestStatus::SUCCESS, net::OK));
test_url_fetcher->SetResponseString(kURLResponseData);
+
+ std::string raw_header =
+ "HTTP/1.1 404 Not Found\n"
+ "Content-type: image/png\n"
+ "Content-location: http://test-location/image.png\n\n";
+ std::replace(raw_header.begin(), raw_header.end(), '\n', '\0');
+ scoped_refptr<net::HttpResponseHeaders> headers(
+ new net::HttpResponseHeaders(raw_header));
test_url_fetcher->set_response_headers(headers);
// Call the URLFetcher delegate to continue the test.
« no previous file with comments | « components/image_fetcher/core/image_data_fetcher.cc ('k') | components/image_fetcher/core/request_metadata.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698