diff options
author | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-07 22:10:16 +0000 |
---|---|---|
committer | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-07 22:10:16 +0000 |
commit | de08f1b3cbe91b46e83f50a6068bcbf4ed3733f9 (patch) | |
tree | ae57f536390fe33943b7635b7c5b564ad5dc1a98 /net/proxy | |
parent | c7df61b00031cb61da53133ae145042fa5f77164 (diff) | |
download | chromium_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.cc | 31 |
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 { |