7
7
8
8
using namespace scratchcpprender ;
9
9
10
+ using ::testing::NiceMock;
11
+
10
12
TEST (SceneMouseAreaTest, Constructors)
11
13
{
12
14
SceneMouseArea area1;
@@ -15,6 +17,56 @@ TEST(SceneMouseAreaTest, Constructors)
15
17
ASSERT_EQ (area2.parentItem (), &area1);
16
18
}
17
19
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
+
18
70
TEST (SceneMouseAreaTest, Stage)
19
71
{
20
72
SceneMouseArea mouseArea;
0 commit comments