@@ -85,6 +85,7 @@ TEST_F(EventBlocksTest, RegisterBlocks)
8585 // Blocks
8686 EXPECT_CALL (m_engineMock, addCompileFunction (m_section.get (), " event_whenflagclicked" , &EventBlocks::compileWhenFlagClicked));
8787 EXPECT_CALL (m_engineMock, addCompileFunction (m_section.get (), " event_whenthisspriteclicked" , &EventBlocks::compileWhenThisSpriteClicked));
88+ EXPECT_CALL (m_engineMock, addCompileFunction (m_section.get (), " event_whenstageclicked" , &EventBlocks::compileWhenStageClicked));
8889 EXPECT_CALL (m_engineMock, addCompileFunction (m_section.get (), " event_broadcast" , &EventBlocks::compileBroadcast));
8990 EXPECT_CALL (m_engineMock, addCompileFunction (m_section.get (), " event_broadcastandwait" , &EventBlocks::compileBroadcastAndWait));
9091 EXPECT_CALL (m_engineMock, addCompileFunction (m_section.get (), " event_whenbroadcastreceived" , &EventBlocks::compileWhenBroadcastReceived));
@@ -142,6 +143,26 @@ TEST_F(EventBlocksTest, WhenThisSpriteClicked)
142143 ASSERT_TRUE (compiler.lists ().empty ());
143144}
144145
146+ TEST_F (EventBlocksTest, WhenStageClicked)
147+ {
148+ Compiler compiler (&m_engineMock);
149+
150+ auto block = createEventBlock (" a" , " event_whenstageclicked" );
151+
152+ compiler.init ();
153+
154+ EXPECT_CALL (m_engineMock, addTargetClickScript (block));
155+ compiler.setBlock (block);
156+ EventBlocks::compileWhenStageClicked (&compiler);
157+
158+ compiler.end ();
159+
160+ ASSERT_EQ (compiler.bytecode (), std::vector<unsigned int >({ vm::OP_START, vm::OP_HALT }));
161+ ASSERT_TRUE (compiler.constValues ().empty ());
162+ ASSERT_TRUE (compiler.variables ().empty ());
163+ ASSERT_TRUE (compiler.lists ().empty ());
164+ }
165+
145166TEST_F (EventBlocksTest, Broadcast)
146167{
147168 Compiler compiler (&m_engineMock);
0 commit comments