Skip to content

Commit b1a1b02

Browse files
committed
Use a null block in motion blocks test
1 parent ae960e6 commit b1a1b02

File tree

1 file changed

+17
-20
lines changed

1 file changed

+17
-20
lines changed

test/blocks/motion_blocks_test.cpp

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,15 @@ class MotionBlocksTest : public testing::Test
3030
// For any motion block
3131
std::shared_ptr<Block> createMotionBlock(const std::string &id, const std::string &opcode) const { return std::make_shared<Block>(id, opcode); }
3232

33+
std::shared_ptr<Block> createNullBlock(const std::string &id)
34+
{
35+
std::shared_ptr<Block> block = std::make_shared<Block>(id, "");
36+
BlockComp func = [](Compiler *compiler) { compiler->addInstruction(vm::OP_NULL); };
37+
block->setCompileFunction(func);
38+
39+
return block;
40+
}
41+
3342
void addValueInput(std::shared_ptr<Block> block, const std::string &name, MotionBlocks::Inputs id, const Value &value) const
3443
{
3544
auto input = std::make_shared<Input>(name, Input::Type::Shadow);
@@ -308,11 +317,9 @@ TEST_F(MotionBlocksTest, PointTowards)
308317
auto block3 = std::make_shared<Block>("c", "motion_pointtowards");
309318
addDropdownInput(block3, "TOWARDS", MotionBlocks::TOWARDS, "Sprite2");
310319

311-
// point towards (join "" "")
312-
auto joinBlock = std::make_shared<Block>("e", "operator_join");
313-
joinBlock->setCompileFunction(&OperatorBlocks::compileJoin);
320+
// point towards (null block)
314321
auto block4 = std::make_shared<Block>("d", "motion_pointtowards");
315-
addDropdownInput(block4, "TOWARDS", MotionBlocks::TOWARDS, "", joinBlock);
322+
addDropdownInput(block4, "TOWARDS", MotionBlocks::TOWARDS, "", createNullBlock("e"));
316323

317324
compiler.init();
318325

@@ -335,9 +342,7 @@ TEST_F(MotionBlocksTest, PointTowards)
335342

336343
compiler.end();
337344

338-
ASSERT_EQ(
339-
compiler.bytecode(),
340-
std::vector<unsigned int>({ vm::OP_START, vm::OP_EXEC, 0, vm::OP_EXEC, 1, vm::OP_CONST, 0, vm::OP_EXEC, 2, vm::OP_NULL, vm::OP_NULL, vm::OP_STR_CONCAT, vm::OP_EXEC, 3, vm::OP_HALT }));
345+
ASSERT_EQ(compiler.bytecode(), std::vector<unsigned int>({ vm::OP_START, vm::OP_EXEC, 0, vm::OP_EXEC, 1, vm::OP_CONST, 0, vm::OP_EXEC, 2, vm::OP_NULL, vm::OP_EXEC, 3, vm::OP_HALT }));
341346
ASSERT_EQ(compiler.constValues().size(), 1);
342347
ASSERT_EQ(compiler.constValues()[0].toDouble(), 5);
343348
}
@@ -526,11 +531,9 @@ TEST_F(MotionBlocksTest, GoTo)
526531
auto block3 = std::make_shared<Block>("c", "motion_goto");
527532
addDropdownInput(block3, "TO", MotionBlocks::TO, "Sprite2");
528533

529-
// go to (join "" "")
530-
auto joinBlock = std::make_shared<Block>("e", "operator_join");
531-
joinBlock->setCompileFunction(&OperatorBlocks::compileJoin);
534+
// go to (null block)
532535
auto block4 = std::make_shared<Block>("d", "motion_goto");
533-
addDropdownInput(block4, "TO", MotionBlocks::TO, "", joinBlock);
536+
addDropdownInput(block4, "TO", MotionBlocks::TO, "", createNullBlock("e"));
534537

535538
compiler.init();
536539

@@ -553,9 +556,7 @@ TEST_F(MotionBlocksTest, GoTo)
553556

554557
compiler.end();
555558

556-
ASSERT_EQ(
557-
compiler.bytecode(),
558-
std::vector<unsigned int>({ vm::OP_START, vm::OP_EXEC, 0, vm::OP_EXEC, 1, vm::OP_CONST, 0, vm::OP_EXEC, 2, vm::OP_NULL, vm::OP_NULL, vm::OP_STR_CONCAT, vm::OP_EXEC, 3, vm::OP_HALT }));
559+
ASSERT_EQ(compiler.bytecode(), std::vector<unsigned int>({ vm::OP_START, vm::OP_EXEC, 0, vm::OP_EXEC, 1, vm::OP_CONST, 0, vm::OP_EXEC, 2, vm::OP_NULL, vm::OP_EXEC, 3, vm::OP_HALT }));
559560
ASSERT_EQ(compiler.constValues().size(), 1);
560561
ASSERT_EQ(compiler.constValues()[0].toDouble(), 5);
561562
}
@@ -762,12 +763,10 @@ TEST_F(MotionBlocksTest, GlideTo)
762763
addValueInput(block3, "SECS", MotionBlocks::SECS, 3.25);
763764
addDropdownInput(block3, "TO", MotionBlocks::TO, "Sprite2");
764765

765-
// glide (6.5) secs to (join "" "")
766-
auto joinBlock = std::make_shared<Block>("e", "operator_join");
767-
joinBlock->setCompileFunction(&OperatorBlocks::compileJoin);
766+
// glide (6.5) secs to (null block)
768767
auto block4 = std::make_shared<Block>("d", "motion_glideto");
769768
addValueInput(block4, "SECS", MotionBlocks::SECS, 6.5);
770-
addDropdownInput(block4, "TO", MotionBlocks::TO, "", joinBlock);
769+
addDropdownInput(block4, "TO", MotionBlocks::TO, "", createNullBlock("e"));
771770

772771
compiler.init();
773772

@@ -821,8 +820,6 @@ TEST_F(MotionBlocksTest, GlideTo)
821820
vm::OP_CONST,
822821
4,
823822
vm::OP_NULL,
824-
vm::OP_NULL,
825-
vm::OP_STR_CONCAT,
826823
vm::OP_EXEC,
827824
3,
828825
vm::OP_EXEC,

0 commit comments

Comments
 (0)