Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Unified Diff: net/proxy/proxy_service_unittest.cc

Issue 6831025: Adds support for the DHCP portion of the WPAD (proxy auto-discovery) protocol. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix memory leaks in unit test. Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/proxy/proxy_service_unittest.cc
diff --git a/net/proxy/proxy_service_unittest.cc b/net/proxy/proxy_service_unittest.cc
index f5ae3d77e7d35a22313a802bc624631ed7d62ca7..aac8bc9683d57a7212edafeae2c0179f5d4772a7 100644
--- a/net/proxy/proxy_service_unittest.cc
+++ b/net/proxy/proxy_service_unittest.cc
@@ -15,7 +15,9 @@
#include "net/base/net_log.h"
#include "net/base/net_log_unittest.h"
#include "net/base/test_completion_callback.h"
+#include "net/proxy/dhcp_proxy_script_fetcher.h"
#include "net/proxy/mock_proxy_resolver.h"
+#include "net/proxy/mock_proxy_script_fetcher.h"
#include "net/proxy/proxy_config_service.h"
#include "net/proxy/proxy_resolver.h"
#include "net/proxy/proxy_script_fetcher.h"
@@ -67,53 +69,6 @@ class MockProxyConfigService: public ProxyConfigService {
} // namespace
-// A mock ProxyScriptFetcher. No result will be returned to the fetch client
-// until we call NotifyFetchCompletion() to set the results.
-class MockProxyScriptFetcher : public ProxyScriptFetcher {
- public:
- MockProxyScriptFetcher()
- : pending_request_callback_(NULL), pending_request_text_(NULL) {
- }
-
- // ProxyScriptFetcher implementation.
- virtual int Fetch(const GURL& url,
- string16* text,
- CompletionCallback* callback) {
- DCHECK(!has_pending_request());
-
- // Save the caller's information, and have them wait.
- pending_request_url_ = url;
- pending_request_callback_ = callback;
- pending_request_text_ = text;
- return ERR_IO_PENDING;
- }
-
- void NotifyFetchCompletion(int result, const std::string& ascii_text) {
- DCHECK(has_pending_request());
- *pending_request_text_ = ASCIIToUTF16(ascii_text);
- CompletionCallback* callback = pending_request_callback_;
- pending_request_callback_ = NULL;
- callback->Run(result);
- }
-
- virtual void Cancel() {}
-
- virtual URLRequestContext* GetRequestContext() { return NULL; }
-
- const GURL& pending_request_url() const {
- return pending_request_url_;
- }
-
- bool has_pending_request() const {
- return pending_request_callback_ != NULL;
- }
-
- private:
- GURL pending_request_url_;
- CompletionCallback* pending_request_callback_;
- string16* pending_request_text_;
-};
-
TEST(ProxyServiceTest, Direct) {
MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
ProxyService service(new MockProxyConfigService(
@@ -449,7 +404,8 @@ TEST(ProxyServiceTest, ProxyResolverFailsParsingJavaScriptMandatoryPac) {
ProxyService service(config_service, resolver, NULL);
MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
- service.SetProxyScriptFetcher(fetcher);
+ DhcpProxyScriptFetcher* dhcp_fetcher = new DoNothingDhcpProxyScriptFetcher();
+ service.SetProxyScriptFetchers(fetcher, dhcp_fetcher);
// Start resolve request.
GURL url("http://www.google.com/");
@@ -1183,7 +1139,8 @@ TEST(ProxyServiceTest, InitialPACScriptDownload) {
ProxyService service(config_service, resolver, NULL);
MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
- service.SetProxyScriptFetcher(fetcher);
+ service.SetProxyScriptFetchers(fetcher,
+ new DoNothingDhcpProxyScriptFetcher());
// Start 3 requests.
@@ -1262,7 +1219,8 @@ TEST(ProxyServiceTest, ChangeScriptFetcherWhilePACDownloadInProgress) {
ProxyService service(config_service, resolver, NULL);
MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
- service.SetProxyScriptFetcher(fetcher);
+ service.SetProxyScriptFetchers(fetcher,
+ new DoNothingDhcpProxyScriptFetcher());
// Start 2 requests.
@@ -1290,7 +1248,8 @@ TEST(ProxyServiceTest, ChangeScriptFetcherWhilePACDownloadInProgress) {
// the initialization with the new fetcher.
fetcher = new MockProxyScriptFetcher;
- service.SetProxyScriptFetcher(fetcher);
+ service.SetProxyScriptFetchers(fetcher,
+ new DoNothingDhcpProxyScriptFetcher());
// Nothing has been sent to the resolver yet.
EXPECT_TRUE(resolver->pending_requests().empty());
@@ -1319,7 +1278,8 @@ TEST(ProxyServiceTest, CancelWhilePACFetching) {
ProxyService service(config_service, resolver, NULL);
MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
- service.SetProxyScriptFetcher(fetcher);
+ service.SetProxyScriptFetchers(fetcher,
+ new DoNothingDhcpProxyScriptFetcher());
// Start 3 requests.
ProxyInfo info1;
@@ -1410,7 +1370,8 @@ TEST(ProxyServiceTest, FallbackFromAutodetectToCustomPac) {
ProxyService service(config_service, resolver, NULL);
MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
- service.SetProxyScriptFetcher(fetcher);
+ service.SetProxyScriptFetchers(fetcher,
+ new DoNothingDhcpProxyScriptFetcher());
// Start 2 requests.
@@ -1480,7 +1441,8 @@ TEST(ProxyServiceTest, FallbackFromAutodetectToCustomPac2) {
ProxyService service(config_service, resolver, NULL);
MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
- service.SetProxyScriptFetcher(fetcher);
+ service.SetProxyScriptFetchers(fetcher,
+ new DoNothingDhcpProxyScriptFetcher());
// Start 2 requests.
@@ -1555,7 +1517,8 @@ TEST(ProxyServiceTest, FallbackFromAutodetectToCustomToManual) {
ProxyService service(config_service, resolver, NULL);
MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
- service.SetProxyScriptFetcher(fetcher);
+ service.SetProxyScriptFetchers(fetcher,
+ new DoNothingDhcpProxyScriptFetcher());
// Start 2 requests.
@@ -1612,7 +1575,8 @@ TEST(ProxyServiceTest, BypassDoesntApplyToPac) {
ProxyService service(config_service, resolver, NULL);
MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
- service.SetProxyScriptFetcher(fetcher);
+ service.SetProxyScriptFetchers(fetcher,
+ new DoNothingDhcpProxyScriptFetcher());
// Start 1 requests.
@@ -1679,7 +1643,8 @@ TEST(ProxyServiceTest, DeleteWhileInitProxyResolverHasOutstandingFetch) {
ProxyService service(config_service, resolver, NULL);
MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
- service.SetProxyScriptFetcher(fetcher);
+ service.SetProxyScriptFetchers(fetcher,
+ new DoNothingDhcpProxyScriptFetcher());
// Start 1 request.
@@ -1810,7 +1775,8 @@ TEST(ProxyServiceTest, NetworkChangeTriggersPacRefetch) {
ProxyService service(config_service, resolver, &log);
MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
- service.SetProxyScriptFetcher(fetcher);
+ service.SetProxyScriptFetchers(fetcher,
+ new DoNothingDhcpProxyScriptFetcher());
// Disable the "wait after IP address changes" hack, so this unit-test can
// complete quickly.
« net/proxy/dhcp_proxy_script_fetcher_win_unittest.cc ('K') | « net/proxy/proxy_service.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698