summaryrefslogtreecommitdiffstats
path: root/net/proxy
diff options
context:
space:
mode:
authorszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-07 22:10:16 +0000
committerszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-07 22:10:16 +0000
commitde08f1b3cbe91b46e83f50a6068bcbf4ed3733f9 (patch)
treeae57f536390fe33943b7635b7c5b564ad5dc1a98 /net/proxy
parentc7df61b00031cb61da53133ae145042fa5f77164 (diff)
downloadchromium_src-de08f1b3cbe91b46e83f50a6068bcbf4ed3733f9.zip
chromium_src-de08f1b3cbe91b46e83f50a6068bcbf4ed3733f9.tar.gz
chromium_src-de08f1b3cbe91b46e83f50a6068bcbf4ed3733f9.tar.bz2
Revert 108910 - Remove HostResolverImpl from Mock*HostResolver.
MockHostResolver should not depend on the job dispatch machinery of HostResolverImpl. This implementation aims to be more readable/reliable while providing the same testing utility. MockHostResolver does not use extra threads hence cannot support WaitingHostResolverProc. To mock slow resolution, HangingHostResolver is provided for unit_tests:PredictorTest. Updated host_resolver_impl_unittest to test HostResolverImpl directly (rather than through MockHostResolver). BUG=99889 TEST=./net_unittests ; ./unit_tests --gtest_filter='PredictorTest.*' ; ./jingle_unittests Review URL: http://codereview.chromium.org/8267001 TBR=szym@chromium.org Review URL: http://codereview.chromium.org/8491023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108922 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/proxy')
-rw-r--r--net/proxy/proxy_resolver_js_bindings_unittest.cc31
1 files changed, 28 insertions, 3 deletions
diff --git a/net/proxy/proxy_resolver_js_bindings_unittest.cc b/net/proxy/proxy_resolver_js_bindings_unittest.cc
index e4fa389..1c580b9 100644
--- a/net/proxy/proxy_resolver_js_bindings_unittest.cc
+++ b/net/proxy/proxy_resolver_js_bindings_unittest.cc
@@ -8,7 +8,6 @@
#include "base/memory/scoped_ptr.h"
#include "base/string_util.h"
#include "net/base/address_list.h"
-#include "net/base/host_cache.h"
#include "net/base/mock_host_resolver.h"
#include "net/base/net_errors.h"
#include "net/base/net_log.h"
@@ -34,14 +33,40 @@ class MockHostResolverWithMultipleResults : public SyncHostResolver {
// HostResolver methods:
virtual int Resolve(const HostResolver::RequestInfo& info,
AddressList* addresses) OVERRIDE {
- return ParseAddressList("192.168.1.1,172.22.34.1,200.100.1.2", "",
- addresses);
+ // Build up the result list (in reverse).
+ AddressList temp_list = ResolveIPLiteral("200.100.1.2");
+ temp_list = PrependAddressToList("172.22.34.1", temp_list);
+ temp_list = PrependAddressToList("192.168.1.1", temp_list);
+ *addresses = temp_list;
+ return OK;
}
virtual void Shutdown() OVERRIDE {}
private:
virtual ~MockHostResolverWithMultipleResults() {}
+
+ // Resolves an IP literal to an address list.
+ AddressList ResolveIPLiteral(const char* ip_literal) {
+ AddressList result;
+ int rv = SystemHostResolverProc(ip_literal,
+ ADDRESS_FAMILY_UNSPECIFIED,
+ 0,
+ &result, NULL);
+ EXPECT_EQ(OK, rv);
+ EXPECT_EQ(NULL, result.head()->ai_next);
+ return result;
+ }
+
+ // Builds an AddressList that is |ip_literal| + |orig_list|.
+ // |orig_list| must not be empty.
+ AddressList PrependAddressToList(const char* ip_literal,
+ const AddressList& orig_list) {
+ // Build an addrinfo for |ip_literal|.
+ AddressList result = ResolveIPLiteral(ip_literal);
+ result.Append(orig_list.head());
+ return result;
+ }
};
class MockFailingHostResolver : public SyncHostResolver {