OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/message_loop.h" | 5 #include "base/message_loop.h" |
6 #include "media/video/capture/screen/screen_capturer_fake.h" | 6 #include "media/video/capture/screen/screen_capturer_fake.h" |
7 #include "media/video/capture/screen/screen_capturer_mock_objects.h" | 7 #include "media/video/capture/screen/screen_capturer_mock_objects.h" |
8 #include "remoting/base/auto_thread_task_runner.h" | 8 #include "remoting/base/auto_thread_task_runner.h" |
9 #include "remoting/base/constants.h" | 9 #include "remoting/base/constants.h" |
10 #include "remoting/host/audio_capturer.h" | 10 #include "remoting/host/audio_capturer.h" |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
64 void DisconnectClientSession(); | 64 void DisconnectClientSession(); |
65 | 65 |
66 // Stops and releases the ClientSession, allowing the MessageLoop to quit. | 66 // Stops and releases the ClientSession, allowing the MessageLoop to quit. |
67 void StopClientSession(); | 67 void StopClientSession(); |
68 | 68 |
69 protected: | 69 protected: |
70 // Creates a DesktopEnvironment with a fake media::ScreenCapturer, to mock | 70 // Creates a DesktopEnvironment with a fake media::ScreenCapturer, to mock |
71 // DesktopEnvironmentFactory::Create(). | 71 // DesktopEnvironmentFactory::Create(). |
72 DesktopEnvironment* CreateDesktopEnvironment(); | 72 DesktopEnvironment* CreateDesktopEnvironment(); |
73 | 73 |
74 // Returns |event_executor_| created and initialized by SetUp(), to mock | 74 // Returns |event_executor_| created and initialized by SetUp(), to mock |
alexeypa (please no reviews)
2013/03/22 21:19:38
nit: |input_injector_|.
| |
75 // DesktopEnvironment::CreateEventExecutor(). | 75 // DesktopEnvironment::CreateInputInjector(). |
76 EventExecutor* CreateEventExecutor( | 76 InputInjector* CreateInputInjector( |
77 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, | 77 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, |
78 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner); | 78 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner); |
79 | 79 |
80 // Creates a dummy SessionController, to mock | 80 // Creates a dummy SessionController, to mock |
81 // DesktopEnvironment::CreateSessionController(). | 81 // DesktopEnvironment::CreateSessionController(). |
82 SessionController* CreateSessionController(); | 82 SessionController* CreateSessionController(); |
83 | 83 |
84 // Creates a fake media::ScreenCapturer, to mock | 84 // Creates a fake media::ScreenCapturer, to mock |
85 // DesktopEnvironment::CreateVideoCapturer(). | 85 // DesktopEnvironment::CreateVideoCapturer(). |
86 media::ScreenCapturer* CreateVideoCapturer( | 86 media::ScreenCapturer* CreateVideoCapturer( |
(...skipping 21 matching lines...) Expand all Loading... | |
108 // Storage for values to be returned by the protocol::Session mock. | 108 // Storage for values to be returned by the protocol::Session mock. |
109 SessionConfig session_config_; | 109 SessionConfig session_config_; |
110 const std::string client_jid_; | 110 const std::string client_jid_; |
111 | 111 |
112 // Stubs returned to |client_session_| components by |connection_|. | 112 // Stubs returned to |client_session_| components by |connection_|. |
113 MockClientStub client_stub_; | 113 MockClientStub client_stub_; |
114 MockVideoStub video_stub_; | 114 MockVideoStub video_stub_; |
115 | 115 |
116 // DesktopEnvironment owns |event_executor_|, but input injection tests need | 116 // DesktopEnvironment owns |event_executor_|, but input injection tests need |
117 // to express expectations on it. | 117 // to express expectations on it. |
118 scoped_ptr<MockEventExecutor> event_executor_; | 118 scoped_ptr<MockInputInjector> event_executor_; |
alexeypa (please no reviews)
2013/03/22 21:19:38
nit: |input_injector_|.
| |
119 | 119 |
120 // ClientSession owns |connection_| but tests need it to inject fake events. | 120 // ClientSession owns |connection_| but tests need it to inject fake events. |
121 MockConnectionToClient* connection_; | 121 MockConnectionToClient* connection_; |
122 | 122 |
123 scoped_ptr<MockDesktopEnvironmentFactory> desktop_environment_factory_; | 123 scoped_ptr<MockDesktopEnvironmentFactory> desktop_environment_factory_; |
124 }; | 124 }; |
125 | 125 |
126 void ClientSessionTest::SetUp() { | 126 void ClientSessionTest::SetUp() { |
127 // Arrange to run |message_loop_| until no components depend on it. | 127 // Arrange to run |message_loop_| until no components depend on it. |
128 scoped_refptr<AutoThreadTaskRunner> ui_task_runner = new AutoThreadTaskRunner( | 128 scoped_refptr<AutoThreadTaskRunner> ui_task_runner = new AutoThreadTaskRunner( |
129 message_loop_.message_loop_proxy(), | 129 message_loop_.message_loop_proxy(), |
130 base::Bind(&ClientSessionTest::QuitMainMessageLoop, | 130 base::Bind(&ClientSessionTest::QuitMainMessageLoop, |
131 base::Unretained(this))); | 131 base::Unretained(this))); |
132 | 132 |
133 desktop_environment_factory_.reset(new MockDesktopEnvironmentFactory()); | 133 desktop_environment_factory_.reset(new MockDesktopEnvironmentFactory()); |
134 EXPECT_CALL(*desktop_environment_factory_, CreatePtr()) | 134 EXPECT_CALL(*desktop_environment_factory_, CreatePtr()) |
135 .Times(AnyNumber()) | 135 .Times(AnyNumber()) |
136 .WillRepeatedly(Invoke(this, | 136 .WillRepeatedly(Invoke(this, |
137 &ClientSessionTest::CreateDesktopEnvironment)); | 137 &ClientSessionTest::CreateDesktopEnvironment)); |
138 EXPECT_CALL(*desktop_environment_factory_, SupportsAudioCapture()) | 138 EXPECT_CALL(*desktop_environment_factory_, SupportsAudioCapture()) |
139 .Times(AnyNumber()) | 139 .Times(AnyNumber()) |
140 .WillRepeatedly(Return(false)); | 140 .WillRepeatedly(Return(false)); |
141 | 141 |
142 event_executor_.reset(new MockEventExecutor()); | 142 event_executor_.reset(new MockInputInjector()); |
143 | 143 |
144 session_config_ = SessionConfig::ForTest(); | 144 session_config_ = SessionConfig::ForTest(); |
145 | 145 |
146 // Mock protocol::Session APIs called directly by ClientSession. | 146 // Mock protocol::Session APIs called directly by ClientSession. |
147 protocol::MockSession* session = new MockSession(); | 147 protocol::MockSession* session = new MockSession(); |
148 EXPECT_CALL(*session, config()).WillRepeatedly(ReturnRef(session_config_)); | 148 EXPECT_CALL(*session, config()).WillRepeatedly(ReturnRef(session_config_)); |
149 EXPECT_CALL(*session, jid()).WillRepeatedly(ReturnRef(client_jid_)); | 149 EXPECT_CALL(*session, jid()).WillRepeatedly(ReturnRef(client_jid_)); |
150 EXPECT_CALL(*session, SetEventHandler(_)); | 150 EXPECT_CALL(*session, SetEventHandler(_)); |
151 | 151 |
152 // Mock protocol::ConnectionToClient APIs called directly by ClientSession. | 152 // Mock protocol::ConnectionToClient APIs called directly by ClientSession. |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
188 void ClientSessionTest::StopClientSession() { | 188 void ClientSessionTest::StopClientSession() { |
189 client_session_.reset(); | 189 client_session_.reset(); |
190 | 190 |
191 desktop_environment_factory_.reset(); | 191 desktop_environment_factory_.reset(); |
192 } | 192 } |
193 | 193 |
194 DesktopEnvironment* ClientSessionTest::CreateDesktopEnvironment() { | 194 DesktopEnvironment* ClientSessionTest::CreateDesktopEnvironment() { |
195 MockDesktopEnvironment* desktop_environment = new MockDesktopEnvironment(); | 195 MockDesktopEnvironment* desktop_environment = new MockDesktopEnvironment(); |
196 EXPECT_CALL(*desktop_environment, CreateAudioCapturerPtr(_)) | 196 EXPECT_CALL(*desktop_environment, CreateAudioCapturerPtr(_)) |
197 .Times(0); | 197 .Times(0); |
198 EXPECT_CALL(*desktop_environment, CreateEventExecutorPtr(_, _)) | 198 EXPECT_CALL(*desktop_environment, CreateInputInjectorPtr(_, _)) |
199 .WillOnce(Invoke(this, &ClientSessionTest::CreateEventExecutor)); | 199 .WillOnce(Invoke(this, &ClientSessionTest::CreateInputInjector)); |
200 EXPECT_CALL(*desktop_environment, CreateSessionControllerPtr()) | 200 EXPECT_CALL(*desktop_environment, CreateSessionControllerPtr()) |
201 .WillOnce(Invoke(this, &ClientSessionTest::CreateSessionController)); | 201 .WillOnce(Invoke(this, &ClientSessionTest::CreateSessionController)); |
202 EXPECT_CALL(*desktop_environment, CreateVideoCapturerPtr(_, _)) | 202 EXPECT_CALL(*desktop_environment, CreateVideoCapturerPtr(_, _)) |
203 .WillOnce(Invoke(this, &ClientSessionTest::CreateVideoCapturer)); | 203 .WillOnce(Invoke(this, &ClientSessionTest::CreateVideoCapturer)); |
204 | 204 |
205 return desktop_environment; | 205 return desktop_environment; |
206 } | 206 } |
207 | 207 |
208 EventExecutor* ClientSessionTest::CreateEventExecutor( | 208 InputInjector* ClientSessionTest::CreateInputInjector( |
209 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, | 209 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, |
210 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) { | 210 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) { |
211 EXPECT_TRUE(event_executor_); | 211 EXPECT_TRUE(event_executor_); |
212 return event_executor_.release(); | 212 return event_executor_.release(); |
213 } | 213 } |
214 | 214 |
215 SessionController* ClientSessionTest::CreateSessionController() { | 215 SessionController* ClientSessionTest::CreateSessionController() { |
216 return new MockSessionController(); | 216 return new MockSessionController(); |
217 } | 217 } |
218 | 218 |
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
531 .After(connected) | 531 .After(connected) |
532 .WillOnce(DoAll( | 532 .WillOnce(DoAll( |
533 InvokeWithoutArgs(this, &ClientSessionTest::DisconnectClientSession), | 533 InvokeWithoutArgs(this, &ClientSessionTest::DisconnectClientSession), |
534 InvokeWithoutArgs(this, &ClientSessionTest::StopClientSession))); | 534 InvokeWithoutArgs(this, &ClientSessionTest::StopClientSession))); |
535 | 535 |
536 ConnectClientSession(); | 536 ConnectClientSession(); |
537 message_loop_.Run(); | 537 message_loop_.Run(); |
538 } | 538 } |
539 | 539 |
540 } // namespace remoting | 540 } // namespace remoting |
OLD | NEW |