@@ -303,17 +303,32 @@ TEST(MouseEventHandlerTest, MousePressReleaseEvent)
303303 pressedSpy.clear ();
304304 releasedSpy.clear ();
305305
306- // Send to stage (press)
306+ // Send release (should be sent to sprite 1)
307+ EXPECT_CALL (renderedTarget1, mouseReleaseEvent (_)).WillOnce (WithArgs<0 >(Invoke (checkReleaseEvent)));
308+ ASSERT_TRUE (handler.eventFilter (nullptr , &releaseEvent));
309+ ASSERT_EQ (pressedSpy.count (), 0 );
310+ ASSERT_EQ (releasedSpy.count (), 1 );
311+ pressedSpy.clear ();
312+ releasedSpy.clear ();
313+
314+ // Send to sprite 1 (press)
307315 EXPECT_CALL (renderedTarget3, contains (localPos)).WillOnce (Return (false ));
308- EXPECT_CALL (renderedTarget1, contains (localPos)).WillOnce (Return (false ));
309- EXPECT_CALL (renderedTarget2, contains (localPos)).WillOnce (Return (false ));
310- EXPECT_CALL (stage, mousePressEvent (_)).WillOnce (WithArgs<0 >(Invoke (checkPressEvent)));
316+ EXPECT_CALL (renderedTarget1, contains (localPos)).WillOnce (Return (true ));
317+ EXPECT_CALL (renderedTarget1, mousePressEvent (_)).WillOnce (WithArgs<0 >(Invoke (checkPressEvent)));
311318 ASSERT_TRUE (handler.eventFilter (nullptr , &pressEvent));
312319 ASSERT_EQ (pressedSpy.count (), 1 );
313320 ASSERT_EQ (releasedSpy.count (), 0 );
314321 pressedSpy.clear ();
315322 releasedSpy.clear ();
316323
324+ // Send release (should be sent to sprite 1)
325+ EXPECT_CALL (renderedTarget1, mouseReleaseEvent (_)).WillOnce (WithArgs<0 >(Invoke (checkReleaseEvent)));
326+ ASSERT_TRUE (handler.eventFilter (nullptr , &releaseEvent));
327+ ASSERT_EQ (pressedSpy.count (), 0 );
328+ ASSERT_EQ (releasedSpy.count (), 1 );
329+ pressedSpy.clear ();
330+ releasedSpy.clear ();
331+
317332 // Send to sprite 1 (release)
318333 EXPECT_CALL (renderedTarget3, contains (localPos)).WillOnce (Return (false ));
319334 EXPECT_CALL (renderedTarget1, contains (localPos)).WillOnce (Return (true ));
@@ -324,10 +339,18 @@ TEST(MouseEventHandlerTest, MousePressReleaseEvent)
324339 pressedSpy.clear ();
325340 releasedSpy.clear ();
326341
327- // Send to stage (release )
342+ // Send to stage (press )
328343 EXPECT_CALL (renderedTarget3, contains (localPos)).WillOnce (Return (false ));
329344 EXPECT_CALL (renderedTarget1, contains (localPos)).WillOnce (Return (false ));
330345 EXPECT_CALL (renderedTarget2, contains (localPos)).WillOnce (Return (false ));
346+ EXPECT_CALL (stage, mousePressEvent (_)).WillOnce (WithArgs<0 >(Invoke (checkPressEvent)));
347+ ASSERT_TRUE (handler.eventFilter (nullptr , &pressEvent));
348+ ASSERT_EQ (pressedSpy.count (), 1 );
349+ ASSERT_EQ (releasedSpy.count (), 0 );
350+ pressedSpy.clear ();
351+ releasedSpy.clear ();
352+
353+ // Send release (should be sent to stage)
331354 EXPECT_CALL (stage, mouseReleaseEvent (_)).WillOnce (WithArgs<0 >(Invoke (checkReleaseEvent)));
332355 ASSERT_TRUE (handler.eventFilter (nullptr , &releaseEvent));
333356 ASSERT_EQ (pressedSpy.count (), 0 );
0 commit comments