Index: remoting/host/client_session_unittest.cc |
diff --git a/remoting/host/client_session_unittest.cc b/remoting/host/client_session_unittest.cc |
index 33277f58542941cdf46e0e7db1ae345b834b6bd4..f7b1fedb9572ddeb4db323bc8e6bbc6db8d98e30 100644 |
--- a/remoting/host/client_session_unittest.cc |
+++ b/remoting/host/client_session_unittest.cc |
@@ -29,9 +29,9 @@ using testing::AnyNumber; |
using testing::DeleteArg; |
using testing::DoAll; |
using testing::Expectation; |
-using testing::InSequence; |
using testing::Return; |
using testing::ReturnRef; |
+using testing::Sequence; |
namespace { |
@@ -249,15 +249,20 @@ TEST_F(ClientSessionTest, ClipboardStubFilter) { |
clipboard_event3.set_mime_type(kMimeTypeTextUtf8); |
clipboard_event3.set_data("c"); |
- InSequence s; |
- EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); |
- EXPECT_CALL(*event_executor_, StartPtr(_)); |
- EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_)); |
+ Expectation authenticated = |
+ EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); |
+ EXPECT_CALL(*event_executor_, 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), |
@@ -267,8 +272,10 @@ TEST_F(ClientSessionTest, ClipboardStubFilter) { |
InjectClipboardEvent(connection_, clipboard_event3), |
InvokeWithoutArgs(this, &ClientSessionTest::StopClientSession))); |
EXPECT_CALL(*event_executor_, InjectClipboardEvent(EqualsClipboardEvent( |
- kMimeTypeTextUtf8, "b"))); |
- EXPECT_CALL(session_event_handler_, OnSessionClosed(_)); |
+ 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. |
@@ -320,15 +327,20 @@ TEST_F(ClientSessionTest, InputStubFilter) { |
mouse_event3.set_x(300); |
mouse_event3.set_y(301); |
- InSequence s; |
- EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); |
- EXPECT_CALL(*event_executor_, StartPtr(_)); |
- EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_)); |
+ Expectation authenticated = |
+ EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); |
+ EXPECT_CALL(*event_executor_, 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), |
@@ -340,10 +352,14 @@ TEST_F(ClientSessionTest, InputStubFilter) { |
InjectKeyEvent(connection_, key_event3), |
InjectMouseEvent(connection_, mouse_event3), |
InvokeWithoutArgs(this, &ClientSessionTest::StopClientSession))); |
- 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(session_event_handler_, OnSessionClosed(_)); |
+ EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(2, true))) |
+ .InSequence(s); |
+ EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(2, false))) |
+ .InSequence(s); |
+ EXPECT_CALL(*event_executor_, 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. |
@@ -365,15 +381,20 @@ TEST_F(ClientSessionTest, LocalInputTest) { |
mouse_event3.set_x(300); |
mouse_event3.set_y(301); |
- InSequence s; |
- EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); |
- EXPECT_CALL(*event_executor_, StartPtr(_)); |
- EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_)); |
+ Expectation authenticated = |
+ EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); |
+ EXPECT_CALL(*event_executor_, 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 input stub. |
InjectMouseEvent(connection_, mouse_event1), |
@@ -392,9 +413,12 @@ TEST_F(ClientSessionTest, LocalInputTest) { |
// eventually (via dependency injection, not sleep!) |
InvokeWithoutArgs(this, &ClientSessionTest::DisconnectClientSession), |
InvokeWithoutArgs(this, &ClientSessionTest::StopClientSession))); |
- EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseEvent(100, 101))); |
- EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseEvent(200, 201))); |
- EXPECT_CALL(session_event_handler_, OnSessionClosed(_)); |
+ EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseEvent(100, 101))) |
+ .InSequence(s); |
+ EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseEvent(200, 201))) |
+ .InSequence(s); |
+ EXPECT_CALL(session_event_handler_, OnSessionClosed(_)) |
+ .InSequence(s); |
ConnectClientSession(); |
message_loop_.Run(); |
@@ -413,41 +437,58 @@ TEST_F(ClientSessionTest, RestoreEventState) { |
mousedown.set_button(protocol::MouseEvent::BUTTON_LEFT); |
mousedown.set_button_down(true); |
- InSequence s; |
- EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); |
- EXPECT_CALL(*event_executor_, StartPtr(_)); |
- EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_)); |
+ Expectation authenticated = |
+ EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); |
+ EXPECT_CALL(*event_executor_, 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( |
InjectKeyEvent(connection_, key1), |
InjectKeyEvent(connection_, key2), |
InjectMouseEvent(connection_, mousedown), |
InvokeWithoutArgs(this, &ClientSessionTest::DisconnectClientSession), |
InvokeWithoutArgs(this, &ClientSessionTest::StopClientSession))); |
- EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(1, true))); |
- EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(2, true))); |
+ EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(1, true))) |
+ .InSequence(s); |
+ EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(2, true))) |
+ .InSequence(s); |
EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseButtonEvent( |
- protocol::MouseEvent::BUTTON_LEFT, true))); |
- EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(1, false))); |
- EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(2, false))); |
+ protocol::MouseEvent::BUTTON_LEFT, true))) |
+ .InSequence(s); |
+ EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(1, false))) |
+ .InSequence(s); |
+ EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsUsbEvent(2, false))) |
+ .InSequence(s); |
EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseButtonEvent( |
- protocol::MouseEvent::BUTTON_LEFT, false))); |
- EXPECT_CALL(session_event_handler_, OnSessionClosed(_)); |
+ protocol::MouseEvent::BUTTON_LEFT, false))) |
+ .InSequence(s); |
+ EXPECT_CALL(session_event_handler_, OnSessionClosed(_)) |
+ .InSequence(s); |
ConnectClientSession(); |
message_loop_.Run(); |
} |
TEST_F(ClientSessionTest, ClampMouseEvents) { |
- EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); |
- EXPECT_CALL(*event_executor_, StartPtr(_)); |
- Expectation connected = |
- EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_)); |
- EXPECT_CALL(session_event_handler_, OnSessionClosed(_)); |
+ Expectation authenticated = |
+ EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); |
+ EXPECT_CALL(*event_executor_, StartPtr(_)) |
+ .After(authenticated); |
+ EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_)) |
+ .After(authenticated); |
+ EXPECT_CALL(session_event_handler_, OnSessionClosed(_)) |
+ .After(authenticated); |
+ |
+ Expectation connected = authenticated; |
int input_x[3] = { -999, 100, 999 }; |
int expected_x[3] = { 0, 100, media::ScreenCapturerFake::kWidth - 1 }; |