Skip to content

Commit 9cdb494

Browse files
committed
Add missing signal tests
Resolves: #57
1 parent fabb130 commit 9cdb494

File tree

7 files changed

+53
-0
lines changed

7 files changed

+53
-0
lines changed

test/penlayer/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ target_link_libraries(
1010
scratchcpp-render
1111
scratchcpprender_mocks
1212
${QT_LIBS}
13+
Qt6::Test
1314
)
1415

1516
add_test(penlayer_test)

test/penlayer/penlayer_test.cpp

+20
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include <QOpenGLExtraFunctions>
33
#include <QBuffer>
44
#include <QFile>
5+
#include <QSignalSpy>
56
#include <penlayer.h>
67
#include <penattributes.h>
78
#include <projectloader.h>
@@ -53,6 +54,7 @@ TEST_F(PenLayerTest, Constructors)
5354
TEST_F(PenLayerTest, Engine)
5455
{
5556
PenLayer penLayer;
57+
QSignalSpy spy(&penLayer, &PenLayer::engineChanged);
5658
ASSERT_EQ(penLayer.engine(), nullptr);
5759

5860
EngineMock engine1, engine2;
@@ -61,15 +63,33 @@ TEST_F(PenLayerTest, Engine)
6163
EXPECT_CALL(engine1, stageWidth()).WillOnce(Return(480));
6264
penLayer.setEngine(&engine1);
6365
ASSERT_EQ(penLayer.engine(), &engine1);
66+
ASSERT_EQ(spy.count(), 1);
6467

6568
penLayer.setWidth(500);
6669
penLayer.setHeight(400);
6770
EXPECT_CALL(engine2, stageWidth()).WillOnce(Return(500));
6871
penLayer.setEngine(&engine2);
6972
ASSERT_EQ(penLayer.engine(), &engine2);
73+
ASSERT_EQ(spy.count(), 2);
7074

7175
penLayer.setEngine(nullptr);
7276
ASSERT_EQ(penLayer.engine(), nullptr);
77+
ASSERT_EQ(spy.count(), 3);
78+
}
79+
80+
TEST_F(PenLayerTest, HqPen)
81+
{
82+
PenLayer penLayer;
83+
QSignalSpy spy(&penLayer, &PenLayer::hqPenChanged);
84+
ASSERT_FALSE(penLayer.hqPen());
85+
86+
penLayer.setHqPen(true);
87+
ASSERT_TRUE(penLayer.hqPen());
88+
ASSERT_EQ(spy.count(), 1);
89+
90+
penLayer.setHqPen(false);
91+
ASSERT_FALSE(penLayer.hqPen());
92+
ASSERT_EQ(spy.count(), 2);
7393
}
7494

7595
TEST_F(PenLayerTest, FramebufferObject)

test/projectscene/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ target_link_libraries(
1010
scratchcpp-render
1111
scratchcpprender_mocks
1212
${QT_LIBS}
13+
Qt6::Test
1314
)
1415

1516
add_test(projectscene_test)

test/projectscene/projectscene_test.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#include <QSignalSpy>
12
#include <scratchcpp/keyevent.h>
23
#include <projectscene.h>
34
#include <enginemock.h>
@@ -11,20 +12,24 @@ using ::testing::Return;
1112
TEST(ProjectSceneTest, Engine)
1213
{
1314
ProjectScene scene;
15+
QSignalSpy spy(&scene, &ProjectScene::engineChanged);
1416
ASSERT_EQ(scene.engine(), nullptr);
1517

1618
EngineMock engine;
1719
scene.setEngine(&engine);
1820
ASSERT_EQ(scene.engine(), &engine);
21+
ASSERT_EQ(spy.count(), 1);
1922
}
2023

2124
TEST(ProjectSceneTest, StageScale)
2225
{
2326
ProjectScene scene;
27+
QSignalSpy spy(&scene, &ProjectScene::stageScaleChanged);
2428
ASSERT_EQ(scene.stageScale(), 1);
2529

2630
scene.setStageScale(5.79);
2731
ASSERT_EQ(scene.stageScale(), 5.79);
32+
ASSERT_EQ(spy.count(), 1);
2833
}
2934

3035
TEST(ProjectSceneTest, HandleMouseMove)

test/renderedtarget/renderedtarget_test.cpp

+10
Original file line numberDiff line numberDiff line change
@@ -623,31 +623,37 @@ TEST_F(RenderedTargetTest, SpriteDragging)
623623
TEST_F(RenderedTargetTest, Engine)
624624
{
625625
RenderedTarget target;
626+
QSignalSpy spy(&target, &RenderedTarget::engineChanged);
626627
ASSERT_EQ(target.engine(), nullptr);
627628

628629
EngineMock engine;
629630
target.setEngine(&engine);
630631
ASSERT_EQ(target.engine(), &engine);
632+
ASSERT_EQ(spy.count(), 1);
631633
}
632634

633635
TEST_F(RenderedTargetTest, StageModel)
634636
{
635637
RenderedTarget target;
638+
QSignalSpy spy(&target, &RenderedTarget::stageModelChanged);
636639
ASSERT_EQ(target.stageModel(), nullptr);
637640

638641
StageModel model;
639642
target.setStageModel(&model);
640643
ASSERT_EQ(target.stageModel(), &model);
644+
ASSERT_EQ(spy.count(), 1);
641645
}
642646

