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

Unified Diff: remoting/host/client_session_unittest.cc

Issue 11761019: Tiny little refactoring of DesktopEnvironment. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 12 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 | « remoting/host/client_session.cc ('k') | remoting/host/desktop_environment.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/host/client_session_unittest.cc
diff --git a/remoting/host/client_session_unittest.cc b/remoting/host/client_session_unittest.cc
index 050304cff4ba6a2df6c9480dea7957fd2f221d1f..2371535e4d5de20efe6f02443c91f346724af8e1 100644
--- a/remoting/host/client_session_unittest.cc
+++ b/remoting/host/client_session_unittest.cc
@@ -8,7 +8,6 @@
#include "remoting/capturer/video_capturer_mock_objects.h"
#include "remoting/host/audio_capturer.h"
#include "remoting/host/client_session.h"
-#include "remoting/host/desktop_environment.h"
#include "remoting/host/host_mock_objects.h"
#include "remoting/protocol/protocol_mock_objects.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -30,10 +29,11 @@ using testing::Expectation;
using testing::InSequence;
using testing::Return;
using testing::ReturnRef;
+using testing::ReturnPointee;
class ClientSessionTest : public testing::Test {
public:
- ClientSessionTest() : event_executor_(NULL) {}
+ ClientSessionTest() : desktop_environment_(NULL) {}
virtual void SetUp() OVERRIDE {
ui_task_runner_ = new AutoThreadTaskRunner(
@@ -43,7 +43,8 @@ class ClientSessionTest : public testing::Test {
client_jid_ = "user@domain/rest-of-jid";
- desktop_environment_factory_.reset(new MockDesktopEnvironmentFactory());
+ desktop_environment_factory_.reset(
+ new MockDesktopEnvironmentFactory(ui_task_runner_));
EXPECT_CALL(*desktop_environment_factory_, CreatePtr())
.Times(AnyNumber())
.WillRepeatedly(Invoke(this,
@@ -74,9 +75,11 @@ class ClientSessionTest : public testing::Test {
client_session_ = new ClientSession(
&session_event_handler_,
ui_task_runner_, // Audio thread.
+ ui_task_runner_, // Input thread.
ui_task_runner_, // Capture thread.
ui_task_runner_, // Encode thread.
ui_task_runner_, // Network thread.
+ ui_task_runner_, // UI thread.
connection.PassAs<protocol::ConnectionToClient>(),
desktop_environment_factory_.get(),
base::TimeDelta());
@@ -84,8 +87,10 @@ class ClientSessionTest : public testing::Test {
virtual void TearDown() OVERRIDE {
// MockClientSessionEventHandler won't trigger Stop, so fake it.
- client_session_->Stop(base::Bind(
- &ClientSessionTest::OnClientStopped, base::Unretained(this)));
+ client_session_->Stop();
+ client_session_ = NULL;
+
+ desktop_environment_factory_.reset();
// Run message loop before destroying because the session is destroyed
// asynchronously.
@@ -98,19 +103,14 @@ class ClientSessionTest : public testing::Test {
protected:
DesktopEnvironment* CreateDesktopEnvironment() {
- MockVideoFrameCapturer* capturer = new MockVideoFrameCapturer();
- EXPECT_CALL(*capturer, Start(_));
- EXPECT_CALL(*capturer, Stop());
- EXPECT_CALL(*capturer, InvalidateRegion(_)).Times(AnyNumber());
- EXPECT_CALL(*capturer, CaptureFrame()).Times(AnyNumber());
- EXPECT_CALL(*capturer, size_most_recent())
- .WillRepeatedly(ReturnRef(screen_size_));
-
- EXPECT_TRUE(!event_executor_);
- event_executor_ = new MockEventExecutor();
- return new DesktopEnvironment(scoped_ptr<AudioCapturer>(NULL),
- scoped_ptr<EventExecutor>(event_executor_),
- scoped_ptr<VideoFrameCapturer>(capturer));
+ EXPECT_TRUE(!desktop_environment_);
+
+ desktop_environment_ = new MockDesktopEnvironment();
+ EXPECT_CALL(*desktop_environment_, StartVideoPtr(_, _, _, _, _));
+ EXPECT_CALL(*desktop_environment_, GetScreenSize())
+ .WillRepeatedly(ReturnPointee(&screen_size_));
+
+ return desktop_environment_;
}
void DisconnectClientSession() {
@@ -124,10 +124,6 @@ class ClientSessionTest : public testing::Test {
message_loop_.PostTask(FROM_HERE, MessageLoop::QuitClosure());
}
- void OnClientStopped() {
- client_session_ = NULL;
- }
-
// Message loop passed to |client_session_| to perform all functions on.
MessageLoop message_loop_;
scoped_refptr<AutoThreadTaskRunner> ui_task_runner_;
@@ -149,9 +145,7 @@ class ClientSessionTest : public testing::Test {
MockClientStub client_stub_;
MockVideoStub video_stub_;
- // DesktopEnvironment owns |event_executor_|, but input injection tests need
- // to express expectations on it.
- MockEventExecutor* event_executor_;
+ MockDesktopEnvironment* desktop_environment_;
// ClientSession owns |connection_| but tests need it to inject fake events.
MockConnectionToClient* connection_;
@@ -179,9 +173,9 @@ TEST_F(ClientSessionTest, ClipboardStubFilter) {
InSequence s;
EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_));
- EXPECT_CALL(*event_executor_, StartPtr(_));
+ EXPECT_CALL(*desktop_environment_, StartInput(_, _, _));
EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_));
- EXPECT_CALL(*event_executor_, InjectClipboardEvent(EqualsClipboardEvent(
+ EXPECT_CALL(*desktop_environment_, InjectClipboardEvent(EqualsClipboardEvent(
kMimeTypeTextUtf8, "b")));
EXPECT_CALL(session_event_handler_, OnSessionClosed(_));
@@ -242,11 +236,12 @@ TEST_F(ClientSessionTest, InputStubFilter) {
InSequence s;
EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_));
- EXPECT_CALL(*event_executor_, StartPtr(_));
+ EXPECT_CALL(*desktop_environment_, StartInput(_, _, _));
EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_));
- EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(2, true)));
- EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(2, false)));
- EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseEvent(200, 201)));
+ EXPECT_CALL(*desktop_environment_, InjectKeyEvent(EqualsUsbEvent(2, true)));
+ EXPECT_CALL(*desktop_environment_, InjectKeyEvent(EqualsUsbEvent(2, false)));
+ EXPECT_CALL(*desktop_environment_, InjectMouseEvent(EqualsMouseEvent(
+ 200, 201)));
EXPECT_CALL(session_event_handler_, OnSessionClosed(_));
// These events should not get through to the input stub,
@@ -279,10 +274,12 @@ TEST_F(ClientSessionTest, LocalInputTest) {
InSequence s;
EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_));
- EXPECT_CALL(*event_executor_, StartPtr(_));
+ EXPECT_CALL(*desktop_environment_, StartInput(_, _, _));
EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_));
- EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseEvent(100, 101)));
- EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseEvent(200, 201)));
+ EXPECT_CALL(*desktop_environment_, InjectMouseEvent(EqualsMouseEvent(
+ 100, 101)));
+ EXPECT_CALL(*desktop_environment_, InjectMouseEvent(EqualsMouseEvent(
+ 200, 201)));
EXPECT_CALL(session_event_handler_, OnSessionClosed(_));
client_session_->OnConnectionAuthenticated(client_session_->connection());
@@ -317,15 +314,15 @@ TEST_F(ClientSessionTest, RestoreEventState) {
InSequence s;
EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_));
- EXPECT_CALL(*event_executor_, StartPtr(_));
+ EXPECT_CALL(*desktop_environment_, StartInput(_, _, _));
EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_));
- EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(1, true)));
- EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(2, true)));
- EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseButtonEvent(
+ EXPECT_CALL(*desktop_environment_, InjectKeyEvent(EqualsUsbEvent(1, true)));
+ EXPECT_CALL(*desktop_environment_, InjectKeyEvent(EqualsUsbEvent(2, true)));
+ EXPECT_CALL(*desktop_environment_, InjectMouseEvent(EqualsMouseButtonEvent(
protocol::MouseEvent::BUTTON_LEFT, true)));
- EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(1, false)));
- EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(2, false)));
- EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseButtonEvent(
+ EXPECT_CALL(*desktop_environment_, InjectKeyEvent(EqualsUsbEvent(1, false)));
+ EXPECT_CALL(*desktop_environment_, InjectKeyEvent(EqualsUsbEvent(2, false)));
+ EXPECT_CALL(*desktop_environment_, InjectMouseEvent(EqualsMouseButtonEvent(
protocol::MouseEvent::BUTTON_LEFT, false)));
EXPECT_CALL(session_event_handler_, OnSessionClosed(_));
@@ -343,7 +340,7 @@ TEST_F(ClientSessionTest, ClampMouseEvents) {
screen_size_.set(200, 100);
EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_));
- EXPECT_CALL(*event_executor_, StartPtr(_));
+ EXPECT_CALL(*desktop_environment_, StartInput(_, _, _));
Expectation connected =
EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_));
EXPECT_CALL(session_event_handler_, OnSessionClosed(_));
@@ -362,7 +359,7 @@ TEST_F(ClientSessionTest, ClampMouseEvents) {
event.set_x(input_x[i]);
event.set_y(input_y[j]);
connected =
- EXPECT_CALL(*event_executor_,
+ EXPECT_CALL(*desktop_environment_,
InjectMouseEvent(EqualsMouseEvent(expected_x[i],
expected_y[j])))
.After(connected);
« no previous file with comments | « remoting/host/client_session.cc ('k') | remoting/host/desktop_environment.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698