| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/message_loop_proxy.h" | 5 #include "base/message_loop_proxy.h" |
| 6 #include "base/synchronization/waitable_event.h" | 6 #include "base/synchronization/waitable_event.h" |
| 7 #include "base/threading/thread.h" | 7 #include "base/threading/thread.h" |
| 8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
| 9 #include "chrome/common/net/url_fetcher.h" | 9 #include "chrome/common/net/url_fetcher.h" |
| 10 #include "net/http/http_response_headers.h" | 10 #include "net/http/http_response_headers.h" |
| (...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 | 308 |
| 309 class URLFetcherTempFileTest : public URLFetcherTest { | 309 class URLFetcherTempFileTest : public URLFetcherTest { |
| 310 public: | 310 public: |
| 311 URLFetcherTempFileTest() | 311 URLFetcherTempFileTest() |
| 312 : take_ownership_of_temp_file_(false) { | 312 : take_ownership_of_temp_file_(false) { |
| 313 } | 313 } |
| 314 | 314 |
| 315 // URLFetcher::Delegate | 315 // URLFetcher::Delegate |
| 316 virtual void OnURLFetchComplete(const URLFetcher* source); | 316 virtual void OnURLFetchComplete(const URLFetcher* source); |
| 317 | 317 |
| 318 // This obsolete signature should not be used, but must be present |
| 319 // to make clang happy. |
| 320 virtual void OnURLFetchComplete(const URLFetcher* source, |
| 321 const GURL& url, |
| 322 const net::URLRequestStatus& status, |
| 323 int response_code, |
| 324 const net::ResponseCookies& cookies, |
| 325 const std::string& data); |
| 326 |
| 318 virtual void CreateFetcher(const GURL& url); | 327 virtual void CreateFetcher(const GURL& url); |
| 319 | 328 |
| 320 protected: | 329 protected: |
| 321 FilePath expected_file_; | 330 FilePath expected_file_; |
| 322 FilePath temp_file_; | 331 FilePath temp_file_; |
| 323 | 332 |
| 324 // Set by the test. Used in OnURLFetchComplete() to decide if | 333 // Set by the test. Used in OnURLFetchComplete() to decide if |
| 325 // the URLFetcher should own the temp file, so that we can test | 334 // the URLFetcher should own the temp file, so that we can test |
| 326 // disowning prevents the file from being deleted. | 335 // disowning prevents the file from being deleted. |
| 327 bool take_ownership_of_temp_file_; | 336 bool take_ownership_of_temp_file_; |
| (...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 633 EXPECT_EQ(source->response_code(), 200); | 642 EXPECT_EQ(source->response_code(), 200); |
| 634 | 643 |
| 635 EXPECT_TRUE(source->GetResponseAsFilePath( | 644 EXPECT_TRUE(source->GetResponseAsFilePath( |
| 636 take_ownership_of_temp_file_, &temp_file_)); | 645 take_ownership_of_temp_file_, &temp_file_)); |
| 637 | 646 |
| 638 EXPECT_TRUE(file_util::ContentsEqual(expected_file_, temp_file_)); | 647 EXPECT_TRUE(file_util::ContentsEqual(expected_file_, temp_file_)); |
| 639 | 648 |
| 640 io_message_loop_proxy()->PostTask(FROM_HERE, new MessageLoop::QuitTask()); | 649 io_message_loop_proxy()->PostTask(FROM_HERE, new MessageLoop::QuitTask()); |
| 641 } | 650 } |
| 642 | 651 |
| 652 void URLFetcherTempFileTest::OnURLFetchComplete( |
| 653 const URLFetcher* source, |
| 654 const GURL& url, |
| 655 const net::URLRequestStatus& status, |
| 656 int response_code, |
| 657 const net::ResponseCookies& cookies, |
| 658 const std::string& data) { |
| 659 NOTREACHED(); |
| 660 } |
| 661 |
| 662 |
| 643 TEST_F(URLFetcherTest, SameThreadsTest) { | 663 TEST_F(URLFetcherTest, SameThreadsTest) { |
| 644 net::TestServer test_server(net::TestServer::TYPE_HTTP, FilePath(kDocRoot)); | 664 net::TestServer test_server(net::TestServer::TYPE_HTTP, FilePath(kDocRoot)); |
| 645 ASSERT_TRUE(test_server.Start()); | 665 ASSERT_TRUE(test_server.Start()); |
| 646 | 666 |
| 647 // Create the fetcher on the main thread. Since IO will happen on the main | 667 // Create the fetcher on the main thread. Since IO will happen on the main |
| 648 // thread, this will test URLFetcher's ability to do everything on one | 668 // thread, this will test URLFetcher's ability to do everything on one |
| 649 // thread. | 669 // thread. |
| 650 CreateFetcher(test_server.GetURL("defaultresponse")); | 670 CreateFetcher(test_server.GetURL("defaultresponse")); |
| 651 | 671 |
| 652 MessageLoop::current()->Run(); | 672 MessageLoop::current()->Run(); |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 884 FROM_HERE, | 904 FROM_HERE, |
| 885 new CurriedTask(new MessageLoop::QuitTask(), MessageLoop::current())); | 905 new CurriedTask(new MessageLoop::QuitTask(), MessageLoop::current())); |
| 886 MessageLoop::current()->Run(); | 906 MessageLoop::current()->Run(); |
| 887 EXPECT_EQ(1, GetNumFetcherCores()); | 907 EXPECT_EQ(1, GetNumFetcherCores()); |
| 888 URLFetcher::CancelAll(); | 908 URLFetcher::CancelAll(); |
| 889 EXPECT_EQ(0, GetNumFetcherCores()); | 909 EXPECT_EQ(0, GetNumFetcherCores()); |
| 890 delete fetcher_; | 910 delete fetcher_; |
| 891 } | 911 } |
| 892 | 912 |
| 893 } // namespace. | 913 } // namespace. |
| OLD | NEW |