[ttGlyphPen_test] Add test with two contours
To exercise the remaining lines of ttGlyphPen.
This commit is contained in:
parent
303eeeeec5
commit
a32118a19f
@ -639,7 +639,7 @@ class CubicGlyfTest:
|
|||||||
]
|
]
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"preserveTopology, segment_pen_commands, point_pen_commands, expected_coordinates, expected_flags",
|
"preserveTopology, segment_pen_commands, point_pen_commands, expected_coordinates, expected_flags, expected_endPts",
|
||||||
[
|
[
|
||||||
(
|
(
|
||||||
False,
|
False,
|
||||||
@ -662,6 +662,7 @@ class CubicGlyfTest:
|
|||||||
],
|
],
|
||||||
[(0, 0), (0, 1), (1, 2), (3, 2), (4, 1), (4, 0)],
|
[(0, 0), (0, 1), (1, 2), (3, 2), (4, 1), (4, 0)],
|
||||||
[0x01, 0x80, 0x80, 0x80, 0x80, 0x01],
|
[0x01, 0x80, 0x80, 0x80, 0x80, 0x01],
|
||||||
|
[5],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
True,
|
True,
|
||||||
@ -684,6 +685,69 @@ class CubicGlyfTest:
|
|||||||
],
|
],
|
||||||
[(0, 0), (0, 1), (1, 2), (2, 2), (3, 2), (4, 1), (4, 0)],
|
[(0, 0), (0, 1), (1, 2), (2, 2), (3, 2), (4, 1), (4, 0)],
|
||||||
[0x01, 0x80, 0x80, 0x01, 0x80, 0x80, 0x01],
|
[0x01, 0x80, 0x80, 0x01, 0x80, 0x80, 0x01],
|
||||||
|
[6],
|
||||||
|
),
|
||||||
|
( # Two (duplicate) contours
|
||||||
|
False,
|
||||||
|
[
|
||||||
|
("moveTo", ((0, 0),)),
|
||||||
|
("curveTo", ((0, 1), (1, 2), (2, 2))),
|
||||||
|
("curveTo", ((3, 2), (4, 1), (4, 0))),
|
||||||
|
("closePath", ()),
|
||||||
|
("moveTo", ((0, 0),)),
|
||||||
|
("curveTo", ((0, 1), (1, 2), (2, 2))),
|
||||||
|
("curveTo", ((3, 2), (4, 1), (4, 0))),
|
||||||
|
("closePath", ()),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
("beginPath", (), {}),
|
||||||
|
("addPoint", ((0, 0), "line", None, None), {}),
|
||||||
|
("addPoint", ((0, 1), None, None, None), {}),
|
||||||
|
("addPoint", ((1, 2), None, None, None), {}),
|
||||||
|
("addPoint", ((2, 2), "curve", None, None), {}),
|
||||||
|
("addPoint", ((3, 2), None, None, None), {}),
|
||||||
|
("addPoint", ((4, 1), None, None, None), {}),
|
||||||
|
("addPoint", ((4, 0), "curve", None, None), {}),
|
||||||
|
("endPath", (), {}),
|
||||||
|
("beginPath", (), {}),
|
||||||
|
("addPoint", ((0, 0), "line", None, None), {}),
|
||||||
|
("addPoint", ((0, 1), None, None, None), {}),
|
||||||
|
("addPoint", ((1, 2), None, None, None), {}),
|
||||||
|
("addPoint", ((2, 2), "curve", None, None), {}),
|
||||||
|
("addPoint", ((3, 2), None, None, None), {}),
|
||||||
|
("addPoint", ((4, 1), None, None, None), {}),
|
||||||
|
("addPoint", ((4, 0), "curve", None, None), {}),
|
||||||
|
("endPath", (), {}),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
(0, 0),
|
||||||
|
(0, 1),
|
||||||
|
(1, 2),
|
||||||
|
(3, 2),
|
||||||
|
(4, 1),
|
||||||
|
(4, 0),
|
||||||
|
(0, 0),
|
||||||
|
(0, 1),
|
||||||
|
(1, 2),
|
||||||
|
(3, 2),
|
||||||
|
(4, 1),
|
||||||
|
(4, 0),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0x01,
|
||||||
|
0x80,
|
||||||
|
0x80,
|
||||||
|
0x80,
|
||||||
|
0x80,
|
||||||
|
0x01,
|
||||||
|
0x01,
|
||||||
|
0x80,
|
||||||
|
0x80,
|
||||||
|
0x80,
|
||||||
|
0x80,
|
||||||
|
0x01,
|
||||||
|
],
|
||||||
|
[5, 11],
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
@ -694,6 +758,7 @@ class CubicGlyfTest:
|
|||||||
point_pen_commands,
|
point_pen_commands,
|
||||||
expected_coordinates,
|
expected_coordinates,
|
||||||
expected_flags,
|
expected_flags,
|
||||||
|
expected_endPts,
|
||||||
):
|
):
|
||||||
spen = TTGlyphPen(None)
|
spen = TTGlyphPen(None)
|
||||||
rpen = RecordingPen()
|
rpen = RecordingPen()
|
||||||
@ -705,13 +770,13 @@ class CubicGlyfTest:
|
|||||||
rpen.value = point_pen_commands
|
rpen.value = point_pen_commands
|
||||||
rpen.replay(ppen)
|
rpen.replay(ppen)
|
||||||
|
|
||||||
|
|
||||||
for pen in (spen, ppen):
|
for pen in (spen, ppen):
|
||||||
|
|
||||||
glyph = pen.glyph(preserveTopology=preserveTopology)
|
glyph = pen.glyph(preserveTopology=preserveTopology)
|
||||||
|
|
||||||
assert list(glyph.coordinates) == expected_coordinates
|
assert list(glyph.coordinates) == expected_coordinates
|
||||||
assert list(glyph.flags) == expected_flags
|
assert list(glyph.flags) == expected_flags
|
||||||
|
assert list(glyph.endPtsOfContours) == expected_endPts
|
||||||
|
|
||||||
rpen = RecordingPen()
|
rpen = RecordingPen()
|
||||||
glyph.draw(rpen, None)
|
glyph.draw(rpen, None)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user