643647
TEST_F(RenderedTargetTest, SpriteModel)
644648
{
645649
RenderedTarget target;
650+
QSignalSpy spy(&target, &RenderedTarget::spriteModelChanged);
646651
ASSERT_EQ(target.spriteModel(), nullptr);
647652

648653
SpriteModel model;
649654
target.setSpriteModel(&model);
650655
ASSERT_EQ(target.spriteModel(), &model);
656+
ASSERT_EQ(spy.count(), 1);
651657
}
652658

653659
TEST_F(RenderedTargetTest, ScratchTarget)
@@ -672,20 +678,24 @@ TEST_F(RenderedTargetTest, ScratchTarget)
672678
TEST_F(RenderedTargetTest, MouseArea)
673679
{
674680
RenderedTarget target;
681+
QSignalSpy spy(&target, &RenderedTarget::mouseAreaChanged);
675682
ASSERT_EQ(target.mouseArea(), nullptr);
676683

677684
SceneMouseArea mouseArea;
678685
target.setMouseArea(&mouseArea);
679686
ASSERT_EQ(target.mouseArea(), &mouseArea);
687+
ASSERT_EQ(spy.count(), 1);
680688
}
681689

682690
TEST_F(RenderedTargetTest, StageScale)
683691
{
684692
RenderedTarget target;
693+
QSignalSpy spy(&target, &RenderedTarget::stageScaleChanged);
685694
ASSERT_EQ(target.stageScale(), 1);
686695

687696
target.setStageScale(6.4);
688697
ASSERT_EQ(target.stageScale(), 6.4);
698+
ASSERT_EQ(spy.count(), 1);
689699
}
690700

691701
TEST_F(RenderedTargetTest, GraphicEffects)

test/textbubbleshape/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ target_link_libraries(
88
GTest::gtest_main
99
scratchcpp-render
1010
${QT_LIBS}
11+
Qt6::Test
1112
)
1213

1314
add_test(textbubbleshape_test)

test/textbubbleshape/textbubbleshape_test.cpp

+15
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include <QOpenGLContext>
22
#include <QOffscreenSurface>
3+
#include <QSignalSpy>
34
#include <textbubbleshape.h>
45

56
#include "../common.h"
@@ -41,56 +42,70 @@ TEST_F(TextBubbleShapeTest, Constructors)
4142
TEST_F(TextBubbleShapeTest, Type)
4243
{
4344
TextBubbleShape bubble;
45+
QSignalSpy spy(&bubble, &TextBubbleShape::typeChanged);
4446
ASSERT_EQ(bubble.type(), TextBubbleShape::Type::Say);
4547

4648
bubble.setType(TextBubbleShape::Type::Think);
4749
ASSERT_EQ(bubble.type(), TextBubbleShape::Type::Think);
50+
ASSERT_EQ(spy.count(), 1);
4851

4952
bubble.setType(TextBubbleShape::Type::Think);
5053
ASSERT_EQ(bubble.type(), TextBubbleShape::Type::Think);
54+
ASSERT_EQ(spy.count(), 1);
5155

5256
bubble.setType(TextBubbleShape::Type::Say);
5357
ASSERT_EQ(bubble.type(), TextBubbleShape::Type::Say);
58+
ASSERT_EQ(spy.count(), 2);
5459
}
5560

5661
TEST_F(TextBubbleShapeTest, OnSpriteRight)
5762
{
5863
TextBubbleShape bubble;
64+
QSignalSpy spy(&bubble, &TextBubbleShape::onSpriteRightChanged);
5965
ASSERT_TRUE(bubble.onSpriteRight());
6066

6167
bubble.setOnSpriteRight(false);
6268
ASSERT_FALSE(bubble.onSpriteRight());
69+
ASSERT_EQ(spy.count(), 1);
6370

6471
bubble.setOnSpriteRight(false);
6572
ASSERT_FALSE(bubble.onSpriteRight());
73+
ASSERT_EQ(spy.count(), 1);
6674

6775
bubble.setOnSpriteRight(true);
6876
ASSERT_TRUE(bubble.onSpriteRight());
77+
ASSERT_EQ(spy.count(), 2);
6978
}
7079

7180
TEST_F(TextBubbleShapeTest, StageScale)
7281
{
7382
TextBubbleShape bubble;
83+
QSignalSpy spy(&bubble, &TextBubbleShape::stageScaleChanged);
7484
ASSERT_EQ(bubble.stageScale(), 1);
7585

7686
bubble.setStageScale(6.48);
7787
ASSERT_EQ(bubble.stageScale(), 6.48);
88+
ASSERT_EQ(spy.count(), 1);
7889
}
7990

8091
TEST_F(TextBubbleShapeTest, NativeWidth)
8192
{
8293
TextBubbleShape bubble;
94+
QSignalSpy spy(&bubble, &TextBubbleShape::nativeWidthChanged);
8395
ASSERT_EQ(bubble.nativeWidth(), 0);
8496

8597
bubble.setNativeWidth(48.1);
8698
ASSERT_EQ(bubble.nativeWidth(), 48.1);
99+
ASSERT_EQ(spy.count(), 1);
87100
}
88101

89102
TEST_F(TextBubbleShapeTest, NativeHeight)
90103
{
91104
TextBubbleShape bubble;
105+
QSignalSpy spy(&bubble, &TextBubbleShape::nativeHeightChanged);
92106
ASSERT_EQ(bubble.nativeHeight(), 0);
93107

94108
bubble.setNativeHeight(87.5);
95109
ASSERT_EQ(bubble.nativeHeight(), 87.5);
110+
ASSERT_EQ(spy.count(), 1);
96111
}

0 commit comments

Comments
 (0)