77
88using namespace scratchcpprender ;
99
10+ using ::testing::NiceMock;
11+
1012TEST (SceneMouseAreaTest, Constructors)
1113{
1214 SceneMouseArea area1;
@@ -15,6 +17,56 @@ TEST(SceneMouseAreaTest, Constructors)
1517 ASSERT_EQ (area2.parentItem (), &area1);
1618}
1719
20+ TEST (SceneMouseAreaTest, Events)
21+ {
22+ QPointingDevice dev;
23+ SceneMouseArea mouseArea;
24+ ProjectLoader loader;
25+ mouseArea.setProjectLoader (&loader);
26+ NiceMock<RenderedTargetMock> stage;
27+ mouseArea.setStage (&stage);
28+
29+ // mouseMoved
30+ {
31+ QHoverEvent event (QEvent::HoverMove, {}, {}, {}, Qt::NoModifier, &dev);
32+ QSignalSpy spy (&mouseArea, &SceneMouseArea::mouseMoved);
33+ QCoreApplication::sendEvent (&mouseArea, &event);
34+ ASSERT_EQ (spy.count (), 1 );
35+ }
36+
37+ // mousePressed
38+ {
39+ QMouseEvent event (QEvent::MouseButtonPress, {}, {}, {}, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier, &dev);
40+ QSignalSpy spy (&mouseArea, &SceneMouseArea::mousePressed);
41+ QCoreApplication::sendEvent (&mouseArea, &event);
42+ ASSERT_EQ (spy.count (), 1 );
43+ }
44+
45+ // mouseReleased
46+ {
47+ QMouseEvent event (QEvent::MouseButtonRelease, {}, {}, {}, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier, &dev);
48+ QSignalSpy spy (&mouseArea, &SceneMouseArea::mouseReleased);
49+ QCoreApplication::sendEvent (&mouseArea, &event);
50+ ASSERT_EQ (spy.count (), 1 );
51+ }
52+
53+ // mouseWheelUp
54+ {
55+ QWheelEvent event (QPointF (), QPointF (), QPoint (2 , 3 ), QPoint (10 , 15 ), Qt::LeftButton, Qt::NoModifier, Qt::NoScrollPhase, false );
56+ QSignalSpy spy (&mouseArea, &SceneMouseArea::mouseWheelUp);
57+ QCoreApplication::sendEvent (&mouseArea, &event);
58+ ASSERT_EQ (spy.count (), 1 );
59+ }
60+
61+ // mouseWheelDown
62+ {
63+ QWheelEvent event (QPointF (), QPointF (), QPoint (2 , 3 ), QPoint (10 , -15 ), Qt::LeftButton, Qt::NoModifier, Qt::NoScrollPhase, false );
64+ QSignalSpy spy (&mouseArea, &SceneMouseArea::mouseWheelDown);
65+ QCoreApplication::sendEvent (&mouseArea, &event);
66+ ASSERT_EQ (spy.count (), 1 );
67+ }
68+ }
69+
1870TEST (SceneMouseAreaTest, Stage)
1971{
2072 SceneMouseArea mouseArea;
0 commit comments