Skip to content

Commit 6d5c170

Browse files
committed
Update libscratchcpp to latest master
1 parent 515809d commit 6d5c170

File tree

7 files changed

+76
-0
lines changed

7 files changed

+76
-0
lines changed

src/spritemodel.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,16 @@ void SpriteModel::onBubbleTextChanged(const std::string &text)
140140
}
141141
}
142142

143+
int SpriteModel::costumeWidth() const
144+
{
145+
return m_renderedTarget->costumeWidth();
146+
}
147+
148+
int SpriteModel::costumeHeight() const
149+
{
150+
return m_renderedTarget->costumeHeight();
151+
}
152+
143153
libscratchcpp::Rect SpriteModel::boundingRect() const
144154
{
145155
return m_renderedTarget->getBounds();

src/spritemodel.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ class SpriteModel
5454
void onBubbleTypeChanged(libscratchcpp::Target::BubbleType type) override;
5555
void onBubbleTextChanged(const std::string &text) override;
5656

57+
int costumeWidth() const override;
58+
int costumeHeight() const override;
59+
5760
libscratchcpp::Rect boundingRect() const override;
5861
libscratchcpp::Rect fastBoundingRect() const override;
5962

src/stagemodel.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,16 @@ void StageModel::onBubbleTextChanged(const std::string &text)
7777
}
7878
}
7979

80+
int StageModel::costumeWidth() const
81+
{
82+
return m_renderedTarget->costumeWidth();
83+
}
84+
85+
int StageModel::costumeHeight() const
86+
{
87+
return m_renderedTarget->costumeHeight();
88+
}
89+
8090
libscratchcpp::Rect StageModel::boundingRect() const
8191
{
8292
return libscratchcpp::Rect();

src/stagemodel.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ class StageModel
4040
void onBubbleTypeChanged(libscratchcpp::Target::BubbleType type) override;
4141
void onBubbleTextChanged(const std::string &text) override;
4242

43+
int costumeWidth() const override;
44+
int costumeHeight() const override;
45+
4346
libscratchcpp::Rect boundingRect() const override;
4447
libscratchcpp::Rect fastBoundingRect() const override;
4548

test/mocks/enginemock.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@ class EngineMock : public IEngine
2626
MOCK_METHOD(void, stopTarget, (Target *, VirtualMachine *), (override));
2727
MOCK_METHOD(void, initClone, (std::shared_ptr<Sprite>), (override));
2828
MOCK_METHOD(void, deinitClone, (std::shared_ptr<Sprite>), (override));
29+
2930
MOCK_METHOD(void, stopSounds, (), (override));
31+
MOCK_METHOD(double, globalVolume, (), (const, override));
32+
MOCK_METHOD(void, setGlobalVolume, (double), (override));
3033

3134
MOCK_METHOD(void, updateMonitors, (), (override));
3235
MOCK_METHOD(void, step, (), (override));
@@ -36,6 +39,7 @@ class EngineMock : public IEngine
3639

3740
MOCK_METHOD(sigslot::signal<> &, aboutToRender, (), (override));
3841
MOCK_METHOD(sigslot::signal<VirtualMachine *> &, threadAboutToStop, (), (override));
42+
MOCK_METHOD(sigslot::signal<> &, stopped, (), (override));
3943

4044
MOCK_METHOD(bool, isRunning, (), (const, override));
4145

@@ -104,6 +108,7 @@ class EngineMock : public IEngine
104108
MOCK_METHOD(int, findBroadcast, (const std::string &), (const, override));
105109
MOCK_METHOD(int, findBroadcastById, (const std::string &), (const, override));
106110

111+
MOCK_METHOD(void, addWhenTouchingObjectScript, (std::shared_ptr<Block>), (override));
107112
MOCK_METHOD(void, addGreenFlagScript, (std::shared_ptr<Block>), (override));
108113
MOCK_METHOD(void, addBroadcastScript, (std::shared_ptr<Block>, int, Broadcast *), (override));
109114
MOCK_METHOD(void, addBackdropChangeScript, (std::shared_ptr<Block>, int), (override));
@@ -131,6 +136,7 @@ class EngineMock : public IEngine
131136
MOCK_METHOD((sigslot::signal<Monitor *, IMonitorHandler *> &), monitorRemoved, (), (override));
132137

133138
MOCK_METHOD(sigslot::signal<const std::string &> &, questionAsked, (), (override));
139+
MOCK_METHOD(sigslot::signal<> &, questionAborted, (), (override));
134140
MOCK_METHOD(sigslot::signal<const std::string &> &, questionAnswered, (), (override));
135141

136142
MOCK_METHOD(std::vector<std::string> &, extensions, (), (const, override));

test/target_models/spritemodel_test.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,28 @@ TEST(SpriteModelTest, OnBubbleTextChanged)
287287
ASSERT_EQ(spy.count(), 2);
288288
}
289289

290+
TEST(SpriteModelTest, CostumeWidth)
291+
{
292+
SpriteModel model;
293+
294+
RenderedTargetMock renderedTarget;
295+
model.setRenderedTarget(&renderedTarget);
296+
297+
EXPECT_CALL(renderedTarget, costumeWidth()).WillOnce(Return(15));
298+
ASSERT_EQ(model.costumeWidth(), 15);
299+
}
300+
301+
TEST(SpriteModelTest, CostumeHeight)
302+
{
303+
SpriteModel model;
304+
305+
RenderedTargetMock renderedTarget;
306+
model.setRenderedTarget(&renderedTarget);
307+
308+
EXPECT_CALL(renderedTarget, costumeHeight()).WillOnce(Return(10));
309+
ASSERT_EQ(model.costumeHeight(), 10);
310+
}
311+
290312
TEST(SpriteModelTest, BoundingRect)
291313
{
292314
SpriteModel model;

test/target_models/stagemodel_test.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,28 @@ TEST(StageModelTest, OnBubbleTextChanged)
112112
ASSERT_EQ(spy.count(), 2);
113113
}
114114

115+
TEST(StageModelTest, CostumeWidth)
116+
{
117+
StageModel model;
118+
119+
RenderedTargetMock renderedTarget;
120+
model.setRenderedTarget(&renderedTarget);
121+
122+
EXPECT_CALL(renderedTarget, costumeWidth()).WillOnce(Return(15));
123+
ASSERT_EQ(model.costumeWidth(), 15);
124+
}
125+
126+
TEST(StageModelTest, CostumeHeight)
127+
{
128+
StageModel model;
129+
130+
RenderedTargetMock renderedTarget;
131+
model.setRenderedTarget(&renderedTarget);
132+
133+
EXPECT_CALL(renderedTarget, costumeHeight()).WillOnce(Return(10));
134+
ASSERT_EQ(model.costumeHeight(), 10);
135+
}
136+
115137
TEST(SpriteModelTest, TouchingClones)
116138
{
117139
StageModel model;

0 commit comments

Comments
 (0)