diff options
Diffstat (limited to 'Tests/ttLib/tables/_h_h_e_a_test.py')
-rw-r--r-- | Tests/ttLib/tables/_h_h_e_a_test.py | 140 |
1 files changed, 74 insertions, 66 deletions
diff --git a/Tests/ttLib/tables/_h_h_e_a_test.py b/Tests/ttLib/tables/_h_h_e_a_test.py index e04fd7bb..4b5c6338 100644 --- a/Tests/ttLib/tables/_h_h_e_a_test.py +++ b/Tests/ttLib/tables/_h_h_e_a_test.py @@ -8,47 +8,47 @@ import unittest CURR_DIR = os.path.abspath(os.path.dirname(os.path.realpath(__file__))) -DATA_DIR = os.path.join(CURR_DIR, 'data') +DATA_DIR = os.path.join(CURR_DIR, "data") HHEA_DATA = deHexStr( - '0001 0000 ' # 1.0 version - '02EE ' # 750 ascent - 'FF06 ' # -250 descent - '00C8 ' # 200 lineGap - '03E8 ' # 1000 advanceWidthMax - 'FFE7 ' # -25 minLeftSideBearing - 'FFEC ' # -20 minRightSideBearing - '03D1 ' # 977 xMaxExtent - '0000 ' # 0 caretSlopeRise - '0001 ' # 1 caretSlopeRun - '0010 ' # 16 caretOffset - '0000 ' # 0 reserved0 - '0000 ' # 0 reserved1 - '0000 ' # 0 reserved2 - '0000 ' # 0 reserved3 - '0000 ' # 0 metricDataFormat - '002A ' # 42 numberOfHMetrics + "0001 0000 " # 1.0 version + "02EE " # 750 ascent + "FF06 " # -250 descent + "00C8 " # 200 lineGap + "03E8 " # 1000 advanceWidthMax + "FFE7 " # -25 minLeftSideBearing + "FFEC " # -20 minRightSideBearing + "03D1 " # 977 xMaxExtent + "0000 " # 0 caretSlopeRise + "0001 " # 1 caretSlopeRun + "0010 " # 16 caretOffset + "0000 " # 0 reserved0 + "0000 " # 0 reserved1 + "0000 " # 0 reserved2 + "0000 " # 0 reserved3 + "0000 " # 0 metricDataFormat + "002A " # 42 numberOfHMetrics ) HHEA_AS_DICT = { - 'tableTag': 'hhea', - 'tableVersion': 0x00010000, - 'ascent': 750, - 'descent': -250, - 'lineGap': 200, - 'advanceWidthMax': 1000, - 'minLeftSideBearing': -25, - 'minRightSideBearing': -20, - 'xMaxExtent': 977, - 'caretSlopeRise': 0, - 'caretSlopeRun': 1, - 'caretOffset': 16, - 'reserved0': 0, - 'reserved1': 0, - 'reserved2': 0, - 'reserved3': 0, - 'metricDataFormat': 0, - 'numberOfHMetrics': 42, + "tableTag": "hhea", + "tableVersion": 0x00010000, + "ascent": 750, + "descent": -250, + "lineGap": 200, + "advanceWidthMax": 1000, + "minLeftSideBearing": -25, + "minRightSideBearing": -20, + "xMaxExtent": 977, + "caretSlopeRise": 0, + "caretSlopeRun": 1, + "caretOffset": 16, + "reserved0": 0, + "reserved1": 0, + "reserved2": 0, + "reserved3": 0, + "metricDataFormat": 0, + "numberOfHMetrics": 42, } HHEA_XML = [ @@ -77,9 +77,8 @@ HHEA_XML_VERSION_AS_FLOAT = [ class HheaCompileOrToXMLTest(unittest.TestCase): - def setUp(self): - hhea = newTable('hhea') + hhea = newTable("hhea") hhea.tableVersion = 0x00010000 hhea.ascent = 750 hhea.descent = -250 @@ -94,39 +93,45 @@ class HheaCompileOrToXMLTest(unittest.TestCase): hhea.metricDataFormat = 0 hhea.numberOfHMetrics = 42 hhea.reserved0 = hhea.reserved1 = hhea.reserved2 = hhea.reserved3 = 0 - self.font = TTFont(sfntVersion='OTTO') - self.font['hhea'] = hhea + self.font = TTFont(sfntVersion="OTTO") + self.font["hhea"] = hhea def test_compile(self): - hhea = self.font['hhea'] + hhea = self.font["hhea"] hhea.tableVersion = 0x00010000 self.assertEqual(HHEA_DATA, hhea.compile(self.font)) def test_compile_version_10_as_float(self): - hhea = self.font['hhea'] + hhea = self.font["hhea"] hhea.tableVersion = 1.0 with CapturingLogHandler(log, "WARNING") as captor: self.assertEqual(HHEA_DATA, hhea.compile(self.font)) self.assertTrue( - len([r for r in captor.records - if "Table version value is a float" in r.msg]) == 1) + len( + [r for r in captor.records if "Table version value is a float" in r.msg] + ) + == 1 + ) def test_toXML(self): - hhea = self.font['hhea'] - self.font['hhea'].tableVersion = 0x00010000 + hhea = self.font["hhea"] + self.font["hhea"].tableVersion = 0x00010000 self.assertEqual(getXML(hhea.toXML), HHEA_XML) def test_toXML_version_as_float(self): - hhea = self.font['hhea'] + hhea = self.font["hhea"] hhea.tableVersion = 1.0 with CapturingLogHandler(log, "WARNING") as captor: self.assertEqual(getXML(hhea.toXML), HHEA_XML) self.assertTrue( - len([r for r in captor.records - if "Table version value is a float" in r.msg]) == 1) + len( + [r for r in captor.records if "Table version value is a float" in r.msg] + ) + == 1 + ) def test_aliases(self): - hhea = self.font['hhea'] + hhea = self.font["hhea"] self.assertEqual(hhea.ascent, hhea.ascender) self.assertEqual(hhea.descent, hhea.descender) hhea.ascender = 800 @@ -138,44 +143,46 @@ class HheaCompileOrToXMLTest(unittest.TestCase): hhea.descent = -299 self.assertEqual(hhea.descender, -299) -class HheaDecompileOrFromXMLTest(unittest.TestCase): +class HheaDecompileOrFromXMLTest(unittest.TestCase): def setUp(self): - hhea = newTable('hhea') - self.font = TTFont(sfntVersion='OTTO') - self.font['hhea'] = hhea + hhea = newTable("hhea") + self.font = TTFont(sfntVersion="OTTO") + self.font["hhea"] = hhea def test_decompile(self): - hhea = self.font['hhea'] + hhea = self.font["hhea"] hhea.decompile(HHEA_DATA, self.font) for key in hhea.__dict__: self.assertEqual(getattr(hhea, key), HHEA_AS_DICT[key]) def test_fromXML(self): - hhea = self.font['hhea'] + hhea = self.font["hhea"] for name, attrs, content in parseXML(HHEA_XML): hhea.fromXML(name, attrs, content, self.font) for key in hhea.__dict__: self.assertEqual(getattr(hhea, key), HHEA_AS_DICT[key]) def test_fromXML_version_as_float(self): - hhea = self.font['hhea'] + hhea = self.font["hhea"] with CapturingLogHandler(log, "WARNING") as captor: for name, attrs, content in parseXML(HHEA_XML_VERSION_AS_FLOAT): hhea.fromXML(name, attrs, content, self.font) self.assertTrue( - len([r for r in captor.records - if "Table version value is a float" in r.msg]) == 1) + len( + [r for r in captor.records if "Table version value is a float" in r.msg] + ) + == 1 + ) for key in hhea.__dict__: self.assertEqual(getattr(hhea, key), HHEA_AS_DICT[key]) class HheaRecalcTest(unittest.TestCase): - def test_recalc_TTF(self): font = TTFont() - font.importXML(os.path.join(DATA_DIR, '_h_h_e_a_recalc_TTF.ttx')) - hhea = font['hhea'] + font.importXML(os.path.join(DATA_DIR, "_h_h_e_a_recalc_TTF.ttx")) + hhea = font["hhea"] hhea.recalc(font) self.assertEqual(hhea.advanceWidthMax, 600) self.assertEqual(hhea.minLeftSideBearing, -56) @@ -184,8 +191,8 @@ class HheaRecalcTest(unittest.TestCase): def test_recalc_OTF(self): font = TTFont() - font.importXML(os.path.join(DATA_DIR, '_h_h_e_a_recalc_OTF.ttx')) - hhea = font['hhea'] + font.importXML(os.path.join(DATA_DIR, "_h_h_e_a_recalc_OTF.ttx")) + hhea = font["hhea"] hhea.recalc(font) self.assertEqual(hhea.advanceWidthMax, 600) self.assertEqual(hhea.minLeftSideBearing, -56) @@ -194,8 +201,8 @@ class HheaRecalcTest(unittest.TestCase): def test_recalc_empty(self): font = TTFont() - font.importXML(os.path.join(DATA_DIR, '_h_h_e_a_recalc_empty.ttx')) - hhea = font['hhea'] + font.importXML(os.path.join(DATA_DIR, "_h_h_e_a_recalc_empty.ttx")) + hhea = font["hhea"] hhea.recalc(font) self.assertEqual(hhea.advanceWidthMax, 600) self.assertEqual(hhea.minLeftSideBearing, 0) @@ -205,4 +212,5 @@ class HheaRecalcTest(unittest.TestCase): if __name__ == "__main__": import sys + sys.exit(unittest.main()) |