OLD | NEW |
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/url_request/url_request_unittest.h" | 5 #include "net/url_request/url_request_unittest.h" |
6 | 6 |
7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
8 | 8 |
9 #if defined(OS_WIN) | 9 #if defined(OS_WIN) |
10 #include <windows.h> | 10 #include <windows.h> |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
262 ASSERT_EQ(3u, recent_reqs.size()); | 262 ASSERT_EQ(3u, recent_reqs.size()); |
263 EXPECT_EQ(GURL("http://req3"), recent_reqs[0].original_url); | 263 EXPECT_EQ(GURL("http://req3"), recent_reqs[0].original_url); |
264 EXPECT_EQ(GURL("http://req2"), recent_reqs[1].original_url); | 264 EXPECT_EQ(GURL("http://req2"), recent_reqs[1].original_url); |
265 EXPECT_EQ(GURL("http://req1"), recent_reqs[2].original_url); | 265 EXPECT_EQ(GURL("http://req1"), recent_reqs[2].original_url); |
266 } | 266 } |
267 | 267 |
268 // Test the instance tracking functionality of URLRequest. | 268 // Test the instance tracking functionality of URLRequest. |
269 TEST_F(URLRequestTest, TrackingGraveyardBounded) { | 269 TEST_F(URLRequestTest, TrackingGraveyardBounded) { |
270 URLRequest::InstanceTracker::Get()->ClearRecentlyDeceased(); | 270 URLRequest::InstanceTracker::Get()->ClearRecentlyDeceased(); |
271 EXPECT_EQ(0u, URLRequest::InstanceTracker::Get()->GetLiveRequests().size()); | 271 EXPECT_EQ(0u, URLRequest::InstanceTracker::Get()->GetLiveRequests().size()); |
272 EXPECT_EQ(0u, URLRequest::InstanceTracker::Get()->GetLiveRequests().size()); | 272 EXPECT_EQ(0u, |
| 273 URLRequest::InstanceTracker::Get()->GetRecentlyDeceased().size()); |
273 | 274 |
274 const size_t kMaxGraveyardSize = | 275 const size_t kMaxGraveyardSize = |
275 URLRequest::InstanceTracker::kMaxGraveyardSize; | 276 URLRequest::InstanceTracker::kMaxGraveyardSize; |
276 const size_t kMaxURLLen = URLRequest::InstanceTracker::kMaxGraveyardURLSize; | 277 const size_t kMaxURLLen = URLRequest::InstanceTracker::kMaxGraveyardURLSize; |
277 | 278 |
278 // Add twice as many requests as will fit in the graveyard. | 279 // Add twice as many requests as will fit in the graveyard. |
279 for (size_t i = 0; i < kMaxGraveyardSize * 2; ++i) | 280 for (size_t i = 0; i < kMaxGraveyardSize * 2; ++i) |
280 URLRequest req(GURL(StringPrintf("http://req%d", i).c_str()), NULL); | 281 URLRequest req(GURL(StringPrintf("http://req%d", i).c_str()), NULL); |
281 | 282 |
282 // Check that only the last |kMaxGraveyardSize| requests are in-memory. | 283 // Check that only the last |kMaxGraveyardSize| requests are in-memory. |
(...skipping 22 matching lines...) Expand all Loading... |
305 } | 306 } |
306 ASSERT_EQ(1u, | 307 ASSERT_EQ(1u, |
307 URLRequest::InstanceTracker::Get()->GetRecentlyDeceased().size()); | 308 URLRequest::InstanceTracker::Get()->GetRecentlyDeceased().size()); |
308 // The +1 is because GURL canonicalizes with a trailing '/' ... maybe | 309 // The +1 is because GURL canonicalizes with a trailing '/' ... maybe |
309 // we should just save the std::string rather than the GURL. | 310 // we should just save the std::string rather than the GURL. |
310 EXPECT_EQ(kMaxURLLen + 1, | 311 EXPECT_EQ(kMaxURLLen + 1, |
311 URLRequest::InstanceTracker::Get()->GetRecentlyDeceased()[0] | 312 URLRequest::InstanceTracker::Get()->GetRecentlyDeceased()[0] |
312 .original_url.spec().size()); | 313 .original_url.spec().size()); |
313 } | 314 } |
314 | 315 |
| 316 // Test the instance tracking functionality of URLRequest does not |
| 317 // fail if the URL was invalid. http://crbug.com/21423. |
| 318 TEST_F(URLRequestTest, TrackingInvalidURL) { |
| 319 URLRequest::InstanceTracker::Get()->ClearRecentlyDeceased(); |
| 320 EXPECT_EQ(0u, URLRequest::InstanceTracker::Get()->GetLiveRequests().size()); |
| 321 EXPECT_EQ(0u, |
| 322 URLRequest::InstanceTracker::Get()->GetRecentlyDeceased().size()); |
| 323 |
| 324 { |
| 325 GURL invalid_url("xabc"); |
| 326 EXPECT_FALSE(invalid_url.is_valid()); |
| 327 URLRequest req(invalid_url, NULL); |
| 328 } |
| 329 |
| 330 // Check that the invalid URL made it into graveyard. |
| 331 URLRequest::InstanceTracker::RecentRequestInfoList recent_reqs = |
| 332 URLRequest::InstanceTracker::Get()->GetRecentlyDeceased(); |
| 333 |
| 334 ASSERT_EQ(1u, recent_reqs.size()); |
| 335 EXPECT_FALSE(recent_reqs[0].original_url.is_valid()); |
| 336 } |
| 337 |
315 TEST_F(URLRequestTest, QuitTest) { | 338 TEST_F(URLRequestTest, QuitTest) { |
316 // Don't use shared server here because we order it to quit. | 339 // Don't use shared server here because we order it to quit. |
317 // It would impact other tests. | 340 // It would impact other tests. |
318 scoped_refptr<HTTPTestServer> server = | 341 scoped_refptr<HTTPTestServer> server = |
319 HTTPTestServer::CreateServer(L"", NULL); | 342 HTTPTestServer::CreateServer(L"", NULL); |
320 ASSERT_TRUE(NULL != server.get()); | 343 ASSERT_TRUE(NULL != server.get()); |
321 server->SendQuit(); | 344 server->SendQuit(); |
322 EXPECT_TRUE(server->WaitToFinish(20000)); | 345 EXPECT_TRUE(server->WaitToFinish(20000)); |
323 } | 346 } |
324 | 347 |
(...skipping 1768 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2093 | 2116 |
2094 int64 file_size = 0; | 2117 int64 file_size = 0; |
2095 file_util::GetFileSize(app_path, &file_size); | 2118 file_util::GetFileSize(app_path, &file_size); |
2096 | 2119 |
2097 EXPECT_FALSE(r.is_pending()); | 2120 EXPECT_FALSE(r.is_pending()); |
2098 EXPECT_EQ(1, d.response_started_count()); | 2121 EXPECT_EQ(1, d.response_started_count()); |
2099 EXPECT_FALSE(d.received_data_before_response()); | 2122 EXPECT_FALSE(d.received_data_before_response()); |
2100 EXPECT_EQ(d.bytes_received(), static_cast<int>(file_size)); | 2123 EXPECT_EQ(d.bytes_received(), static_cast<int>(file_size)); |
2101 } | 2124 } |
2102 } | 2125 } |
OLD | NEW |