@@ -130,8 +130,8 @@ TEST_F(RenderedTargetTest, LoadAndUpdateProperties)
130130 ASSERT_EQ (target.transformOriginPoint (), QPointF (3.4 , 9.7 ));
131131
132132 target.updateProperties ();
133- ASSERT_EQ (target.width (), 14.3 );
134- ASSERT_EQ (target.height (), 5.8 );
133+ ASSERT_EQ (target.width (), 5.7592 );
134+ ASSERT_EQ (target.height (), 8.6388 );
135135 ASSERT_EQ (std::round (target.x () * 100 ) / 100 , 237.18 );
136136 ASSERT_EQ (std::round (target.y () * 100 ) / 100 , -100.93 );
137137 ASSERT_EQ (target.z (), 3 );
@@ -197,6 +197,41 @@ TEST_F(RenderedTargetTest, LoadJpegCostume)
197197 ASSERT_TRUE (target.bitmapUniqueKey ().toStdString ().empty ());
198198 target.bitmapBuffer ()->close ();
199199
200+ EngineMock engine;
201+ SpriteModel spriteModel;
202+ Sprite sprite;
203+ sprite.setSize (196.5 );
204+ spriteModel.init (&sprite);
205+
206+ EXPECT_CALL (engine, stageWidth ()).WillOnce (Return (480 ));
207+ EXPECT_CALL (engine, stageHeight ()).WillOnce (Return (360 ));
208+ target.setEngine (&engine);
209+ target.setSpriteModel (&spriteModel);
210+ target.loadProperties ();
211+ ASSERT_FALSE (target.isSvg ());
212+ ASSERT_FALSE (target.bitmapBuffer ()->isOpen ());
213+ target.bitmapBuffer ()->open (QBuffer::ReadOnly);
214+ ASSERT_EQ (target.bitmapBuffer ()->readAll ().toStdString (), str);
215+ ASSERT_EQ (target.bitmapUniqueKey ().toStdString (), costume.id ());
216+ target.bitmapBuffer ()->close ();
217+ target.bitmapBuffer ()->open (QBuffer::WriteOnly); // clear the buffer
218+ target.bitmapBuffer ()->close ();
219+
220+ StageModel stageModel;
221+ Stage stage;
222+
223+ EXPECT_CALL (engine, stageWidth ()).WillOnce (Return (480 ));
224+ EXPECT_CALL (engine, stageHeight ()).WillOnce (Return (360 ));
225+ target.setSpriteModel (nullptr );
226+ target.setStageModel (&stageModel);
227+ target.loadProperties ();
228+ ASSERT_FALSE (target.isSvg ());
229+ ASSERT_FALSE (target.bitmapBuffer ()->isOpen ());
230+ target.bitmapBuffer ()->open (QBuffer::ReadOnly);
231+ ASSERT_EQ (target.bitmapBuffer ()->readAll ().toStdString (), str);
232+ ASSERT_EQ (target.bitmapUniqueKey ().toStdString (), costume.id ());
233+ target.bitmapBuffer ()->close ();
234+
200235 target.updateProperties ();
201236 ASSERT_FALSE (target.isSvg ());
202237 ASSERT_FALSE (target.bitmapBuffer ()->isOpen ());
@@ -223,6 +258,41 @@ TEST_F(RenderedTargetTest, LoadPngCostume)
223258 ASSERT_TRUE (target.bitmapUniqueKey ().toStdString ().empty ());
224259 target.bitmapBuffer ()->close ();
225260
261+ EngineMock engine;
262+ SpriteModel spriteModel;
263+ Sprite sprite;
264+ sprite.setSize (196.5 );
265+ spriteModel.init (&sprite);
266+
267+ EXPECT_CALL (engine, stageWidth ()).WillOnce (Return (480 ));
268+ EXPECT_CALL (engine, stageHeight ()).WillOnce (Return (360 ));
269+ target.setEngine (&engine);
270+ target.setSpriteModel (&spriteModel);
271+ target.loadProperties ();
272+ ASSERT_FALSE (target.isSvg ());
273+ ASSERT_FALSE (target.bitmapBuffer ()->isOpen ());
274+ target.bitmapBuffer ()->open (QBuffer::ReadOnly);
275+ ASSERT_EQ (target.bitmapBuffer ()->readAll ().toStdString (), str);
276+ ASSERT_EQ (target.bitmapUniqueKey ().toStdString (), costume.id ());
277+ target.bitmapBuffer ()->close ();
278+ target.bitmapBuffer ()->open (QBuffer::WriteOnly); // clear the buffer
279+ target.bitmapBuffer ()->close ();
280+
281+ StageModel stageModel;
282+ Stage stage;
283+
284+ EXPECT_CALL (engine, stageWidth ()).WillOnce (Return (480 ));
285+ EXPECT_CALL (engine, stageHeight ()).WillOnce (Return (360 ));
286+ target.setSpriteModel (nullptr );
287+ target.setStageModel (&stageModel);
288+ target.loadProperties ();
289+ ASSERT_FALSE (target.isSvg ());
290+ ASSERT_FALSE (target.bitmapBuffer ()->isOpen ());
291+ target.bitmapBuffer ()->open (QBuffer::ReadOnly);
292+ ASSERT_EQ (target.bitmapBuffer ()->readAll ().toStdString (), str);
293+ ASSERT_EQ (target.bitmapUniqueKey ().toStdString (), costume.id ());
294+ target.bitmapBuffer ()->close ();
295+
226296 target.updateProperties ();
227297 ASSERT_FALSE (target.isSvg ());
228298 ASSERT_FALSE (target.bitmapBuffer ()->isOpen ());
@@ -265,15 +335,20 @@ TEST_F(RenderedTargetTest, PaintSvg)
265335 costume.setData (str.size (), static_cast <void *>(const_cast <char *>(str.c_str ())));
266336 costume.setBitmapResolution (3 );
267337
338+ EngineMock engine;
268339 Sprite sprite;
269340 sprite.setSize (2525.7 );
270341
271342 SpriteModel model;
272343 model.init (&sprite);
273344
345+ EXPECT_CALL (engine, stageWidth ()).WillOnce (Return (480 ));
346+ EXPECT_CALL (engine, stageHeight ()).WillOnce (Return (360 ));
274347 RenderedTarget target;
348+ target.setEngine (&engine);
275349 target.setSpriteModel (&model);
276350 target.loadCostume (&costume);
351+ target.loadProperties ();
277352 target.updateProperties ();
278353
279354 // Create OpenGL context
0 commit comments