Skip to content

Commit 544f4d3

Browse files
committed
Add missing pen block stage test cases
1 parent ed691ee commit 544f4d3

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

test/blocks/pen_blocks_test.cpp

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1170,6 +1170,41 @@ TEST_F(PenBlocksTest, ChangePenColorParamBy_NonConstInvalidParam)
11701170
ASSERT_EQ(model.penAttributes().color, original);
11711171
}
11721172

1173+
TEST_F(PenBlocksTest, ChangePenColorParamBy_Stage)
1174+
{
1175+
auto stage = std::make_shared<Stage>();
1176+
stage->setEngine(&m_engineMock);
1177+
1178+
RenderedTarget renderedTarget;
1179+
StageModel model;
1180+
model.init(stage.get());
1181+
model.setRenderedTarget(&renderedTarget);
1182+
stage->setInterface(&model);
1183+
1184+
ScriptBuilder builder(m_extension.get(), m_engine, stage);
1185+
builder.addBlock("pen_changePenColorParamBy");
1186+
builder.addDropdownInput("COLOR_PARAM", "color");
1187+
builder.addValueInput("VALUE", 53.2);
1188+
1189+
PenState &penState = model.penState();
1190+
penState.color = 12.67;
1191+
penState.saturation = 39.21;
1192+
penState.brightness = 58.82;
1193+
penState.updateColor();
1194+
1195+
auto original = model.penAttributes().color;
1196+
1197+
auto thread = buildScript(builder, stage.get());
1198+
1199+
EXPECT_CALL(m_engineMock, requestRedraw).Times(0);
1200+
thread->run();
1201+
1202+
EXPECT_EQ(model.penAttributes().color.red(), 91);
1203+
EXPECT_EQ(model.penAttributes().color.green(), 94);
1204+
EXPECT_EQ(model.penAttributes().color.blue(), 149);
1205+
EXPECT_EQ(model.penAttributes().color.alpha(), 255);
1206+
}
1207+
11731208
TEST_F(PenBlocksTest, SetPenColorParamTo_Color)
11741209
{
11751210
auto sprite = std::make_shared<Sprite>();
@@ -1882,3 +1917,38 @@ TEST_F(PenBlocksTest, SetPenColorParamTo_NonConstInvalidParam)
18821917
// The color shouldn't change
18831918
ASSERT_EQ(model.penAttributes().color, original);
18841919
}
1920+
1921+
TEST_F(PenBlocksTest, SetPenColorParamTo_Stage)
1922+
{
1923+
auto stage = std::make_shared<Stage>();
1924+
stage->setEngine(&m_engineMock);
1925+
1926+
RenderedTarget renderedTarget;
1927+
StageModel model;
1928+
model.init(stage.get());
1929+
model.setRenderedTarget(&renderedTarget);
1930+
stage->setInterface(&model);
1931+
1932+
ScriptBuilder builder(m_extension.get(), m_engine, stage);
1933+
builder.addBlock("pen_setPenColorParamTo");
1934+
builder.addDropdownInput("COLOR_PARAM", "color");
1935+
builder.addValueInput("VALUE", 53.2);
1936+
1937+
PenState &penState = model.penState();
1938+
penState.color = 12.67;
1939+
penState.saturation = 39.21;
1940+
penState.brightness = 58.82;
1941+
penState.updateColor();
1942+
1943+
auto original = model.penAttributes().color;
1944+
1945+
auto thread = buildScript(builder, stage.get());
1946+
1947+
EXPECT_CALL(m_engineMock, requestRedraw).Times(0);
1948+
thread->run();
1949+
1950+
EXPECT_EQ(model.penAttributes().color.red(), 91);
1951+
EXPECT_EQ(model.penAttributes().color.green(), 138);
1952+
EXPECT_EQ(model.penAttributes().color.blue(), 149);
1953+
EXPECT_EQ(model.penAttributes().color.alpha(), 255);
1954+
}

0 commit comments

Comments
 (0)