@@ -547,6 +547,58 @@ TEST(EngineTest, Clones)
547547 }
548548}
549549
550+ TEST (EngineTest, CloneLimit)
551+ {
552+ Project p (" clone_limit.sb3" );
553+ ASSERT_TRUE (p.load ());
554+ auto engine = p.engine ();
555+ ASSERT_EQ (engine->cloneLimit (), 300 );
556+
557+ // TODO: Set "infinite" FPS and remove this (#254)
558+ engine->setFps (100000 );
559+
560+ Stage *stage = engine->stage ();
561+ ASSERT_TRUE (stage);
562+
563+ p.run ();
564+ ASSERT_VAR (stage, " count" );
565+ ASSERT_EQ (GET_VAR (stage, " count" )->value ().toInt (), 300 );
566+ ASSERT_VAR (stage, " delete_passed" );
567+ ASSERT_TRUE (GET_VAR (stage, " delete_passed" )->value ().toBool ());
568+
569+ engine->setCloneLimit (475 );
570+ ASSERT_EQ (engine->cloneLimit (), 475 );
571+ p.run ();
572+ ASSERT_VAR (stage, " count" );
573+ ASSERT_EQ (GET_VAR (stage, " count" )->value ().toInt (), 475 );
574+ ASSERT_VAR (stage, " delete_passed" );
575+ ASSERT_TRUE (GET_VAR (stage, " delete_passed" )->value ().toBool ());
576+
577+ engine->setCloneLimit (0 );
578+ ASSERT_EQ (engine->cloneLimit (), 0 );
579+ p.run ();
580+ ASSERT_VAR (stage, " count" );
581+ ASSERT_EQ (GET_VAR (stage, " count" )->value ().toInt (), 0 );
582+ ASSERT_VAR (stage, " delete_passed" );
583+ ASSERT_TRUE (GET_VAR (stage, " delete_passed" )->value ().toBool ());
584+
585+ engine->setCloneLimit (-1 );
586+ ASSERT_EQ (engine->cloneLimit (), -1 );
587+ p.run ();
588+ ASSERT_VAR (stage, " count" );
589+ ASSERT_GT (GET_VAR (stage, " count" )->value ().toInt (), 500 );
590+ ASSERT_VAR (stage, " delete_passed" );
591+ ASSERT_TRUE (GET_VAR (stage, " delete_passed" )->value ().toBool ());
592+
593+ engine->setCloneLimit (-5 );
594+ ASSERT_EQ (engine->cloneLimit (), -1 );
595+ p.run ();
596+ ASSERT_VAR (stage, " count" );
597+ ASSERT_GT (GET_VAR (stage, " count" )->value ().toInt (), 500 );
598+ ASSERT_VAR (stage, " delete_passed" );
599+ ASSERT_TRUE (GET_VAR (stage, " delete_passed" )->value ().toBool ());
600+ }
601+
550602// TODO: Uncomment this after fixing #256 and #257
551603/* TEST(EngineTest, BackdropBroadcasts)
552604{
0 commit comments