Index: net/url_request/url_request_unittest.cc |
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc |
index 8ef10a853c89da14750260253cc58b37c36f1406..85e1aa92a51fb020877182aba9a89a807c58a545 100644 |
--- a/net/url_request/url_request_unittest.cc |
+++ b/net/url_request/url_request_unittest.cc |
@@ -1404,6 +1404,33 @@ TEST_F(URLRequestTest, RequestCompletionForEmptyResponse) { |
EXPECT_EQ(1, default_network_delegate_.completed_requests()); |
} |
+// Make sure that URLRequest passes on its priority updates to its |
+// job. |
+TEST_F(URLRequestTest, Priority) { |
+ TestDelegate d; |
+ URLRequest req(GURL("http://test_intercept/foo"), &d, &default_context_); |
+ EXPECT_EQ(LOWEST, req.priority()); |
+ |
+ URLRequestTestJob* job = |
+ new URLRequestTestJob(&req, &default_network_delegate_); |
+ AddTestInterceptor()->set_main_intercept_job(job); |
+ EXPECT_EQ(LOWEST, job->priority()); |
+ |
+ req.SetPriority(LOW); |
+ EXPECT_EQ(LOW, req.priority()); |
+ // |req| doesn't know about |job| yet. |
+ EXPECT_EQ(LOWEST, job->priority()); |
+ |
+ req.Start(); |
+ // |req| now knows about |job|, but |job| doesn't update its |
+ // priority. |
+ EXPECT_EQ(LOWEST, job->priority()); |
+ |
+ req.SetPriority(HIGHEST); |
+ EXPECT_EQ(HIGHEST, req.priority()); |
+ EXPECT_EQ(HIGHEST, job->priority()); |
+} |
+ |
// TODO(droger): Support TestServer on iOS (see http://crbug.com/148666). |
#if !defined(OS_IOS) |
// A subclass of TestServer that uses a statically-configured hostname. This is |