@@ -48,6 +48,15 @@ class ControlBlocksTest : public testing::Test
4848 return block;
4949 }
5050
51+ std::shared_ptr<Block> createNullBlock (const std::string &id)
52+ {
53+ std::shared_ptr<Block> block = std::make_shared<Block>(id, " " );
54+ BlockComp func = [](Compiler *compiler) { compiler->addInstruction (vm::OP_NULL); };
55+ block->setCompileFunction (func);
56+
57+ return block;
58+ }
59+
5160 void addSubstackInput (std::shared_ptr<Block> block, const std::string &name, ControlBlocks::Inputs id, std::shared_ptr<Block> valueBlock) const
5261 {
5362 auto input = std::make_shared<Input>(name, Input::Type::NoShadow);
@@ -859,10 +868,8 @@ TEST_F(ControlBlocksTest, CreateCloneOf)
859868 // create clone of [myself]
860869 auto block2 = createCloneBlock (" b" , " _myself_" );
861870
862- // create clone of (join "" "")
863- auto joinBlock = std::make_shared<Block>(" d" , " operator_join" );
864- joinBlock->setCompileFunction (&OperatorBlocks::compileJoin);
865- auto block3 = createCloneBlock (" c" , " " , joinBlock);
871+ // create clone of (null block)
872+ auto block3 = createCloneBlock (" c" , " " , createNullBlock (" d" ));
866873
867874 EXPECT_CALL (m_engineMock, findTarget (" Sprite1" )).WillOnce (Return (4 ));
868875 EXPECT_CALL (m_engineMock, functionIndex (&ControlBlocks::createCloneByIndex)).WillOnce (Return (0 ));
@@ -878,9 +885,7 @@ TEST_F(ControlBlocksTest, CreateCloneOf)
878885 ControlBlocks::compileCreateClone (&compiler);
879886 compiler.end ();
880887
881- ASSERT_EQ (
882- compiler.bytecode (),
883- std::vector<unsigned int >({ vm::OP_START, vm::OP_CONST, 0 , vm::OP_EXEC, 0 , vm::OP_EXEC, 1 , vm::OP_NULL, vm::OP_NULL, vm::OP_STR_CONCAT, vm::OP_EXEC, 2 , vm::OP_HALT }));
888+ ASSERT_EQ (compiler.bytecode (), std::vector<unsigned int >({ vm::OP_START, vm::OP_CONST, 0 , vm::OP_EXEC, 0 , vm::OP_EXEC, 1 , vm::OP_NULL, vm::OP_EXEC, 2 , vm::OP_HALT }));
884889 ASSERT_EQ (compiler.constValues ().size (), 1 );
885890 ASSERT_EQ (compiler.constValues ()[0 ].toDouble (), 4 );
886891 ASSERT_TRUE (compiler.variables ().empty ());
0 commit comments