@@ -732,6 +732,11 @@ TEST_F(SensingBlocksTest, Of)
732732 addDropdownField (block25, " PROPERTY" , SensingBlocks::PROPERTY, " some variable" , static_cast <SensingBlocks::FieldValues>(-1 ));
733733 addDropdownInput (block25, " OBJECT" , SensingBlocks::OBJECT, " " , createNullBlock (" aj" ));
734734
735+ // [some variable] of (Nonexistent sprite)
736+ auto block26 = std::make_shared<Block>(" ak" , " sensing_of" );
737+ addDropdownField (block26, " PROPERTY" , SensingBlocks::PROPERTY, " some variable" , static_cast <SensingBlocks::FieldValues>(-1 ));
738+ addDropdownInput (block26, " OBJECT" , SensingBlocks::OBJECT, " Nonexistent sprite" );
739+
735740 compiler.init ();
736741
737742 EXPECT_CALL (m_engineMock, findTarget (" Sprite2" )).Times (9 ).WillRepeatedly (Return (6 ));
@@ -845,6 +850,10 @@ TEST_F(SensingBlocksTest, Of)
845850 compiler.setBlock (block25);
846851 SensingBlocks::compileOf (&compiler);
847852
853+ EXPECT_CALL (m_engineMock, findTarget (" Nonexistent sprite" )).WillOnce (Return (-1 ));
854+ compiler.setBlock (block26);
855+ SensingBlocks::compileOf (&compiler);
856+
848857 compiler.end ();
849858
850859 ASSERT_EQ (
@@ -932,6 +941,7 @@ TEST_F(SensingBlocksTest, Of)
932941 vm::OP_NULL,
933942 vm::OP_EXEC,
934943 18 ,
944+ vm::OP_NULL,
935945 vm::OP_HALT }));
936946 ASSERT_EQ (compiler.constValues (), std::vector<Value>({ 6 , 6 , 6 , 6 , 6 , 6 , 6 , 0 , 0 , 0 , " some variable" }));
937947 ASSERT_EQ (compiler.variables (), std::vector<Variable *>({ v2.get (), v3.get () }));
0 commit comments