def test_quadOpen(self): tpen = _TestPointPen() pen = ReverseContourPointPen(tpen) pen.beginPath() pen.addPoint((0, 0), segmentType="move") pen.addPoint((0, 100)) pen.addPoint((100, 200)) pen.addPoint((200, 200), segmentType="qcurve") pen.endPath() self.assertEqual("beginPath() " "addPoint((200, 200), segmentType='move') " "addPoint((100, 200)) " "addPoint((0, 100)) " "addPoint((0, 0), segmentType='qcurve') " "endPath()", repr(tpen))
def test_cubicClosed(self): tpen = _TestPointPen() pen = ReverseContourPointPen(tpen) pen.beginPath() pen.addPoint((0, 0), segmentType="line") pen.addPoint((0, 100)) pen.addPoint((100, 200)) pen.addPoint((200, 200), segmentType="curve") pen.endPath() self.assertEqual( "beginPath() " "addPoint((0, 0), segmentType='curve') " "addPoint((200, 200), segmentType='line') " "addPoint((100, 200)) " "addPoint((0, 100)) " "endPath()", repr(tpen))
def test_closed_line_overlapping_start_end_points(self): # Test case from https://github.com/googlefonts/fontmake/issues/572 tpen = _TestPointPen() pen = ReverseContourPointPen(tpen) pen.beginPath() pen.addPoint((0, 651), segmentType="line") pen.addPoint((0, 101), segmentType="line") pen.addPoint((0, 101), segmentType="line") pen.addPoint((0, 651), segmentType="line") pen.endPath() self.assertEqual( "beginPath() " "addPoint((0, 651), segmentType='line') " "addPoint((0, 651), segmentType='line') " "addPoint((0, 101), segmentType='line') " "addPoint((0, 101), segmentType='line') " "endPath()", repr(tpen))
def test_quadNoOnCurve(self): tpen = _TestPointPen() pen = ReverseContourPointPen(tpen) pen.beginPath(identifier='bar') pen.addPoint((0, 0)) pen.addPoint((0, 100), identifier='foo', arbitrary='foo') pen.addPoint((100, 200), arbitrary=123) pen.addPoint((200, 200)) pen.endPath() pen.addComponent("base", [1, 0, 0, 1, 0, 0], identifier='foo') self.assertEqual("beginPath(identifier='bar') " "addPoint((0, 0)) " "addPoint((200, 200)) " "addPoint((100, 200), arbitrary=123) " "addPoint((0, 100), identifier='foo', arbitrary='foo') " "endPath() " "addComponent('base', [1, 0, 0, 1, 0, 0], identifier='foo')", repr(tpen))