@@ -37,6 +37,15 @@ class SensingBlocksTest : public testing::Test
3737 return block;
3838 }
3939
40+ std::shared_ptr<Block> createNullBlock (const std::string &id)
41+ {
42+ std::shared_ptr<Block> block = std::make_shared<Block>(id, " " );
43+ BlockComp func = [](Compiler *compiler) { compiler->addInstruction (vm::OP_NULL); };
44+ block->setCompileFunction (func);
45+
46+ return block;
47+ }
48+
4049 void addObscuredInput (std::shared_ptr<Block> block, const std::string &name, SensingBlocks::Inputs id, std::shared_ptr<Block> valueBlock) const
4150 {
4251 auto input = std::make_shared<Input>(name, Input::Type::ObscuredShadow);
@@ -142,11 +151,9 @@ TEST_F(SensingBlocksTest, DistanceTo)
142151 auto block2 = std::make_shared<Block>(" b" , " sensing_distanceto" );
143152 addDropdownInput (block2, " DISTANCETOMENU" , SensingBlocks::DISTANCETOMENU, " _mouse_" );
144153
145- // distance to (join "" "")
146- auto joinBlock = std::make_shared<Block>(" d" , " operator_join" );
147- joinBlock->setCompileFunction (&OperatorBlocks::compileJoin);
154+ // distance to (null block)
148155 auto block3 = std::make_shared<Block>(" c" , " sensing_distanceto" );
149- addDropdownInput (block3, " DISTANCETOMENU" , SensingBlocks::DISTANCETOMENU, " " , joinBlock );
156+ addDropdownInput (block3, " DISTANCETOMENU" , SensingBlocks::DISTANCETOMENU, " " , createNullBlock ( " d " ) );
150157
151158 compiler.init ();
152159
@@ -165,9 +172,7 @@ TEST_F(SensingBlocksTest, DistanceTo)
165172
166173 compiler.end ();
167174
168- ASSERT_EQ (
169- compiler.bytecode (),
170- 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 }));
175+ 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 }));
171176 ASSERT_EQ (compiler.constValues ().size (), 1 );
172177 ASSERT_EQ (compiler.constValues ()[0 ].toDouble (), 5 );
173178}
@@ -277,11 +282,9 @@ TEST_F(SensingBlocksTest, KeyPressed)
277282 auto block2 = std::make_shared<Block>(" b" , " sensing_keypressed" );
278283 addDropdownInput (block2, " KEY_OPTION" , SensingBlocks::KEY_OPTION, " any" );
279284
280- // key (join "" "") pressed?
281- auto joinBlock = std::make_shared<Block>(" d" , " operator_join" );
282- joinBlock->setCompileFunction (&OperatorBlocks::compileJoin);
285+ // key (null block) pressed?
283286 auto block3 = std::make_shared<Block>(" c" , " sensing_keypressed" );
284- addDropdownInput (block3, " KEY_OPTION" , SensingBlocks::KEY_OPTION, " " , joinBlock );
287+ addDropdownInput (block3, " KEY_OPTION" , SensingBlocks::KEY_OPTION, " " , createNullBlock ( " d " ) );
285288
286289 compiler.init ();
287290
@@ -299,9 +302,7 @@ TEST_F(SensingBlocksTest, KeyPressed)
299302
300303 compiler.end ();
301304
302- ASSERT_EQ (
303- compiler.bytecode (),
304- std::vector<unsigned int >({ vm::OP_START, vm::OP_CONST, 0 , vm::OP_EXEC, 0 , vm::OP_CONST, 1 , vm::OP_EXEC, 0 , vm::OP_NULL, vm::OP_NULL, vm::OP_STR_CONCAT, vm::OP_EXEC, 0 , vm::OP_HALT }));
305+ ASSERT_EQ (compiler.bytecode (), std::vector<unsigned int >({ vm::OP_START, vm::OP_CONST, 0 , vm::OP_EXEC, 0 , vm::OP_CONST, 1 , vm::OP_EXEC, 0 , vm::OP_NULL, vm::OP_EXEC, 0 , vm::OP_HALT }));
305306 ASSERT_EQ (compiler.constValues (), std::vector<Value>({ " space" , " any" }));
306307}
307308
0 commit comments