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

Unified Diff: net/proxy/proxy_resolver_factory_unittest.cc

Issue 1102463002: Add a MockAsyncProxyResolverFactory and update some tests to use it. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@proxy-factory-refactor
Patch Set: rebase Created 5 years, 8 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
« no previous file with comments | « net/proxy/proxy_resolver_factory.cc ('k') | net/proxy/proxy_service_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/proxy/proxy_resolver_factory_unittest.cc
diff --git a/net/proxy/proxy_resolver_factory_unittest.cc b/net/proxy/proxy_resolver_factory_unittest.cc
index 6e9708b5299018d82c73cebe3d63510a090216fc..7958b6d21eec921a8c24a3b8255509a9d13dd5b7 100644
--- a/net/proxy/proxy_resolver_factory_unittest.cc
+++ b/net/proxy/proxy_resolver_factory_unittest.cc
@@ -41,17 +41,18 @@ class TestProxyResolver : public MockAsyncProxyResolver {
class TestLegacyProxyResolverFactory : public LegacyProxyResolverFactory {
public:
- TestLegacyProxyResolverFactory() : LegacyProxyResolverFactory(false) {}
+ using ProxyResolverFactory::CreateProxyResolver;
+
+ explicit TestLegacyProxyResolverFactory(ProxyResolver* resolver)
+ : LegacyProxyResolverFactory(false), resolver_(resolver) {}
// LegacyProxyResolverFactory override.
scoped_ptr<ProxyResolver> CreateProxyResolver() override {
- return make_scoped_ptr(new ForwardingProxyResolver(&resolver_));
+ return make_scoped_ptr(new ForwardingProxyResolver(resolver_));
}
- TestProxyResolver& resolver() { return resolver_; }
-
private:
- TestProxyResolver resolver_;
+ ProxyResolver* resolver_;
DISALLOW_COPY_AND_ASSIGN(TestLegacyProxyResolverFactory);
};
@@ -60,11 +61,16 @@ class TestLegacyProxyResolverFactory : public LegacyProxyResolverFactory {
class LegacyProxyResolverFactoryTest : public testing::Test {
public:
- ProxyResolverFactory& factory() { return factory_; }
- TestProxyResolver& mock_resolver() { return factory_.resolver(); }
+ void SetUp() override {
+ factory_.reset(new TestLegacyProxyResolverFactory(&resolver_));
+ }
+
+ ProxyResolverFactory& factory() { return *factory_; }
+ TestProxyResolver& mock_resolver() { return resolver_; }
private:
- TestLegacyProxyResolverFactory factory_;
+ TestProxyResolver resolver_;
+ scoped_ptr<TestLegacyProxyResolverFactory> factory_;
};
TEST_F(LegacyProxyResolverFactoryTest, Async_Success) {
@@ -116,6 +122,24 @@ TEST_F(LegacyProxyResolverFactoryTest, Async_Cancel) {
EXPECT_FALSE(resolver);
}
+TEST_F(LegacyProxyResolverFactoryTest, Async_DeleteFactory) {
+ const GURL url("http://proxy");
+ scoped_ptr<ProxyResolver> resolver;
+ scoped_ptr<ProxyResolverFactory::Request> request;
+ {
+ TestProxyResolver test_resolver;
+ TestLegacyProxyResolverFactory factory(&test_resolver);
+ EXPECT_EQ(ERR_IO_PENDING, factory.CreateProxyResolver(
+ ProxyResolverScriptData::FromURL(url),
+ &resolver, base::Bind(&Fail), &request));
+ ASSERT_TRUE(test_resolver.has_pending_set_pac_script_request());
+ EXPECT_EQ(
+ url,
+ test_resolver.pending_set_pac_script_request()->script_data()->url());
+ }
+ EXPECT_FALSE(resolver);
+}
+
TEST_F(LegacyProxyResolverFactoryTest, Sync_Success) {
const GURL url("http://proxy");
TestCompletionCallback callback;
« no previous file with comments | « net/proxy/proxy_resolver_factory.cc ('k') | net/proxy/proxy_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698