@@ -83,7 +83,7 @@ TEST_F(EventBlocksTest, CategoryVisible)
8383TEST_F (EventBlocksTest, RegisterBlocks)
8484{
8585 // Blocks
86- EXPECT_CALL (m_engineMock, addHatBlock (m_section.get (), " event_whenflagclicked" ));
86+ EXPECT_CALL (m_engineMock, addCompileFunction (m_section.get (), " event_whenflagclicked" , &EventBlocks::compileWhenFlagClicked ));
8787 EXPECT_CALL (m_engineMock, addCompileFunction (m_section.get (), " event_broadcast" , &EventBlocks::compileBroadcast));
8888 EXPECT_CALL (m_engineMock, addCompileFunction (m_section.get (), " event_broadcastandwait" , &EventBlocks::compileBroadcastAndWait));
8989 EXPECT_CALL (m_engineMock, addCompileFunction (m_section.get (), " event_whenbroadcastreceived" , &EventBlocks::compileWhenBroadcastReceived));
@@ -101,6 +101,26 @@ TEST_F(EventBlocksTest, RegisterBlocks)
101101 m_section->registerBlocks (&m_engineMock);
102102}
103103
104+ TEST_F (EventBlocksTest, WhenFlagClicked)
105+ {
106+ Compiler compiler (&m_engineMock);
107+
108+ auto block = createEventBlock (" a" , " event_whenflagclicked" );
109+
110+ compiler.init ();
111+
112+ EXPECT_CALL (m_engineMock, addGreenFlagScript (block));
113+ compiler.setBlock (block);
114+ EventBlocks::compileWhenFlagClicked (&compiler);
115+
116+ compiler.end ();
117+
118+ ASSERT_EQ (compiler.bytecode (), std::vector<unsigned int >({ vm::OP_START, vm::OP_HALT }));
119+ ASSERT_TRUE (compiler.constValues ().empty ());
120+ ASSERT_TRUE (compiler.variables ().empty ());
121+ ASSERT_TRUE (compiler.lists ().empty ());
122+ }
123+
104124TEST_F (EventBlocksTest, Broadcast)
105125{
106126 Compiler compiler (&m_engineMock);
0 commit comments