Index: net/url_request/url_request_unittest.cc |
=================================================================== |
--- net/url_request/url_request_unittest.cc (revision 25765) |
+++ net/url_request/url_request_unittest.cc (working copy) |
@@ -269,7 +269,8 @@ |
TEST_F(URLRequestTest, TrackingGraveyardBounded) { |
URLRequest::InstanceTracker::Get()->ClearRecentlyDeceased(); |
EXPECT_EQ(0u, URLRequest::InstanceTracker::Get()->GetLiveRequests().size()); |
- EXPECT_EQ(0u, URLRequest::InstanceTracker::Get()->GetLiveRequests().size()); |
+ EXPECT_EQ(0u, |
+ URLRequest::InstanceTracker::Get()->GetRecentlyDeceased().size()); |
const size_t kMaxGraveyardSize = |
URLRequest::InstanceTracker::kMaxGraveyardSize; |
@@ -312,6 +313,28 @@ |
.original_url.spec().size()); |
} |
+// Test the instance tracking functionality of URLRequest does not |
+// fail if the URL was invalid. http://crbug.com/21423. |
+TEST_F(URLRequestTest, TrackingInvalidURL) { |
+ URLRequest::InstanceTracker::Get()->ClearRecentlyDeceased(); |
+ EXPECT_EQ(0u, URLRequest::InstanceTracker::Get()->GetLiveRequests().size()); |
+ EXPECT_EQ(0u, |
+ URLRequest::InstanceTracker::Get()->GetRecentlyDeceased().size()); |
+ |
+ { |
+ GURL invalid_url("xabc"); |
+ EXPECT_FALSE(invalid_url.is_valid()); |
+ URLRequest req(invalid_url, NULL); |
+ } |
+ |
+ // Check that the invalid URL made it into graveyard. |
+ URLRequest::InstanceTracker::RecentRequestInfoList recent_reqs = |
+ URLRequest::InstanceTracker::Get()->GetRecentlyDeceased(); |
+ |
+ ASSERT_EQ(1u, recent_reqs.size()); |
+ EXPECT_FALSE(recent_reqs[0].original_url.is_valid()); |
+} |
+ |
TEST_F(URLRequestTest, QuitTest) { |
// Don't use shared server here because we order it to quit. |
// It would impact other tests. |