• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 #ifndef CHROME_FRAME_TEST_PROXY_FACTORY_MOCK_H_
5 #define CHROME_FRAME_TEST_PROXY_FACTORY_MOCK_H_
6 
7 #include <windows.h>
8 #include <string>
9 
10 #include "gmock/gmock.h"
11 #include "chrome_frame/chrome_frame_automation.h"
12 
13 struct LaunchDelegateMock : public LaunchDelegate {
14   MOCK_METHOD2(LaunchComplete, void(ChromeFrameAutomationProxy*,
15       AutomationLaunchResult));
16   MOCK_METHOD0(AutomationServerDied, void());
17 };
18 
19 class MockProxyFactory : public ProxyFactory {
20  public:
21   MOCK_METHOD3(GetAutomationServer,
22       void (LaunchDelegate*,  // NOLINT
23             ChromeFrameLaunchParams* params,
24             void** automation_server_id));
25   MOCK_METHOD2(ReleaseAutomationServer, bool(void* server_id,
26                                              LaunchDelegate* delegate));
27 
MockProxyFactory()28   MockProxyFactory() : thread_("mock factory worker") {
29     thread_.Start();
30     loop_ = thread_.message_loop();
31   }
32 
33   // Fake implementation
34   void GetServerImpl(ChromeFrameAutomationProxy* pxy,
35                      void* proxy_id,
36                      AutomationLaunchResult result,
37                      LaunchDelegate* d,
38                      ChromeFrameLaunchParams* params,
39                      void** automation_server_id);
40 
41   base::Thread thread_;
42   base::MessageLoop* loop_;
43 };
44 
45 #endif  // CHROME_FRAME_TEST_PROXY_FACTORY_MOCK_H_
46 
47