summaryrefslogtreecommitdiffstats
path: root/net/proxy/proxy_script_decider_unittest.cc
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-20 02:15:31 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-20 02:15:31 +0000
commit2357868189633f0e115648d744522b6063d2c440 (patch)
tree804b8784c016f8f03820cfd7d4deb3fdb76b0893 /net/proxy/proxy_script_decider_unittest.cc
parent05769e3c62f9371a8aef06c810ac6767b410241d (diff)
downloadchromium_src-2357868189633f0e115648d744522b6063d2c440.zip
chromium_src-2357868189633f0e115648d744522b6063d2c440.tar.gz
chromium_src-2357868189633f0e115648d744522b6063d2c440.tar.bz2
base::Bind: Convert net/proxy.
BUG=none TEST=none R=csilv Review URL: http://codereview.chromium.org/8985012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115068 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/proxy/proxy_script_decider_unittest.cc')
-rw-r--r--net/proxy/proxy_script_decider_unittest.cc81
1 files changed, 43 insertions, 38 deletions
diff --git a/net/proxy/proxy_script_decider_unittest.cc b/net/proxy/proxy_script_decider_unittest.cc
index f2d6c82..23fee76 100644
--- a/net/proxy/proxy_script_decider_unittest.cc
+++ b/net/proxy/proxy_script_decider_unittest.cc
@@ -4,6 +4,7 @@
#include <vector>
+#include "base/bind.h"
#include "base/message_loop.h"
#include "base/string_util.h"
#include "base/time.h"
@@ -96,7 +97,7 @@ class RuleBasedProxyScriptFetcher : public ProxyScriptFetcher {
// ProxyScriptFetcher implementation.
virtual int Fetch(const GURL& url,
string16* text,
- OldCompletionCallback* callback) {
+ const CompletionCallback& callback) {
const Rules::Rule& rule = rules_->GetRuleByUrl(url);
int rv = rule.fetch_error;
EXPECT_NE(ERR_UNEXPECTED, rv);
@@ -124,11 +125,11 @@ TEST(ProxyScriptDeciderTest, CustomPacSucceeds) {
Rules::Rule rule = rules.AddSuccessRule("http://custom/proxy.pac");
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
CapturingNetLog log(CapturingNetLog::kUnbounded);
ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, &log);
EXPECT_EQ(OK, decider.Start(
- config, base::TimeDelta(), true, &callback));
+ config, base::TimeDelta(), true, callback.callback()));
EXPECT_EQ(rule.text(), decider.script_data()->utf16());
// Check the NetLog was filled correctly.
@@ -160,11 +161,12 @@ TEST(ProxyScriptDeciderTest, CustomPacFails1) {
rules.AddFailDownloadRule("http://custom/proxy.pac");
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
CapturingNetLog log(CapturingNetLog::kUnbounded);
ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, &log);
EXPECT_EQ(kFailedDownloading,
- decider.Start(config, base::TimeDelta(), true, &callback));
+ decider.Start(config, base::TimeDelta(), true,
+ callback.callback()));
EXPECT_EQ(NULL, decider.script_data());
// Check the NetLog was filled correctly.
@@ -195,10 +197,11 @@ TEST(ProxyScriptDeciderTest, CustomPacFails2) {
rules.AddFailParsingRule("http://custom/proxy.pac");
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, NULL);
EXPECT_EQ(kFailedParsing,
- decider.Start(config, base::TimeDelta(), true, &callback));
+ decider.Start(config, base::TimeDelta(), true,
+ callback.callback()));
EXPECT_EQ(NULL, decider.script_data());
}
@@ -210,10 +213,11 @@ TEST(ProxyScriptDeciderTest, HasNullProxyScriptFetcher) {
ProxyConfig config;
config.set_pac_url(GURL("http://custom/proxy.pac"));
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
ProxyScriptDecider decider(NULL, &dhcp_fetcher, NULL);
EXPECT_EQ(ERR_UNEXPECTED,
- decider.Start(config, base::TimeDelta(), true, &callback));
+ decider.Start(config, base::TimeDelta(), true,
+ callback.callback()));
EXPECT_EQ(NULL, decider.script_data());
}
@@ -228,10 +232,10 @@ TEST(ProxyScriptDeciderTest, AutodetectSuccess) {
Rules::Rule rule = rules.AddSuccessRule("http://wpad/wpad.dat");
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, NULL);
EXPECT_EQ(OK, decider.Start(
- config, base::TimeDelta(), true, &callback));
+ config, base::TimeDelta(), true, callback.callback()));
EXPECT_EQ(rule.text(), decider.script_data()->utf16());
EXPECT_TRUE(decider.effective_config().has_pac_url());
@@ -251,10 +255,10 @@ TEST(ProxyScriptDeciderTest, AutodetectFailCustomSuccess1) {
rules.AddFailDownloadRule("http://wpad/wpad.dat");
Rules::Rule rule = rules.AddSuccessRule("http://custom/proxy.pac");
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, NULL);
EXPECT_EQ(OK, decider.Start(
- config, base::TimeDelta(), true, &callback));
+ config, base::TimeDelta(), true, callback.callback()));
EXPECT_EQ(rule.text(), decider.script_data()->utf16());
EXPECT_TRUE(decider.effective_config().has_pac_url());
@@ -276,12 +280,12 @@ TEST(ProxyScriptDeciderTest, AutodetectFailCustomSuccess2) {
rules.AddFailParsingRule("http://wpad/wpad.dat");
Rules::Rule rule = rules.AddSuccessRule("http://custom/proxy.pac");
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
CapturingNetLog log(CapturingNetLog::kUnbounded);
ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, &log);
EXPECT_EQ(OK, decider.Start(config, base::TimeDelta(),
- true, &callback));
+ true, callback.callback()));
EXPECT_EQ(rule.text(), decider.script_data()->utf16());
// Verify that the effective configuration no longer contains auto detect or
@@ -339,10 +343,11 @@ TEST(ProxyScriptDeciderTest, AutodetectFailCustomFails1) {
rules.AddFailDownloadRule("http://wpad/wpad.dat");
rules.AddFailDownloadRule("http://custom/proxy.pac");
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, NULL);
EXPECT_EQ(kFailedDownloading,
- decider.Start(config, base::TimeDelta(), true, &callback));
+ decider.Start(config, base::TimeDelta(), true,
+ callback.callback()));
EXPECT_EQ(NULL, decider.script_data());
}
@@ -359,10 +364,11 @@ TEST(ProxyScriptDeciderTest, AutodetectFailCustomFails2) {
rules.AddFailDownloadRule("http://wpad/wpad.dat");
rules.AddFailParsingRule("http://custom/proxy.pac");
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, NULL);
EXPECT_EQ(kFailedParsing,
- decider.Start(config, base::TimeDelta(), true, &callback));
+ decider.Start(config, base::TimeDelta(), true,
+ callback.callback()));
EXPECT_EQ(NULL, decider.script_data());
}
@@ -379,12 +385,12 @@ TEST(ProxyScriptDeciderTest, CustomPacFails1_WithPositiveDelay) {
rules.AddFailDownloadRule("http://custom/proxy.pac");
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
CapturingNetLog log(CapturingNetLog::kUnbounded);
ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, &log);
EXPECT_EQ(ERR_IO_PENDING,
decider.Start(config, base::TimeDelta::FromMilliseconds(1),
- true, &callback));
+ true, callback.callback()));
EXPECT_EQ(kFailedDownloading, callback.WaitForResult());
EXPECT_EQ(NULL, decider.script_data());
@@ -421,12 +427,12 @@ TEST(ProxyScriptDeciderTest, CustomPacFails1_WithNegativeDelay) {
rules.AddFailDownloadRule("http://custom/proxy.pac");
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
CapturingNetLog log(CapturingNetLog::kUnbounded);
ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, &log);
EXPECT_EQ(kFailedDownloading,
decider.Start(config, base::TimeDelta::FromSeconds(-5),
- true, &callback));
+ true, callback.callback()));
EXPECT_EQ(NULL, decider.script_data());
// Check the NetLog was filled correctly.
@@ -450,7 +456,7 @@ class SynchronousSuccessDhcpFetcher : public DhcpProxyScriptFetcher {
: gurl_("http://dhcppac/"), expected_text_(expected_text) {
}
- int Fetch(string16* utf16_text, OldCompletionCallback* callback) OVERRIDE {
+ int Fetch(string16* utf16_text, const CompletionCallback& callback) OVERRIDE {
*utf16_text = expected_text_;
return OK;
}
@@ -490,10 +496,10 @@ TEST(ProxyScriptDeciderTest, AutodetectDhcpSuccess) {
rules.AddSuccessRule("http://bingo/");
rules.AddFailDownloadRule("http://wpad/wpad.dat");
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, NULL);
EXPECT_EQ(OK, decider.Start(
- config, base::TimeDelta(), true, &callback));
+ config, base::TimeDelta(), true, callback.callback()));
EXPECT_EQ(dhcp_fetcher.expected_text(),
decider.script_data()->utf16());
@@ -513,12 +519,12 @@ TEST(ProxyScriptDeciderTest, AutodetectDhcpFailParse) {
rules.AddFailParsingRule("http://bingo/");
rules.AddFailDownloadRule("http://wpad/wpad.dat");
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
ProxyScriptDecider decider(&fetcher, &dhcp_fetcher, NULL);
// Since there is fallback to DNS-based WPAD, the final error will be that
// it failed downloading, not that it failed parsing.
EXPECT_EQ(kFailedDownloading,
- decider.Start(config, base::TimeDelta(), true, &callback));
+ decider.Start(config, base::TimeDelta(), true, callback.callback()));
EXPECT_EQ(NULL, decider.script_data());
EXPECT_FALSE(decider.effective_config().has_pac_url());
@@ -528,19 +534,18 @@ class AsyncFailDhcpFetcher
: public DhcpProxyScriptFetcher,
public base::RefCountedThreadSafe<AsyncFailDhcpFetcher> {
public:
- AsyncFailDhcpFetcher() : callback_(NULL) {
- }
+ AsyncFailDhcpFetcher() {}
- int Fetch(string16* utf16_text, OldCompletionCallback* callback) OVERRIDE {
+ int Fetch(string16* utf16_text, const CompletionCallback& callback) OVERRIDE {
callback_ = callback;
MessageLoop::current()->PostTask(
FROM_HERE,
- NewRunnableMethod(this, &AsyncFailDhcpFetcher::CallbackWithFailure));
+ base::Bind(&AsyncFailDhcpFetcher::CallbackWithFailure, this));
return ERR_IO_PENDING;
}
void Cancel() OVERRIDE {
- callback_ = NULL;
+ callback_.Reset();
}
const GURL& GetPacURL() const OVERRIDE {
@@ -548,13 +553,13 @@ class AsyncFailDhcpFetcher
}
void CallbackWithFailure() {
- if (callback_)
- callback_->Run(ERR_PAC_NOT_IN_DHCP);
+ if (!callback_.is_null())
+ callback_.Run(ERR_PAC_NOT_IN_DHCP);
}
private:
GURL dummy_gurl_;
- OldCompletionCallback* callback_;
+ CompletionCallback callback_;
};
TEST(ProxyScriptDeciderTest, DhcpCancelledByDestructor) {
@@ -571,12 +576,12 @@ TEST(ProxyScriptDeciderTest, DhcpCancelledByDestructor) {
config.set_auto_detect(true);
rules.AddFailDownloadRule("http://wpad/wpad.dat");
- TestOldCompletionCallback callback;
+ TestCompletionCallback callback;
// Scope so ProxyScriptDecider gets destroyed early.
{
ProxyScriptDecider decider(&fetcher, dhcp_fetcher.get(), NULL);
- decider.Start(config, base::TimeDelta(), true, &callback);
+ decider.Start(config, base::TimeDelta(), true, callback.callback());
}
// Run the message loop to let the DHCP fetch complete and post the results