@@ -122,51 +122,55 @@ TEST(SpriteTest, Clone)
122122 EXPECT_CALL (engine, requestRedraw ()).Times (2 );
123123 EXPECT_CALL (engine, cloneLimit ()).Times (6 ).WillRepeatedly (Return (300 )); // clone count limit is tested later
124124
125- Sprite *clone1, *clone1_2;
125+ std::shared_ptr<Sprite> clone1;
126+ Sprite *clone1_2;
126127 EXPECT_CALL (engine, cloneCount ()).WillOnce (Return (0 ));
127128 EXPECT_CALL (engine, initClone (_)).WillOnce (SaveArg<0 >(&clone1));
128129 EXPECT_CALL (engine, moveSpriteBehindOther (_, &sprite)).WillOnce (SaveArg<0 >(&clone1_2));
129- ASSERT_EQ (sprite.clone (). get () , clone1);
130- ASSERT_EQ (clone1, clone1_2);
130+ ASSERT_EQ (sprite.clone (), clone1);
131+ ASSERT_EQ (clone1. get () , clone1_2);
131132 ASSERT_FALSE (sprite.isClone ());
132133 ASSERT_EQ (sprite.cloneSprite (), nullptr );
133134
134135 ASSERT_TRUE (clone1->isClone ());
135136 ASSERT_EQ (clone1->cloneSprite (), &sprite);
136137
137- checkCloneData (clone1);
138+ checkCloneData (clone1. get () );
138139
139140 // Modify root sprite data to make sure parent is used
140141 sprite.setLayerOrder (3 );
141142
142- Sprite *clone2, *clone2_2;
143+ std::shared_ptr<Sprite> clone2;
144+ Sprite *clone2_2;
143145 EXPECT_CALL (engine, cloneCount ()).WillOnce (Return (1 ));
144146 EXPECT_CALL (engine, initClone (_)).WillOnce (SaveArg<0 >(&clone2));
145- EXPECT_CALL (engine, moveSpriteBehindOther (_, clone1)).WillOnce (SaveArg<0 >(&clone2_2));
146- ASSERT_EQ (clone1->clone (). get () , clone2);
147- ASSERT_EQ (clone2, clone2_2);
147+ EXPECT_CALL (engine, moveSpriteBehindOther (_, clone1. get () )).WillOnce (SaveArg<0 >(&clone2_2));
148+ ASSERT_EQ (clone1->clone (), clone2);
149+ ASSERT_EQ (clone2. get () , clone2_2);
148150 ASSERT_TRUE (clone1->isClone ());
149151 ASSERT_EQ (clone1->cloneSprite (), &sprite);
150152 ASSERT_TRUE (clone2->isClone ());
151153 ASSERT_EQ (clone2->cloneSprite (), &sprite);
152154
153- checkCloneData (clone2);
155+ checkCloneData (clone2. get () );
154156
155157 sprite.setVisible (true );
156158
157- Sprite *clone3, *clone3_2;
159+ std::shared_ptr<Sprite> clone3;
160+ Sprite *clone3_2;
158161 EXPECT_CALL (engine, cloneCount ()).WillOnce (Return (2 ));
159162 EXPECT_CALL (engine, initClone (_)).WillOnce (SaveArg<0 >(&clone3));
160- EXPECT_CALL (engine, moveSpriteBehindOther (_, clone1)).WillOnce (SaveArg<0 >(&clone3_2));
161- ASSERT_EQ (clone1->clone (). get () , clone3);
162- ASSERT_EQ (clone3, clone3_2);
163+ EXPECT_CALL (engine, moveSpriteBehindOther (_, clone1. get () )).WillOnce (SaveArg<0 >(&clone3_2));
164+ ASSERT_EQ (clone1->clone (), clone3);
165+ ASSERT_EQ (clone3. get () , clone3_2);
163166
164- Sprite *clone4, *clone4_2;
167+ std::shared_ptr<Sprite> clone4;
168+ Sprite *clone4_2;
165169 EXPECT_CALL (engine, cloneLimit ()).WillOnce (Return (-1 ));
166170 EXPECT_CALL (engine, initClone (_)).WillOnce (SaveArg<0 >(&clone4));
167171 EXPECT_CALL (engine, moveSpriteBehindOther (_, &sprite)).WillOnce (SaveArg<0 >(&clone4_2));
168- ASSERT_EQ (sprite.clone (). get () , clone4);
169- ASSERT_EQ (clone4, clone4_2);
172+ ASSERT_EQ (sprite.clone (), clone4);
173+ ASSERT_EQ (clone4. get () , clone4_2);
170174
171175 EXPECT_CALL (engine, cloneLimit ()).Times (2 ).WillRepeatedly (Return (0 ));
172176 EXPECT_CALL (engine, cloneCount ()).WillOnce (Return (0 ));
@@ -179,10 +183,10 @@ TEST(SpriteTest, Clone)
179183 // clones
180184 const auto &clones = sprite.clones ();
181185 ASSERT_EQ (clones.size (), 4 );
182- ASSERT_EQ (clones[0 ]. get () , clone1);
183- ASSERT_EQ (clones[1 ]. get () , clone2);
184- ASSERT_EQ (clones[2 ]. get () , clone3);
185- ASSERT_EQ (clones[3 ]. get () , clone4);
186+ ASSERT_EQ (clones[0 ], clone1);
187+ ASSERT_EQ (clones[1 ], clone2);
188+ ASSERT_EQ (clones[2 ], clone3);
189+ ASSERT_EQ (clones[3 ], clone4);
186190
187191 ASSERT_EQ (clone1->clones (), clones);
188192 ASSERT_EQ (clone2->clones (), clones);
@@ -195,28 +199,28 @@ TEST(SpriteTest, Clone)
195199 ASSERT_EQ (clone2->costumes (), sprite.costumes ());
196200
197201 // Delete
198- EXPECT_CALL (engine, deinitClone (clone1));
202+ EXPECT_CALL (engine, deinitClone (clone1. get () ));
199203 clone1->deleteClone ();
200204
201205 ASSERT_EQ (clones.size (), 3 );
202- ASSERT_EQ (clones[0 ]. get () , clone2);
203- ASSERT_EQ (clones[1 ]. get () , clone3);
204- ASSERT_EQ (clones[2 ]. get () , clone4);
206+ ASSERT_EQ (clones[0 ], clone2);
207+ ASSERT_EQ (clones[1 ], clone3);
208+ ASSERT_EQ (clones[2 ], clone4);
205209
206- EXPECT_CALL (engine, deinitClone (clone3));
210+ EXPECT_CALL (engine, deinitClone (clone3. get () ));
207211 clone3->deleteClone ();
208212
209213 ASSERT_EQ (clones.size (), 2 );
210- ASSERT_EQ (clones[0 ]. get () , clone2);
211- ASSERT_EQ (clones[1 ]. get () , clone4);
214+ ASSERT_EQ (clones[0 ], clone2);
215+ ASSERT_EQ (clones[1 ], clone4);
212216
213- EXPECT_CALL (engine, deinitClone (clone2));
217+ EXPECT_CALL (engine, deinitClone (clone2. get () ));
214218 clone2->deleteClone ();
215219
216220 ASSERT_EQ (clones.size (), 1 );
217- ASSERT_EQ (clones[0 ]. get () , clone4);
221+ ASSERT_EQ (clones[0 ], clone4);
218222
219- EXPECT_CALL (engine, deinitClone (clone4));
223+ EXPECT_CALL (engine, deinitClone (clone4. get () ));
220224 clone4->deleteClone ();
221225 ASSERT_TRUE (clones.empty ());
222226}
0 commit comments