@@ -1297,3 +1297,68 @@ TEST_F(SensingBlocksTest, MouseY)
12971297 ASSERT_EQ (value_toDouble (&value), -78.21 );
12981298 value_free (&value);
12991299}
1300+
1301+ TEST_F (SensingBlocksTest, SetDragMode_Draggable)
1302+ {
1303+ auto sprite = std::make_shared<Sprite>();
1304+ sprite->setDraggable (false );
1305+
1306+ ScriptBuilder builder (m_extension.get (), m_engine, sprite);
1307+ builder.addBlock (" sensing_setdragmode" );
1308+ builder.addDropdownField (" DRAG_MODE" , " draggable" );
1309+ builder.build ();
1310+
1311+ builder.run ();
1312+ ASSERT_TRUE (sprite->draggable ());
1313+
1314+ builder.run ();
1315+ ASSERT_TRUE (sprite->draggable ());
1316+ }
1317+
1318+ TEST_F (SensingBlocksTest, SetDragMode_NotDraggable)
1319+ {
1320+ auto sprite = std::make_shared<Sprite>();
1321+ sprite->setDraggable (true );
1322+
1323+ ScriptBuilder builder (m_extension.get (), m_engine, sprite);
1324+ builder.addBlock (" sensing_setdragmode" );
1325+ builder.addDropdownField (" DRAG_MODE" , " not draggable" );
1326+ builder.build ();
1327+
1328+ builder.run ();
1329+ ASSERT_FALSE (sprite->draggable ());
1330+
1331+ builder.run ();
1332+ ASSERT_FALSE (sprite->draggable ());
1333+ }
1334+
1335+ TEST_F (SensingBlocksTest, SetDragMode_Invalid)
1336+ {
1337+ auto sprite = std::make_shared<Sprite>();
1338+ sprite->setDraggable (true );
1339+
1340+ ScriptBuilder builder (m_extension.get (), m_engine, sprite);
1341+ builder.addBlock (" sensing_setdragmode" );
1342+ builder.addDropdownField (" DRAG_MODE" , " lorem ipsum" );
1343+ builder.build ();
1344+
1345+ builder.run ();
1346+ ASSERT_TRUE (sprite->draggable ());
1347+
1348+ sprite->setDraggable (false );
1349+
1350+ builder.run ();
1351+ ASSERT_FALSE (sprite->draggable ());
1352+ }
1353+
1354+ TEST_F (SensingBlocksTest, SetDragMode_Stage)
1355+ {
1356+ auto stage = std::make_shared<Stage>();
1357+
1358+ ScriptBuilder builder (m_extension.get (), m_engine, stage);
1359+ builder.addBlock (" sensing_setdragmode" );
1360+ builder.addDropdownField (" DRAG_MODE" , " draggable" );
1361+ builder.build ();
1362+
1363+ builder.run ();
1364+ }
0 commit comments