Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 680a4a3

Browse files
committed
Add more tests
1 parent d9a76ca commit 680a4a3

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

display_list/geometry/dl_region_unittests.cc

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,51 @@ TEST(DisplayListRegion, NonOverlappingRectangles2) {
5757
EXPECT_EQ(rects, expected);
5858
}
5959

60+
TEST(DisplayListRegion, NonOverlappingRectangles3) {
61+
DlRegion region;
62+
region.addRect(SkIRect::MakeXYWH(0, 0, 10, 10));
63+
region.addRect(SkIRect::MakeXYWH(-11, -11, 10, 10));
64+
region.addRect(SkIRect::MakeXYWH(11, 11, 10, 10));
65+
region.addRect(SkIRect::MakeXYWH(-11, 0, 10, 10));
66+
region.addRect(SkIRect::MakeXYWH(0, 11, 10, 10));
67+
region.addRect(SkIRect::MakeXYWH(0, -11, 10, 10));
68+
region.addRect(SkIRect::MakeXYWH(11, 0, 10, 10));
69+
region.addRect(SkIRect::MakeXYWH(11, -11, 10, 10));
70+
region.addRect(SkIRect::MakeXYWH(-11, 11, 10, 10));
71+
auto rects = region.getRects();
72+
std::vector<SkIRect> expected{
73+
SkIRect::MakeXYWH(-11, -11, 10, 10), //
74+
SkIRect::MakeXYWH(0, -11, 10, 10), //
75+
SkIRect::MakeXYWH(11, -11, 10, 10), //
76+
SkIRect::MakeXYWH(-11, 0, 10, 10), //
77+
SkIRect::MakeXYWH(0, 0, 10, 10), //
78+
SkIRect::MakeXYWH(11, 0, 10, 10), //
79+
SkIRect::MakeXYWH(-11, 11, 10, 10), //
80+
SkIRect::MakeXYWH(0, 11, 10, 10), //
81+
SkIRect::MakeXYWH(11, 11, 10, 10),
82+
};
83+
EXPECT_EQ(rects, expected);
84+
}
85+
86+
TEST(DisplayListRegion, MergeTouchingRectangles) {
87+
DlRegion region;
88+
region.addRect(SkIRect::MakeXYWH(0, 0, 10, 10));
89+
region.addRect(SkIRect::MakeXYWH(-10, -10, 10, 10));
90+
region.addRect(SkIRect::MakeXYWH(10, 10, 10, 10));
91+
region.addRect(SkIRect::MakeXYWH(-10, 0, 10, 10));
92+
region.addRect(SkIRect::MakeXYWH(0, 10, 10, 10));
93+
region.addRect(SkIRect::MakeXYWH(0, -10, 10, 10));
94+
region.addRect(SkIRect::MakeXYWH(10, 0, 10, 10));
95+
region.addRect(SkIRect::MakeXYWH(10, -10, 10, 10));
96+
region.addRect(SkIRect::MakeXYWH(-10, 10, 10, 10));
97+
98+
auto rects = region.getRects();
99+
std::vector<SkIRect> expected{
100+
SkIRect::MakeXYWH(-10, -10, 30, 30),
101+
};
102+
EXPECT_EQ(rects, expected);
103+
}
104+
60105
TEST(DisplayListRegion, OverlappingRectangles) {
61106
DlRegion region;
62107
for (int i = 0; i < 10; ++i) {

0 commit comments

Comments
 (0)