summaryrefslogtreecommitdiff
path: root/chromium/net/http/http_pipelined_host_test_util.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/http/http_pipelined_host_test_util.h')
-rw-r--r--chromium/net/http/http_pipelined_host_test_util.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/chromium/net/http/http_pipelined_host_test_util.h b/chromium/net/http/http_pipelined_host_test_util.h
new file mode 100644
index 00000000000..245ff02c4d5
--- /dev/null
+++ b/chromium/net/http/http_pipelined_host_test_util.h
@@ -0,0 +1,70 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "net/http/http_pipelined_connection.h"
+#include "net/http/http_pipelined_host.h"
+#include "testing/gmock/include/gmock/gmock.h"
+
+namespace net {
+
+class MockHostDelegate : public HttpPipelinedHost::Delegate {
+ public:
+ MockHostDelegate();
+ virtual ~MockHostDelegate();
+
+ MOCK_METHOD1(OnHostIdle, void(HttpPipelinedHost* host));
+ MOCK_METHOD1(OnHostHasAdditionalCapacity, void(HttpPipelinedHost* host));
+ MOCK_METHOD2(OnHostDeterminedCapability,
+ void(HttpPipelinedHost* host,
+ HttpPipelinedHostCapability capability));
+};
+
+class MockPipelineFactory : public HttpPipelinedConnection::Factory {
+ public:
+ MockPipelineFactory();
+ virtual ~MockPipelineFactory();
+
+ MOCK_METHOD8(CreateNewPipeline, HttpPipelinedConnection*(
+ ClientSocketHandle* connection,
+ HttpPipelinedConnection::Delegate* delegate,
+ const HostPortPair& origin,
+ const SSLConfig& used_ssl_config,
+ const ProxyInfo& used_proxy_info,
+ const BoundNetLog& net_log,
+ bool was_npn_negotiated,
+ NextProto protocol_negotiated));
+};
+
+class MockPipeline : public HttpPipelinedConnection {
+ public:
+ MockPipeline(int depth, bool usable, bool active);
+ virtual ~MockPipeline();
+
+ void SetState(int depth, bool usable, bool active) {
+ depth_ = depth;
+ usable_ = usable;
+ active_ = active;
+ }
+
+ virtual int depth() const OVERRIDE { return depth_; }
+ virtual bool usable() const OVERRIDE { return usable_; }
+ virtual bool active() const OVERRIDE { return active_; }
+
+ MOCK_METHOD0(CreateNewStream, HttpPipelinedStream*());
+ MOCK_METHOD1(OnStreamDeleted, void(int pipeline_id));
+ MOCK_CONST_METHOD0(used_ssl_config, const SSLConfig&());
+ MOCK_CONST_METHOD0(used_proxy_info, const ProxyInfo&());
+ MOCK_CONST_METHOD0(net_log, const BoundNetLog&());
+ MOCK_CONST_METHOD0(was_npn_negotiated, bool());
+ MOCK_CONST_METHOD0(protocol_negotiated, NextProto());
+
+ private:
+ int depth_;
+ bool usable_;
+ bool active_;
+};
+
+MATCHER_P(MatchesOrigin, expected, "") { return expected.Equals(arg); }
+
+} // namespace net