33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
|
from __future__ import print_function, division, absolute_import
|
||
|
from fontTools.misc.py23 import *
|
||
|
from fontTools.misc.testTools import FakeFont
|
||
|
from fontTools.misc.textTools import deHexStr
|
||
|
import fontTools.ttLib.tables.otConverters as otConverters
|
||
|
from fontTools.ttLib.tables.otBase import OTTableReader, OTTableWriter
|
||
|
import unittest
|
||
|
|
||
|
|
||
|
class GlyphIDTest(unittest.TestCase):
|
||
|
font = FakeFont(".notdef A B C".split())
|
||
|
converter = otConverters.GlyphID('GlyphID', 0, None, None)
|
||
|
|
||
|
def test_readArray(self):
|
||
|
reader = OTTableReader(deHexStr("0002 0001 DEAD 0002"))
|
||
|
self.assertEqual(self.converter.readArray(reader, self.font, {}, 4),
|
||
|
["B", "A", "glyph57005", "B"])
|
||
|
self.assertEqual(reader.pos, 8)
|
||
|
|
||
|
def test_read(self):
|
||
|
reader = OTTableReader(deHexStr("0003"))
|
||
|
self.assertEqual(self.converter.read(reader, self.font, {}), "C")
|
||
|
self.assertEqual(reader.pos, 2)
|
||
|
|
||
|
def test_write(self):
|
||
|
writer = OTTableWriter(globalState={})
|
||
|
self.converter.write(writer, self.font, {}, "B")
|
||
|
self.assertEqual(writer.getData(), deHexStr("0002"))
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
unittest.main()
|