Chromium Code Reviews| Index: remoting/host/client_session_unittest.cc |
| diff --git a/remoting/host/client_session_unittest.cc b/remoting/host/client_session_unittest.cc |
| index 313845498dca77791cb31a7818a693f6f3d6c7e6..fa7a3e646fedbb204af7764b35b57ae2abef4457 100644 |
| --- a/remoting/host/client_session_unittest.cc |
| +++ b/remoting/host/client_session_unittest.cc |
| @@ -310,7 +310,15 @@ webrtc::MouseCursorMonitor* ClientSessionTest::CreateMouseCursorMonitor() { |
| } |
| void ClientSessionTest::ConnectClientSession() { |
| + // Stubs should be set only after connection is authenticated. |
| + EXPECT_FALSE(connection_->clipboard_stub()); |
| + EXPECT_FALSE(connection_->input_stub()); |
| + |
| client_session_->OnConnectionAuthenticated(client_session_->connection()); |
| + |
| + EXPECT_TRUE(connection_->clipboard_stub()); |
| + EXPECT_TRUE(connection_->input_stub()); |
| + |
| client_session_->OnConnectionChannelsConnected(client_session_->connection()); |
| } |
| @@ -343,131 +351,6 @@ MATCHER_P2(EqualsClipboardEvent, m, d, "") { |
| memcmp(arg.data().data(), d, arg.data().size()) == 0); |
| } |
| -TEST_F(ClientSessionTest, ClipboardStubFilter) { |
|
Wez
2015/02/07 00:40:43
We should have some disable-inputs tests - perhaps
Sergey Ulanov
2015/02/13 19:40:21
Done.
|
| - CreateClientSession(); |
| - |
| - protocol::ClipboardEvent clipboard_event1; |
| - clipboard_event1.set_mime_type(kMimeTypeTextUtf8); |
| - clipboard_event1.set_data("a"); |
| - |
| - protocol::ClipboardEvent clipboard_event2; |
| - clipboard_event2.set_mime_type(kMimeTypeTextUtf8); |
| - clipboard_event2.set_data("b"); |
| - |
| - protocol::ClipboardEvent clipboard_event3; |
| - clipboard_event3.set_mime_type(kMimeTypeTextUtf8); |
| - clipboard_event3.set_data("c"); |
| - |
| - Expectation authenticated = |
| - EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)) |
| - .WillOnce(Return(true)); |
| - EXPECT_CALL(*input_injector_, StartPtr(_)) |
| - .After(authenticated); |
| - EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_)) |
| - .After(authenticated); |
| - |
| - // Wait for the first video packet to be captured to make sure that |
| - // the injected input will go though. Otherwise mouse events will be blocked |
| - // by the mouse clamping filter. |
| - Sequence s; |
| - EXPECT_CALL(video_stub_, ProcessVideoPacketPtr(_, _)) |
| - .InSequence(s) |
| - .After(authenticated) |
| - .WillOnce(DoAll( |
| - // This event should get through to the clipboard stub. |
| - InjectClipboardEvent(connection_, clipboard_event2), |
| - InvokeWithoutArgs(this, &ClientSessionTest::DisconnectClientSession), |
| - // This event should not get through to the clipboard stub, |
| - // because the client has disconnected. |
| - InjectClipboardEvent(connection_, clipboard_event3), |
| - InvokeWithoutArgs(this, &ClientSessionTest::StopClientSession))); |
| - EXPECT_CALL(*input_injector_, InjectClipboardEvent(EqualsClipboardEvent( |
| - kMimeTypeTextUtf8, "b"))) |
| - .InSequence(s); |
| - EXPECT_CALL(session_event_handler_, OnSessionClosed(_)) |
| - .InSequence(s); |
| - |
| - // This event should not get through to the clipboard stub, |
| - // because the client isn't authenticated yet. |
| - connection_->clipboard_stub()->InjectClipboardEvent(clipboard_event1); |
| - |
| - ConnectClientSession(); |
| -} |
| - |
| -TEST_F(ClientSessionTest, InputStubFilter) { |
| - CreateClientSession(); |
| - |
| - protocol::KeyEvent key_event1; |
| - key_event1.set_pressed(true); |
| - key_event1.set_usb_keycode(1); |
| - |
| - protocol::KeyEvent key_event2_down; |
| - key_event2_down.set_pressed(true); |
| - key_event2_down.set_usb_keycode(2); |
| - |
| - protocol::KeyEvent key_event2_up; |
| - key_event2_up.set_pressed(false); |
| - key_event2_up.set_usb_keycode(2); |
| - |
| - protocol::KeyEvent key_event3; |
| - key_event3.set_pressed(true); |
| - key_event3.set_usb_keycode(3); |
| - |
| - protocol::MouseEvent mouse_event1; |
| - mouse_event1.set_x(100); |
| - mouse_event1.set_y(101); |
| - |
| - protocol::MouseEvent mouse_event2; |
| - mouse_event2.set_x(200); |
| - mouse_event2.set_y(201); |
| - |
| - protocol::MouseEvent mouse_event3; |
| - mouse_event3.set_x(300); |
| - mouse_event3.set_y(301); |
| - |
| - Expectation authenticated = |
| - EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)) |
| - .WillOnce(Return(true)); |
| - EXPECT_CALL(*input_injector_, StartPtr(_)) |
| - .After(authenticated); |
| - EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_)) |
| - .After(authenticated); |
| - |
| - // Wait for the first video packet to be captured to make sure that |
| - // the injected input will go though. Otherwise mouse events will be blocked |
| - // by the mouse clamping filter. |
| - Sequence s; |
| - EXPECT_CALL(video_stub_, ProcessVideoPacketPtr(_, _)) |
| - .InSequence(s) |
| - .After(authenticated) |
| - .WillOnce(DoAll( |
| - // These events should get through to the input stub. |
| - InjectKeyEvent(connection_, key_event2_down), |
| - InjectKeyEvent(connection_, key_event2_up), |
| - InjectMouseEvent(connection_, mouse_event2), |
| - InvokeWithoutArgs(this, &ClientSessionTest::DisconnectClientSession), |
| - // These events should not get through to the input stub, |
| - // because the client has disconnected. |
| - InjectKeyEvent(connection_, key_event3), |
| - InjectMouseEvent(connection_, mouse_event3), |
| - InvokeWithoutArgs(this, &ClientSessionTest::StopClientSession))); |
| - EXPECT_CALL(*input_injector_, InjectKeyEvent(EqualsUsbEvent(2, true))) |
| - .InSequence(s); |
| - EXPECT_CALL(*input_injector_, InjectKeyEvent(EqualsUsbEvent(2, false))) |
| - .InSequence(s); |
| - EXPECT_CALL(*input_injector_, InjectMouseEvent(EqualsMouseEvent(200, 201))) |
| - .InSequence(s); |
| - EXPECT_CALL(session_event_handler_, OnSessionClosed(_)) |
| - .InSequence(s); |
| - |
| - // These events should not get through to the input stub, |
| - // because the client isn't authenticated yet. |
| - connection_->input_stub()->InjectKeyEvent(key_event1); |
| - connection_->input_stub()->InjectMouseEvent(mouse_event1); |
| - |
| - ConnectClientSession(); |
| -} |
| - |
| TEST_F(ClientSessionTest, LocalInputTest) { |
| CreateClientSession(); |