Skip to content

Commit 3b639b2

Browse files
committed
Add test for SceneMouseArea events
Resolves: #93
1 parent 9cdb494 commit 3b639b2

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

test/scenemousearea/scenemousearea_test.cpp

+52
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
using namespace scratchcpprender;
99

10+
using ::testing::NiceMock;
11+
1012
TEST(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+
1870
TEST(SceneMouseAreaTest, Stage)
1971
{
2072
SceneMouseArea mouseArea;

0 commit comments

Comments
 (0)