| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/extensions/extension_apitest.h" | 5 #include "chrome/browser/extensions/extension_apitest.h" |
| 6 | 6 |
| 7 #include "base/strings/string_split.h" | 7 #include "base/strings/string_split.h" |
| 8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
| 9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
| 10 #include "chrome/browser/chrome_notification_types.h" | 10 #include "chrome/browser/chrome_notification_types.h" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 #include "net/test/embedded_test_server/http_request.h" | 26 #include "net/test/embedded_test_server/http_request.h" |
| 27 #include "net/test/embedded_test_server/http_response.h" | 27 #include "net/test/embedded_test_server/http_response.h" |
| 28 #include "net/test/spawned_test_server/spawned_test_server.h" | 28 #include "net/test/spawned_test_server/spawned_test_server.h" |
| 29 | 29 |
| 30 namespace { | 30 namespace { |
| 31 | 31 |
| 32 const char kTestCustomArg[] = "customArg"; | 32 const char kTestCustomArg[] = "customArg"; |
| 33 const char kTestServerPort[] = "testServer.port"; | 33 const char kTestServerPort[] = "testServer.port"; |
| 34 const char kTestDataDirectory[] = "testDataDirectory"; | 34 const char kTestDataDirectory[] = "testDataDirectory"; |
| 35 const char kTestWebSocketPort[] = "testWebSocketPort"; | 35 const char kTestWebSocketPort[] = "testWebSocketPort"; |
| 36 const char kFtpServerPort[] = "ftpServer.port"; |
| 36 const char kSpawnedTestServerPort[] = "spawnedTestServer.port"; | 37 const char kSpawnedTestServerPort[] = "spawnedTestServer.port"; |
| 37 | 38 |
| 38 scoped_ptr<net::test_server::HttpResponse> HandleServerRedirectRequest( | 39 scoped_ptr<net::test_server::HttpResponse> HandleServerRedirectRequest( |
| 39 const net::test_server::HttpRequest& request) { | 40 const net::test_server::HttpRequest& request) { |
| 40 if (!StartsWithASCII(request.relative_url, "/server-redirect?", true)) | 41 if (!StartsWithASCII(request.relative_url, "/server-redirect?", true)) |
| 41 return scoped_ptr<net::test_server::HttpResponse>(); | 42 return scoped_ptr<net::test_server::HttpResponse>(); |
| 42 | 43 |
| 43 size_t query_string_pos = request.relative_url.find('?'); | 44 size_t query_string_pos = request.relative_url.find('?'); |
| 44 std::string redirect_target = | 45 std::string redirect_target = |
| 45 request.relative_url.substr(query_string_pos + 1); | 46 request.relative_url.substr(query_string_pos + 1); |
| (...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 442 | 443 |
| 443 if (!websocket_server_->Start()) | 444 if (!websocket_server_->Start()) |
| 444 return false; | 445 return false; |
| 445 | 446 |
| 446 test_config_->SetInteger(kTestWebSocketPort, | 447 test_config_->SetInteger(kTestWebSocketPort, |
| 447 websocket_server_->host_port_pair().port()); | 448 websocket_server_->host_port_pair().port()); |
| 448 | 449 |
| 449 return true; | 450 return true; |
| 450 } | 451 } |
| 451 | 452 |
| 453 bool ExtensionApiTest::StartFTPServer(const base::FilePath& root_directory) { |
| 454 ftp_server_.reset(new net::SpawnedTestServer( |
| 455 net::SpawnedTestServer::TYPE_FTP, |
| 456 net::SpawnedTestServer::kLocalhost, |
| 457 root_directory)); |
| 458 |
| 459 if (!ftp_server_->Start()) |
| 460 return false; |
| 461 |
| 462 test_config_->SetInteger(kFtpServerPort, |
| 463 ftp_server_->host_port_pair().port()); |
| 464 |
| 465 return true; |
| 466 } |
| 467 |
| 452 bool ExtensionApiTest::StartSpawnedTestServer() { | 468 bool ExtensionApiTest::StartSpawnedTestServer() { |
| 453 if (!test_server()->Start()) | 469 if (!test_server()->Start()) |
| 454 return false; | 470 return false; |
| 455 | 471 |
| 456 // Build a dictionary of values that tests can use to build URLs that | 472 // Build a dictionary of values that tests can use to build URLs that |
| 457 // access the test server and local file system. Tests can see these values | 473 // access the test server and local file system. Tests can see these values |
| 458 // using the extension API function chrome.test.getConfig(). | 474 // using the extension API function chrome.test.getConfig(). |
| 459 test_config_->SetInteger(kSpawnedTestServerPort, | 475 test_config_->SetInteger(kSpawnedTestServerPort, |
| 460 test_server()->host_port_pair().port()); | 476 test_server()->host_port_pair().port()); |
| 461 | 477 |
| 462 return true; | 478 return true; |
| 463 } | 479 } |
| 464 | 480 |
| 465 void ExtensionApiTest::SetUpCommandLine(CommandLine* command_line) { | 481 void ExtensionApiTest::SetUpCommandLine(CommandLine* command_line) { |
| 466 ExtensionBrowserTest::SetUpCommandLine(command_line); | 482 ExtensionBrowserTest::SetUpCommandLine(command_line); |
| 467 test_data_dir_ = test_data_dir_.AppendASCII("api_test"); | 483 test_data_dir_ = test_data_dir_.AppendASCII("api_test"); |
| 468 } | 484 } |
| OLD | NEW |