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

Commit 235d02f

Browse files
committed
fixes to path unit tests and current position.
1 parent f3ad07a commit 235d02f

File tree

2 files changed

+19
-20
lines changed

2 files changed

+19
-20
lines changed

impeller/geometry/path_builder.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ PathBuilder& PathBuilder::MoveTo(Point point, bool relative) {
3838
}
3939

4040
PathBuilder& PathBuilder::Close() {
41+
current_ = subpath_start_;
4142
SetContourClosed(true);
4243
AddContourComponent(current_);
4344
return *this;

impeller/geometry/path_unittests.cc

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -131,12 +131,12 @@ TEST(PathTest, PathCreatePolylineGeneratesCorrectContourData) {
131131
.Close()
132132
.TakePath()
133133
.CreatePolyline(1.0f);
134-
ASSERT_EQ(polyline.points->size(), 6u);
135-
ASSERT_EQ(polyline.contours.size(), 2u);
136-
ASSERT_EQ(polyline.contours[0].is_closed, false);
137-
ASSERT_EQ(polyline.contours[0].start_index, 0u);
138-
ASSERT_EQ(polyline.contours[1].is_closed, true);
139-
ASSERT_EQ(polyline.contours[1].start_index, 2u);
134+
EXPECT_EQ(polyline.points->size(), 5u);
135+
EXPECT_EQ(polyline.contours.size(), 2u);
136+
EXPECT_EQ(polyline.contours[0].is_closed, false);
137+
EXPECT_EQ(polyline.contours[0].start_index, 0u);
138+
EXPECT_EQ(polyline.contours[1].is_closed, true);
139+
EXPECT_EQ(polyline.contours[1].start_index, 2u);
140140
}
141141

142142
TEST(PathTest, PolylineGetContourPointBoundsReturnsCorrectRanges) {
@@ -154,7 +154,7 @@ TEST(PathTest, PolylineGetContourPointBoundsReturnsCorrectRanges) {
154154
ASSERT_EQ(a1, 0u);
155155
ASSERT_EQ(a2, 2u);
156156
ASSERT_EQ(b1, 2u);
157-
ASSERT_EQ(b2, 6u);
157+
ASSERT_EQ(b2, 5u);
158158
}
159159

160160
TEST(PathTest, PathAddRectPolylineHasCorrectContourData) {
@@ -165,12 +165,11 @@ TEST(PathTest, PathAddRectPolylineHasCorrectContourData) {
165165
ASSERT_EQ(polyline.contours.size(), 1u);
166166
ASSERT_TRUE(polyline.contours[0].is_closed);
167167
ASSERT_EQ(polyline.contours[0].start_index, 0u);
168-
ASSERT_EQ(polyline.points->size(), 5u);
168+
ASSERT_EQ(polyline.points->size(), 4u);
169169
ASSERT_EQ(polyline.GetPoint(0), Point(50, 60));
170170
ASSERT_EQ(polyline.GetPoint(1), Point(70, 60));
171171
ASSERT_EQ(polyline.GetPoint(2), Point(70, 80));
172172
ASSERT_EQ(polyline.GetPoint(3), Point(50, 80));
173-
ASSERT_EQ(polyline.GetPoint(4), Point(50, 60));
174173
}
175174

176175
TEST(PathTest, PathPolylineDuplicatesAreRemovedForSameContour) {
@@ -187,19 +186,18 @@ TEST(PathTest, PathPolylineDuplicatesAreRemovedForSameContour) {
187186
.LineTo({0, 100}) // Insert duplicate at end of contour.
188187
.TakePath()
189188
.CreatePolyline(1.0f);
190-
ASSERT_EQ(polyline.contours.size(), 2u);
191-
ASSERT_EQ(polyline.contours[0].start_index, 0u);
189+
EXPECT_EQ(polyline.contours.size(), 2u);
190+
EXPECT_EQ(polyline.contours[0].start_index, 0u);
192191
ASSERT_TRUE(polyline.contours[0].is_closed);
193-
ASSERT_EQ(polyline.contours[1].start_index, 4u);
192+
ASSERT_EQ(polyline.contours[1].start_index, 3u);
194193
ASSERT_FALSE(polyline.contours[1].is_closed);
195-
ASSERT_EQ(polyline.points->size(), 7u);
196-
ASSERT_EQ(polyline.GetPoint(0), Point(50, 50));
197-
ASSERT_EQ(polyline.GetPoint(1), Point(100, 50));
198-
ASSERT_EQ(polyline.GetPoint(2), Point(100, 100));
199-
ASSERT_EQ(polyline.GetPoint(3), Point(50, 50));
200-
ASSERT_EQ(polyline.GetPoint(4), Point(50, 50));
201-
ASSERT_EQ(polyline.GetPoint(5), Point(0, 50));
202-
ASSERT_EQ(polyline.GetPoint(6), Point(0, 100));
194+
ASSERT_EQ(polyline.points->size(), 6u);
195+
EXPECT_EQ(polyline.GetPoint(0), Point(50, 50));
196+
EXPECT_EQ(polyline.GetPoint(1), Point(100, 50));
197+
EXPECT_EQ(polyline.GetPoint(2), Point(100, 100));
198+
EXPECT_EQ(polyline.GetPoint(3), Point(50, 50));
199+
EXPECT_EQ(polyline.GetPoint(4), Point(0, 50));
200+
EXPECT_EQ(polyline.GetPoint(5), Point(0, 100));
203201
}
204202

205203
TEST(PathTest, PolylineBufferReuse) {

0 commit comments

Comments
 (0)