@@ -126,10 +126,12 @@ TEST(SpriteTest, Clone)
126126 EXPECT_CALL (engine, requestRedraw ()).Times (2 );
127127 EXPECT_CALL (engine, cloneLimit ()).Times (6 ).WillRepeatedly (Return (300 )); // clone count limit is tested later
128128
129- Sprite *clone1;
129+ Sprite *clone1, *clone1_2 ;
130130 EXPECT_CALL (engine, cloneCount ()).WillOnce (Return (0 ));
131131 EXPECT_CALL (engine, initClone (_)).WillOnce (SaveArg<0 >(&clone1));
132+ EXPECT_CALL (engine, moveSpriteBehindOther (_, sprite.get ())).WillOnce (SaveArg<0 >(&clone1_2));
132133 ASSERT_EQ (sprite->clone ().get (), clone1);
134+ ASSERT_EQ (clone1, clone1_2);
133135 ASSERT_FALSE (sprite->isClone ());
134136 ASSERT_EQ (sprite->cloneRoot (), nullptr );
135137 ASSERT_EQ (sprite->cloneParent (), nullptr );
@@ -143,10 +145,12 @@ TEST(SpriteTest, Clone)
143145 // Modify root sprite data to make sure parent is used
144146 sprite->setLayerOrder (3 );
145147
146- Sprite *clone2;
148+ Sprite *clone2, *clone2_2 ;
147149 EXPECT_CALL (engine, cloneCount ()).WillOnce (Return (1 ));
148150 EXPECT_CALL (engine, initClone (_)).WillOnce (SaveArg<0 >(&clone2));
151+ EXPECT_CALL (engine, moveSpriteBehindOther (_, clone1)).WillOnce (SaveArg<0 >(&clone2_2));
149152 ASSERT_EQ (clone1->clone ().get (), clone2);
153+ ASSERT_EQ (clone2, clone2_2);
150154 ASSERT_TRUE (clone1->isClone ());
151155 ASSERT_EQ (clone1->cloneRoot (), sprite.get ());
152156 ASSERT_EQ (clone1->cloneParent (), sprite.get ());
@@ -158,15 +162,19 @@ TEST(SpriteTest, Clone)
158162
159163 sprite->setVisible (true );
160164
161- Sprite *clone3;
165+ Sprite *clone3, *clone3_2 ;
162166 EXPECT_CALL (engine, cloneCount ()).WillOnce (Return (2 ));
163167 EXPECT_CALL (engine, initClone (_)).WillOnce (SaveArg<0 >(&clone3));
168+ EXPECT_CALL (engine, moveSpriteBehindOther (_, clone1)).WillOnce (SaveArg<0 >(&clone3_2));
164169 ASSERT_EQ (clone1->clone ().get (), clone3);
170+ ASSERT_EQ (clone3, clone3_2);
165171
166- Sprite *clone4;
172+ Sprite *clone4, *clone4_2 ;
167173 EXPECT_CALL (engine, cloneLimit ()).WillOnce (Return (-1 ));
168174 EXPECT_CALL (engine, initClone (_)).WillOnce (SaveArg<0 >(&clone4));
175+ EXPECT_CALL (engine, moveSpriteBehindOther (_, sprite.get ())).WillOnce (SaveArg<0 >(&clone4_2));
169176 ASSERT_EQ (sprite->clone ().get (), clone4);
177+ ASSERT_EQ (clone4, clone4_2);
170178
171179 EXPECT_CALL (engine, cloneLimit ()).Times (2 ).WillRepeatedly (Return (0 ));
172180 EXPECT_CALL (engine, cloneCount ()).WillOnce (Return (0 ));
0 commit comments