MCPcopy Create free account
hub / github.com/Snapchat/Valdi / TEST

Function TEST

snap_drawing/test/src/DisplayList_Tests.cpp:22–67  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

20}
21
22TEST(DisplayList, canRecordAndVisitCommands) {
23 auto displayList = makeShared<DisplayList>(Size(100, 100), TimePoint(0));
24
25 auto layerContent = makeRectangle(Size(50, 500));
26 auto borderRadius = BorderRadius::makeOval(25, true);
27
28 Matrix matrix;
29 matrix.setTranslateX(42);
30 matrix.setScaleY(2);
31
32 displayList->pushContext(matrix, 0.5, 0, true);
33 displayList->appendLayerContent(layerContent, 0.25);
34 displayList->appendClipRound(borderRadius, 25, 30);
35 displayList->appendClipRect(40, 70);
36 displayList->popContext();
37
38 ASSERT_EQ(static_cast<size_t>(1), displayList->getPlanesCount());
39
40 auto operations = getOperationsFromDisplayList(displayList, 0);
41
42 ASSERT_EQ(static_cast<size_t>(5), operations.size());
43
44 ASSERT_EQ(Operations::PushContext::kId, operations[0]->type);
45 ASSERT_EQ(Operations::DrawPicture::kId, operations[1]->type);
46 ASSERT_EQ(Operations::ClipRound::kId, operations[2]->type);
47 ASSERT_EQ(Operations::ClipRect::kId, operations[3]->type);
48 ASSERT_EQ(Operations::PopContext::kId, operations[4]->type);
49
50 const auto* pushContext = reinterpret_cast<const Operations::PushContext*>(operations[0]);
51 const auto* drawPicture = reinterpret_cast<const Operations::DrawPicture*>(operations[1]);
52 const auto* clipRound = reinterpret_cast<const Operations::ClipRound*>(operations[2]);
53 const auto* clipRect = reinterpret_cast<const Operations::ClipRect*>(operations[3]);
54
55 ASSERT_EQ(matrix, pushContext->matrix);
56 ASSERT_EQ(0.5, pushContext->opacity);
57
58 ASSERT_EQ(layerContent.picture.get(), drawPicture->picture);
59 ASSERT_EQ(0.25, drawPicture->opacity);
60
61 ASSERT_EQ(borderRadius, clipRound->borderRadius);
62 ASSERT_EQ(25, clipRound->width);
63 ASSERT_EQ(30, clipRound->height);
64
65 ASSERT_EQ(40, clipRect->width);
66 ASSERT_EQ(70, clipRect->height);
67}
68
69TEST(DisplayList, retainAndReleaseRetainableObjects) {
70 auto displayList = makeShared<DisplayList>(Size(100, 100), TimePoint(0));

Callers

nothing calls this directly

Calls 15

makeRectangleFunction · 0.85
setTranslateXMethod · 0.80
appendLayerContentMethod · 0.80
appendClipRoundMethod · 0.80
appendClipRectMethod · 0.80
popContextMethod · 0.80
use_countMethod · 0.80
setCurrentPlaneMethod · 0.80
removePlaneMethod · 0.80
removeEmptyPlanesMethod · 0.80
getMethod · 0.65

Tested by

no test coverage detected