Skip to content

Commit 426d732

Browse files
committed
Split stop block test case
1 parent bef9536 commit 426d732

File tree

1 file changed

+54
-61
lines changed

1 file changed

+54
-61
lines changed

test/blocks/control_blocks_test.cpp

Lines changed: 54 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -264,84 +264,77 @@ TEST_F(ControlBlocksTest, IfElse)
264264
}
265265
}
266266

267-
TEST_F(ControlBlocksTest, Stop)
267+
TEST_F(ControlBlocksTest, Stop_All)
268268
{
269269
auto target = std::make_shared<Sprite>();
270+
ScriptBuilder builder(m_extension.get(), m_engine, target);
270271

271-
// Stop all
272-
{
273-
ScriptBuilder builder(m_extension.get(), m_engine, target);
274-
275-
builder.addBlock("control_stop");
276-
builder.addDropdownField("STOP_OPTION", "all");
277-
auto block = builder.currentBlock();
278-
279-
Compiler compiler(&m_engineMock, target.get());
280-
auto code = compiler.compile(block);
281-
Script script(target.get(), block, &m_engineMock);
282-
script.setCode(code);
283-
Thread thread(target.get(), &m_engineMock, &script);
284-
285-
EXPECT_CALL(m_engineMock, stop());
286-
thread.run();
287-
}
272+
builder.addBlock("control_stop");
273+
builder.addDropdownField("STOP_OPTION", "all");
274+
auto block = builder.currentBlock();
288275

289-
m_engine->clear();
290-
target = std::make_shared<Sprite>();
276+
Compiler compiler(&m_engineMock, target.get());
277+
auto code = compiler.compile(block);
278+
Script script(target.get(), block, &m_engineMock);
279+
script.setCode(code);
280+
Thread thread(target.get(), &m_engineMock, &script);
291281

292-
// Stop this script
293-
{
294-
ScriptBuilder builder(m_extension.get(), m_engine, target);
282+
EXPECT_CALL(m_engineMock, stop());
283+
thread.run();
284+
}
295285

296-
builder.addBlock("control_stop");
297-
builder.addDropdownField("STOP_OPTION", "this script");
298-
builder.addBlock("test_print_test");
286+
TEST_F(ControlBlocksTest, Stop_ThisScript)
287+
{
288+
auto target = std::make_shared<Sprite>();
289+
ScriptBuilder builder(m_extension.get(), m_engine, target);
299290

300-
builder.build();
291+
builder.addBlock("control_stop");
292+
builder.addDropdownField("STOP_OPTION", "this script");
293+
builder.addBlock("test_print_test");
301294

302-
testing::internal::CaptureStdout();
303-
builder.run();
304-
ASSERT_TRUE(testing::internal::GetCapturedStdout().empty());
305-
}
295+
builder.build();
306296

307-
m_engine->clear();
308-
target = std::make_shared<Sprite>();
297+
testing::internal::CaptureStdout();
298+
builder.run();
299+
ASSERT_TRUE(testing::internal::GetCapturedStdout().empty());
300+
}
309301

310-
// Stop other scripts in sprite
311-
{
312-
ScriptBuilder builder(m_extension.get(), m_engine, target);
302+
TEST_F(ControlBlocksTest, Stop_OtherScriptsInSprite)
303+
{
304+
auto target = std::make_shared<Sprite>();
305+
ScriptBuilder builder(m_extension.get(), m_engine, target);
313306

314-
builder.addBlock("control_stop");
315-
builder.addDropdownField("STOP_OPTION", "other scripts in sprite");
316-
auto block = builder.currentBlock();
307+
builder.addBlock("control_stop");
308+
builder.addDropdownField("STOP_OPTION", "other scripts in sprite");
309+
auto block = builder.currentBlock();
317310

318-
Compiler compiler(&m_engineMock, target.get());
319-
auto code = compiler.compile(block);
320-
Script script(target.get(), block, &m_engineMock);
321-
script.setCode(code);
322-
Thread thread(target.get(), &m_engineMock, &script);
311+
Compiler compiler(&m_engineMock, target.get());
312+
auto code = compiler.compile(block);
313+
Script script(target.get(), block, &m_engineMock);
314+
script.setCode(code);
315+
Thread thread(target.get(), &m_engineMock, &script);
323316

324-
EXPECT_CALL(m_engineMock, stopTarget(target.get(), &thread));
325-
thread.run();
326-
}
317+
EXPECT_CALL(m_engineMock, stopTarget(target.get(), &thread));
318+
thread.run();
319+
}
327320

328-
// Stop other scripts in stage
329-
{
330-
ScriptBuilder builder(m_extension.get(), m_engine, target);
321+
TEST_F(ControlBlocksTest, Stop_OtherScriptsInStage)
322+
{
323+
auto target = std::make_shared<Sprite>();
324+
ScriptBuilder builder(m_extension.get(), m_engine, target);
331325

332-
builder.addBlock("control_stop");
333-
builder.addDropdownField("STOP_OPTION", "other scripts in stage");
334-
auto block = builder.currentBlock();
326+
builder.addBlock("control_stop");
327+
builder.addDropdownField("STOP_OPTION", "other scripts in stage");
328+
auto block = builder.currentBlock();
335329

336-
Compiler compiler(&m_engineMock, target.get());
337-
auto code = compiler.compile(block);
338-
Script script(target.get(), block, &m_engineMock);
339-
script.setCode(code);
340-
Thread thread(target.get(), &m_engineMock, &script);
330+
Compiler compiler(&m_engineMock, target.get());
331+
auto code = compiler.compile(block);
332+
Script script(target.get(), block, &m_engineMock);
333+
script.setCode(code);
334+
Thread thread(target.get(), &m_engineMock, &script);
341335

342-
EXPECT_CALL(m_engineMock, stopTarget(target.get(), &thread));
343-
thread.run();
344-
}
336+
EXPECT_CALL(m_engineMock, stopTarget(target.get(), &thread));
337+
thread.run();
345338
}
346339

347340
TEST_F(ControlBlocksTest, Wait)

0 commit comments

Comments
 (0)