aboutsummaryrefslogtreecommitdiff
path: root/Tests/ttLib/tables/_a_n_k_r_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/ttLib/tables/_a_n_k_r_test.py')
-rw-r--r--Tests/ttLib/tables/_a_n_k_r_test.py142
1 files changed, 71 insertions, 71 deletions
diff --git a/Tests/ttLib/tables/_a_n_k_r_test.py b/Tests/ttLib/tables/_a_n_k_r_test.py
index 6c9be16d..ab873328 100644
--- a/Tests/ttLib/tables/_a_n_k_r_test.py
+++ b/Tests/ttLib/tables/_a_n_k_r_test.py
@@ -13,135 +13,134 @@ import unittest
# what our encoder emits. (The value for end-of-table markers
# does not actually matter).
ANKR_FORMAT_0_DATA = deHexStr(
- '0000 0000 ' # 0: Format=0, Flags=0
- '0000 000C ' # 4: LookupTableOffset=12
- '0000 0024 ' # 8: GlyphDataTableOffset=36
- '0006 0004 0002 ' # 12: LookupFormat=6, UnitSize=4, NUnits=2
- '0008 0001 0000 ' # 18: SearchRange=8, EntrySelector=1, RangeShift=0
- '0001 0000 ' # 24: Glyph=A, Offset=0 (+GlyphDataTableOffset=36)
- '0003 0008 ' # 28: Glyph=C, Offset=8 (+GlyphDataTableOffset=44)
- 'FFFF 0000 ' # 32: Glyph=<end>, Offset=<n/a>
- '0000 0001 ' # 36: GlyphData[A].NumPoints=1
- '0235 045E ' # 40: GlyphData[A].Points[0].X=565, .Y=1118
- '0000 0001 ' # 44: GlyphData[C].NumPoints=1
- 'FED2 045E ' # 48: GlyphData[C].Points[0].X=-302, .Y=1118
-) # 52: <end>
+ "0000 0000 " # 0: Format=0, Flags=0
+ "0000 000C " # 4: LookupTableOffset=12
+ "0000 0024 " # 8: GlyphDataTableOffset=36
+ "0006 0004 0002 " # 12: LookupFormat=6, UnitSize=4, NUnits=2
+ "0008 0001 0000 " # 18: SearchRange=8, EntrySelector=1, RangeShift=0
+ "0001 0000 " # 24: Glyph=A, Offset=0 (+GlyphDataTableOffset=36)
+ "0003 0008 " # 28: Glyph=C, Offset=8 (+GlyphDataTableOffset=44)
+ "FFFF 0000 " # 32: Glyph=<end>, Offset=<n/a>
+ "0000 0001 " # 36: GlyphData[A].NumPoints=1
+ "0235 045E " # 40: GlyphData[A].Points[0].X=565, .Y=1118
+ "0000 0001 " # 44: GlyphData[C].NumPoints=1
+ "FED2 045E " # 48: GlyphData[C].Points[0].X=-302, .Y=1118
+) # 52: <end>
assert len(ANKR_FORMAT_0_DATA) == 52
ANKR_FORMAT_0_XML = [
'<AnchorPoints Format="0">',
' <Flags value="0"/>',
- ' <Anchors>',
+ " <Anchors>",
' <Lookup glyph="A">',
- ' <!-- AnchorPointCount=1 -->',
+ " <!-- AnchorPointCount=1 -->",
' <AnchorPoint index="0">',
' <XCoordinate value="565"/>',
' <YCoordinate value="1118"/>',
- ' </AnchorPoint>',
- ' </Lookup>',
+ " </AnchorPoint>",
+ " </Lookup>",
' <Lookup glyph="C">',
- ' <!-- AnchorPointCount=1 -->',
+ " <!-- AnchorPointCount=1 -->",
' <AnchorPoint index="0">',
' <XCoordinate value="-302"/>',
' <YCoordinate value="1118"/>',
- ' </AnchorPoint>',
- ' </Lookup>',
- ' </Anchors>',
- '</AnchorPoints>',
+ " </AnchorPoint>",
+ " </Lookup>",
+ " </Anchors>",
+ "</AnchorPoints>",
]
# Same data as ANKR_FORMAT_0_DATA, but with chunks of unused data
# whose presence should not stop us from decompiling the table.
ANKR_FORMAT_0_STRAY_DATA = deHexStr(
- '0000 0000 ' # 0: Format=0, Flags=0
- '0000 0018 ' # 4: LookupTableOffset=24
- '0000 0034 ' # 8: GlyphDataTableOffset=52
- 'DEAD BEEF CAFE ' # 12: <stray data>
- 'DEAD BEEF CAFE ' # 18: <stray data>
- '0006 0004 0002 ' # 24: LookupFormat=6, UnitSize=4, NUnits=2
- '0008 0001 0000 ' # 30: SearchRange=8, EntrySelector=1, RangeShift=0
- '0001 0000 ' # 36: Glyph=A, Offset=0 (+GlyphDataTableOffset=52)
- '0003 0008 ' # 40: Glyph=C, Offset=8 (+GlyphDataTableOffset=60)
- 'FFFF 0000 ' # 44: Glyph=<end>, Offset=<n/a>
- 'BEEF F00D ' # 48: <stray data>
- '0000 0001 ' # 52: GlyphData[A].NumPoints=1
- '0235 045E ' # 56: GlyphData[A].Points[0].X=565, .Y=1118
- '0000 0001 ' # 60: GlyphData[C].NumPoints=1
- 'FED2 045E ' # 64: GlyphData[C].Points[0].X=-302, .Y=1118
-) # 68: <end>
+ "0000 0000 " # 0: Format=0, Flags=0
+ "0000 0018 " # 4: LookupTableOffset=24
+ "0000 0034 " # 8: GlyphDataTableOffset=52
+ "DEAD BEEF CAFE " # 12: <stray data>
+ "DEAD BEEF CAFE " # 18: <stray data>
+ "0006 0004 0002 " # 24: LookupFormat=6, UnitSize=4, NUnits=2
+ "0008 0001 0000 " # 30: SearchRange=8, EntrySelector=1, RangeShift=0
+ "0001 0000 " # 36: Glyph=A, Offset=0 (+GlyphDataTableOffset=52)
+ "0003 0008 " # 40: Glyph=C, Offset=8 (+GlyphDataTableOffset=60)
+ "FFFF 0000 " # 44: Glyph=<end>, Offset=<n/a>
+ "BEEF F00D " # 48: <stray data>
+ "0000 0001 " # 52: GlyphData[A].NumPoints=1
+ "0235 045E " # 56: GlyphData[A].Points[0].X=565, .Y=1118
+ "0000 0001 " # 60: GlyphData[C].NumPoints=1
+ "FED2 045E " # 64: GlyphData[C].Points[0].X=-302, .Y=1118
+) # 68: <end>
assert len(ANKR_FORMAT_0_STRAY_DATA) == 68
# Constructed test case where glyphs A and D share the same anchor data.
ANKR_FORMAT_0_SHARING_DATA = deHexStr(
- '0000 0000 ' # 0: Format=0, Flags=0
- '0000 000C ' # 4: LookupTableOffset=12
- '0000 0028 ' # 8: GlyphDataTableOffset=40
- '0006 0004 0003 ' # 12: LookupFormat=6, UnitSize=4, NUnits=3
- '0008 0001 0004 ' # 18: SearchRange=8, EntrySelector=1, RangeShift=4
- '0001 0000 ' # 24: Glyph=A, Offset=0 (+GlyphDataTableOffset=36)
- '0003 0008 ' # 28: Glyph=C, Offset=8 (+GlyphDataTableOffset=44)
- '0004 0000 ' # 32: Glyph=D, Offset=0 (+GlyphDataTableOffset=36)
- 'FFFF 0000 ' # 36: Glyph=<end>, Offset=<n/a>
- '0000 0001 ' # 40: GlyphData[A].NumPoints=1
- '0235 045E ' # 44: GlyphData[A].Points[0].X=565, .Y=1118
- '0000 0002 ' # 48: GlyphData[C].NumPoints=2
- '000B 000C ' # 52: GlyphData[C].Points[0].X=11, .Y=12
- '001B 001C ' # 56: GlyphData[C].Points[1].X=27, .Y=28
-) # 60: <end>
+ "0000 0000 " # 0: Format=0, Flags=0
+ "0000 000C " # 4: LookupTableOffset=12
+ "0000 0028 " # 8: GlyphDataTableOffset=40
+ "0006 0004 0003 " # 12: LookupFormat=6, UnitSize=4, NUnits=3
+ "0008 0001 0004 " # 18: SearchRange=8, EntrySelector=1, RangeShift=4
+ "0001 0000 " # 24: Glyph=A, Offset=0 (+GlyphDataTableOffset=36)
+ "0003 0008 " # 28: Glyph=C, Offset=8 (+GlyphDataTableOffset=44)
+ "0004 0000 " # 32: Glyph=D, Offset=0 (+GlyphDataTableOffset=36)
+ "FFFF 0000 " # 36: Glyph=<end>, Offset=<n/a>
+ "0000 0001 " # 40: GlyphData[A].NumPoints=1
+ "0235 045E " # 44: GlyphData[A].Points[0].X=565, .Y=1118
+ "0000 0002 " # 48: GlyphData[C].NumPoints=2
+ "000B 000C " # 52: GlyphData[C].Points[0].X=11, .Y=12
+ "001B 001C " # 56: GlyphData[C].Points[1].X=27, .Y=28
+) # 60: <end>
assert len(ANKR_FORMAT_0_SHARING_DATA) == 60
ANKR_FORMAT_0_SHARING_XML = [
'<AnchorPoints Format="0">',
' <Flags value="0"/>',
- ' <Anchors>',
+ " <Anchors>",
' <Lookup glyph="A">',
- ' <!-- AnchorPointCount=1 -->',
+ " <!-- AnchorPointCount=1 -->",
' <AnchorPoint index="0">',
' <XCoordinate value="565"/>',
' <YCoordinate value="1118"/>',
- ' </AnchorPoint>',
- ' </Lookup>',
+ " </AnchorPoint>",
+ " </Lookup>",
' <Lookup glyph="C">',
- ' <!-- AnchorPointCount=2 -->',
+ " <!-- AnchorPointCount=2 -->",
' <AnchorPoint index="0">',
' <XCoordinate value="11"/>',
' <YCoordinate value="12"/>',
- ' </AnchorPoint>',
+ " </AnchorPoint>",
' <AnchorPoint index="1">',
' <XCoordinate value="27"/>',
' <YCoordinate value="28"/>',
- ' </AnchorPoint>',
- ' </Lookup>',
+ " </AnchorPoint>",
+ " </Lookup>",
' <Lookup glyph="D">',
- ' <!-- AnchorPointCount=1 -->',
+ " <!-- AnchorPointCount=1 -->",
' <AnchorPoint index="0">',
' <XCoordinate value="565"/>',
' <YCoordinate value="1118"/>',
- ' </AnchorPoint>',
- ' </Lookup>',
- ' </Anchors>',
- '</AnchorPoints>',
+ " </AnchorPoint>",
+ " </Lookup>",
+ " </Anchors>",
+ "</AnchorPoints>",
]
class ANKRTest(unittest.TestCase):
-
@classmethod
def setUpClass(cls):
cls.maxDiff = None
- cls.font = FakeFont(['.notdef', 'A', 'B', 'C', 'D'])
+ cls.font = FakeFont([".notdef", "A", "B", "C", "D"])
def decompileToXML(self, data, xml):
- table = newTable('ankr')
+ table = newTable("ankr")
table.decompile(data, self.font)
self.assertEqual(getXML(table.toXML), xml)
def compileFromXML(self, xml, data):
- table = newTable('ankr')
+ table = newTable("ankr")
for name, attrs, content in parseXML(xml):
table.fromXML(name, attrs, content, font=self.font)
self.assertEqual(hexStr(table.compile(self.font)), hexStr(data))
@@ -160,6 +159,7 @@ class ANKRTest(unittest.TestCase):
self.roundtrip(ANKR_FORMAT_0_SHARING_DATA, ANKR_FORMAT_0_SHARING_XML)
-if __name__ == '__main__':
+if __name__ == "__main__":
import sys
+
sys.exit(unittest.main())