| Index: remoting/host/client_session_unittest.cc
|
| diff --git a/remoting/host/client_session_unittest.cc b/remoting/host/client_session_unittest.cc
|
| index f9dbd1c18f71619386a52ae9fbc606d24fbcc87a..170850e4148933ecd64b1bf2faded59ffa27c592 100644
|
| --- a/remoting/host/client_session_unittest.cc
|
| +++ b/remoting/host/client_session_unittest.cc
|
| @@ -53,6 +53,13 @@ class ClientSessionTest : public testing::Test {
|
| }
|
|
|
| protected:
|
| + void DisconnectClientSession() {
|
| + client_session_->Disconnect();
|
| + // MockSession won't trigger OnConnectionClosed, so fake it.
|
| + client_session_->OnConnectionClosed(client_session_->connection(),
|
| + protocol::OK);
|
| + }
|
| +
|
| SkISize default_screen_size_;
|
| MessageLoop message_loop_;
|
| std::string client_jid_;
|
| @@ -83,8 +90,10 @@ TEST_F(ClientSessionTest, ClipboardStubFilter) {
|
|
|
| InSequence s;
|
| EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_));
|
| + EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_));
|
| EXPECT_CALL(host_event_stub_, InjectClipboardEvent(EqualsClipboardEvent(
|
| kMimeTypeTextUtf8, "b")));
|
| + EXPECT_CALL(session_event_handler_, OnSessionClosed(_));
|
|
|
| // This event should not get through to the clipboard stub,
|
| // because the client isn't authenticated yet.
|
| @@ -93,7 +102,7 @@ TEST_F(ClientSessionTest, ClipboardStubFilter) {
|
| client_session_->OnConnectionChannelsConnected(client_session_->connection());
|
| // This event should get through to the clipboard stub.
|
| client_session_->InjectClipboardEvent(clipboard_event2);
|
| - client_session_->Disconnect();
|
| + DisconnectClientSession();
|
| // This event should not get through to the clipboard stub,
|
| // because the client has disconnected.
|
| client_session_->InjectClipboardEvent(clipboard_event3);
|
| @@ -107,8 +116,8 @@ MATCHER_P2(EqualsMouseEvent, x, y, "") {
|
| return arg.x() == x && arg.y() == y;
|
| }
|
|
|
| -MATCHER_P(EqualsMouseUpEvent, button, "") {
|
| - return arg.button() == button && !arg.button_down();
|
| +MATCHER_P2(EqualsMouseButtonEvent, button, down, "") {
|
| + return arg.button() == button && arg.button_down() == down;
|
| }
|
|
|
| TEST_F(ClientSessionTest, InputStubFilter) {
|
| @@ -146,6 +155,7 @@ TEST_F(ClientSessionTest, InputStubFilter) {
|
| EXPECT_CALL(host_event_stub_, InjectKeyEvent(EqualsKeyEvent(2, true)));
|
| EXPECT_CALL(host_event_stub_, InjectKeyEvent(EqualsKeyEvent(2, false)));
|
| EXPECT_CALL(host_event_stub_, InjectMouseEvent(EqualsMouseEvent(200, 201)));
|
| + EXPECT_CALL(session_event_handler_, OnSessionClosed(_));
|
|
|
| // These events should not get through to the input stub,
|
| // because the client isn't authenticated yet.
|
| @@ -157,7 +167,7 @@ TEST_F(ClientSessionTest, InputStubFilter) {
|
| client_session_->InjectKeyEvent(key_event2_down);
|
| client_session_->InjectKeyEvent(key_event2_up);
|
| client_session_->InjectMouseEvent(mouse_event2);
|
| - client_session_->Disconnect();
|
| + DisconnectClientSession();
|
| // These events should not get through to the input stub,
|
| // because the client has disconnected.
|
| client_session_->InjectKeyEvent(key_event3);
|
| @@ -176,12 +186,11 @@ TEST_F(ClientSessionTest, LocalInputTest) {
|
| mouse_event3.set_y(301);
|
|
|
| InSequence s;
|
| - EXPECT_CALL(session_event_handler_,
|
| - OnSessionAuthenticated(client_session_.get()));
|
| - EXPECT_CALL(session_event_handler_,
|
| - OnSessionChannelsConnected(client_session_.get()));
|
| + EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_));
|
| + EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_));
|
| EXPECT_CALL(host_event_stub_, InjectMouseEvent(EqualsMouseEvent(100, 101)));
|
| EXPECT_CALL(host_event_stub_, InjectMouseEvent(EqualsMouseEvent(200, 201)));
|
| + EXPECT_CALL(session_event_handler_, OnSessionClosed(_));
|
|
|
| client_session_->OnConnectionAuthenticated(client_session_->connection());
|
| client_session_->OnConnectionChannelsConnected(client_session_->connection());
|
| @@ -197,7 +206,7 @@ TEST_F(ClientSessionTest, LocalInputTest) {
|
| client_session_->InjectMouseEvent(mouse_event3);
|
| // TODO(jamiewalch): Verify that remote inputs are re-enabled eventually
|
| // (via dependency injection, not sleep!)
|
| - client_session_->Disconnect();
|
| + DisconnectClientSession();
|
| }
|
|
|
| TEST_F(ClientSessionTest, RestoreEventState) {
|
| @@ -213,16 +222,27 @@ TEST_F(ClientSessionTest, RestoreEventState) {
|
| mousedown.set_button(protocol::MouseEvent::BUTTON_LEFT);
|
| mousedown.set_button_down(true);
|
|
|
| - client_session_->RecordKeyEvent(key1);
|
| - client_session_->RecordKeyEvent(key2);
|
| - client_session_->RecordMouseButtonState(mousedown);
|
| -
|
| + InSequence s;
|
| + EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_));
|
| + EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_));
|
| + EXPECT_CALL(host_event_stub_, InjectKeyEvent(EqualsKeyEvent(1, true)));
|
| + EXPECT_CALL(host_event_stub_, InjectKeyEvent(EqualsKeyEvent(2, true)));
|
| + EXPECT_CALL(host_event_stub_, InjectMouseEvent(EqualsMouseButtonEvent(
|
| + protocol::MouseEvent::BUTTON_LEFT, true)));
|
| EXPECT_CALL(host_event_stub_, InjectKeyEvent(EqualsKeyEvent(1, false)));
|
| EXPECT_CALL(host_event_stub_, InjectKeyEvent(EqualsKeyEvent(2, false)));
|
| - EXPECT_CALL(host_event_stub_, InjectMouseEvent(EqualsMouseUpEvent(
|
| - protocol::MouseEvent::BUTTON_LEFT)));
|
| + EXPECT_CALL(host_event_stub_, InjectMouseEvent(EqualsMouseButtonEvent(
|
| + protocol::MouseEvent::BUTTON_LEFT, false)));
|
| + EXPECT_CALL(session_event_handler_, OnSessionClosed(_));
|
| +
|
| + client_session_->OnConnectionAuthenticated(client_session_->connection());
|
| + client_session_->OnConnectionChannelsConnected(client_session_->connection());
|
|
|
| - client_session_->RestoreEventState();
|
| + client_session_->InjectKeyEvent(key1);
|
| + client_session_->InjectKeyEvent(key2);
|
| + client_session_->InjectMouseEvent(mousedown);
|
| +
|
| + DisconnectClientSession();
|
| }
|
|
|
| TEST_F(ClientSessionTest, ClampMouseEvents) {
|
| @@ -230,10 +250,9 @@ TEST_F(ClientSessionTest, ClampMouseEvents) {
|
| EXPECT_CALL(capturer_, size_most_recent())
|
| .WillRepeatedly(ReturnRef(screen));
|
|
|
| - EXPECT_CALL(session_event_handler_,
|
| - OnSessionAuthenticated(client_session_.get()));
|
| - EXPECT_CALL(session_event_handler_,
|
| - OnSessionChannelsConnected(client_session_.get()));
|
| + EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_));
|
| + EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_));
|
| +
|
| client_session_->OnConnectionAuthenticated(client_session_->connection());
|
| client_session_->OnConnectionChannelsConnected(client_session_->connection());
|
|
|
|
|