@@ -1411,16 +1411,21 @@ TEST(EngineTest, Targets)
14111411 Engine engine;
14121412 ASSERT_TRUE (engine.targets ().empty ());
14131413
1414- auto t1 = std::make_shared<Target >();
1414+ auto t1 = std::make_shared<Sprite >();
14151415 t1->setName (" Sprite1" );
1416- auto t2 = std::make_shared<Target>();
1416+ t1->setVisible (true );
1417+ t1->setLayerOrder (3 );
1418+ auto t2 = std::make_shared<Sprite>();
14171419 auto block1 = std::make_shared<Block>(" " , " " );
14181420 auto block2 = std::make_shared<Block>(" " , " " );
14191421 t2->setName (" Sprite2" );
1422+ t2->setVisible (false );
1423+ t2->setLayerOrder (1 );
14201424 t2->addBlock (block1);
14211425 t2->addBlock (block2);
14221426 auto t3 = std::make_shared<Stage>();
14231427 t3->setName (" Stage" );
1428+ t3->setLayerOrder (0 );
14241429 engine.setTargets ({ t1, t2, t3 });
14251430
14261431 ASSERT_EQ (engine.targets (), std::vector<std::shared_ptr<Target>>({ t1, t2, t3 }));
@@ -1436,16 +1441,25 @@ TEST(EngineTest, Targets)
14361441 ASSERT_EQ (engine.findTarget (" Stage" ), -1 );
14371442 ASSERT_EQ (engine.findTarget (" _stage_" ), 2 );
14381443
1439- auto t4 = std::make_shared<Target >();
1444+ auto t4 = std::make_shared<Sprite >();
14401445 t4->setName (" Stage" );
1446+ t4->setVisible (true );
1447+ t4->setLayerOrder (2 );
14411448 engine.setTargets ({ t1, t2, t4 });
14421449 ASSERT_EQ (engine.findTarget (" Stage" ), 2 );
14431450 ASSERT_EQ (engine.findTarget (" _stage_" ), -1 );
14441451
1452+ std::vector<Target *> visibleTargets;
1453+ engine.getVisibleTargets (visibleTargets);
1454+ ASSERT_EQ (visibleTargets, std::vector<Target *>({ t1.get (), t4.get () }));
1455+
14451456 engine.setTargets ({ t1, t2, t3, t4 });
14461457 ASSERT_EQ (engine.findTarget (" Stage" ), 3 );
14471458 ASSERT_EQ (engine.findTarget (" _stage_" ), 2 );
14481459
1460+ engine.getVisibleTargets (visibleTargets);
1461+ ASSERT_EQ (visibleTargets, std::vector<Target *>({ t1.get (), t4.get (), t3.get () }));
1462+
14491463 ASSERT_EQ (t1->engine (), &engine);
14501464 ASSERT_EQ (t2->engine (), &engine);
14511465 ASSERT_EQ (t3->engine (), &engine);
0 commit comments