[recordingPen_test] test recording component references as well as decomposed paths
This commit is contained in:
parent
94c88f56cb
commit
78212239aa
39
Tests/pens/recordingPen_test.py
Normal file
39
Tests/pens/recordingPen_test.py
Normal file
@ -0,0 +1,39 @@
|
||||
from __future__ import print_function, division, absolute_import
|
||||
from fontTools.misc.py23 import *
|
||||
from fontTools.pens.recordingPen import RecordingPen, DecomposingRecordingPen
|
||||
import pytest
|
||||
|
||||
|
||||
class _TestGlyph(object):
|
||||
|
||||
def draw(self, pen):
|
||||
pen.moveTo((0.0, 0.0))
|
||||
pen.lineTo((0.0, 100.0))
|
||||
pen.curveTo((50.0, 75.0), (60.0, 50.0), (50.0, 0.0))
|
||||
pen.closePath()
|
||||
|
||||
|
||||
class RecordingPenTest(object):
|
||||
|
||||
def test_addComponent(self):
|
||||
pen = RecordingPen()
|
||||
pen.addComponent("a", (2, 0, 0, 3, -10, 5))
|
||||
assert pen.value == [("addComponent", ("a", (2, 0, 0, 3, -10, 5)))]
|
||||
|
||||
|
||||
class DecomposingRecordingPenTest(object):
|
||||
|
||||
def test_addComponent_decomposed(self):
|
||||
pen = DecomposingRecordingPen({"a": _TestGlyph()})
|
||||
pen.addComponent("a", (2, 0, 0, 3, -10, 5))
|
||||
assert pen.value == [
|
||||
('moveTo', ((-10.0, 5.0),)),
|
||||
('lineTo', ((-10.0, 305.0),)),
|
||||
('curveTo', ((90.0, 230.0), (110.0, 155.0), (90.0, 5.0),)),
|
||||
('closePath', ())]
|
||||
|
||||
def test_addComponent_missing_raises(self):
|
||||
pen = DecomposingRecordingPen(dict())
|
||||
with pytest.raises(KeyError) as excinfo:
|
||||
pen.addComponent("a", (1, 0, 0, 1, 0, 0))
|
||||
assert excinfo.value.args[0] == "a"
|
Loading…
x
Reference in New Issue
Block a user