Skip to content

Commit 8076891

Browse files
committed
Use a null block in control blocks test
1 parent 3486d03 commit 8076891

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

test/blocks/control_blocks_test.cpp

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)