File: test_tables.py

package info (click to toggle)
htic 3.7.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 252 kB
  • sloc: python: 1,662; makefile: 3
file content (118 lines) | stat: -rwxr-xr-x 3,003 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import unittest

from . import helper


class HeadTest(unittest.TestCase):

	def testHeadEmpty(self):
		data = helper.getData("""head{
			}""")
		self.assertEqual(len(data.head), 1)
		self.assertTrue('flags' in data.head)
		self.assertEqual(len(data.head['flags']), 0)

	def testHeadNormal(self):
		data = helper.getData("""head{
			9 lowestRecPPEM
			}""")
		self.assertEqual(len(data.head), 2)
		self.assertEqual(data.head['lowestRecPPEM'], 9)

	def testHeadFlags(self):
		data = helper.getData("""head{
			0 flags.instructionsMayDependOnPointSize
			1 flags.forcePpemToIntegerValues
			0 flags.instructionsMayAlterAdvanceWidth
			1 flags.fontOptimizedForClearType
			}""")
		flags = data.head['flags']
		self.assertEqual(len(flags), 4)
		self.assertEqual(flags[0], ( 2,0) )
		self.assertEqual(flags[1], ( 3,1) )
		self.assertEqual(flags[2], ( 4,0) )
		self.assertEqual(flags[3], (13,1) )


class MaxpTest(unittest.TestCase):

	def testMaxpEmpty(self):
		data = helper.getData("""maxp{
			}""")
		self.assertEqual(len(data.maxp), 0)

	def testMaxpPart(self):
		data = helper.getData("""maxp{
			256 maxStackElements
			 64 maxFunctionDefs
			}""")
		self.assertEqual(len(data.maxp), 2)
		self.assertEqual(data.maxp['maxStackElements'], 256)
		self.assertEqual(data.maxp['maxFunctionDefs'], 64)

	def testMaxpFull(self):
		data = helper.getData("""maxp{
			256 maxStackElements
			 64 maxFunctionDefs
			 32 maxStorage
			  2 maxZones
			 16 maxTwilightPoints
			}""")
		self.assertEqual(len(data.maxp), 5)
		self.assertEqual(data.maxp['maxStackElements'], 256)
		self.assertEqual(data.maxp['maxFunctionDefs'], 64)
		self.assertEqual(data.maxp['maxStorage'], 32)
		self.assertEqual(data.maxp['maxZones'], 2)
		self.assertEqual(data.maxp['maxTwilightPoints'], 16)


class GaspTest(unittest.TestCase):

	def testGaspEmpty(self):
		data = helper.getData("""gasp{
			}""")
		self.assertEqual(len(data.gasp), 0)

	def testGasp(self):
		data = helper.getData("""gasp{
			    7
			   12           doGray symSmoothing
			  128 doGridfit                     symGridfit
			65535 doGridfit doGray symSmoothing symGridfit
			}""")
		self.assertEqual(data.gasp[0], (7, False, False, False, False))
		self.assertEqual(data.gasp[1], (12, False, True, True, False))
		self.assertEqual(data.gasp[2], (128, True, False, False, True))
		self.assertEqual(data.gasp[3], (65535, True, True, True, True))


class CvtTest(unittest.TestCase):

	def testCvtEmpty(self):
		data = helper.getData("""cvt{
			}""")
		self.assertEqual(len(data.cvt), 0)

	def testCvtBoundary(self):
		data = helper.getData("""cvt{
			 0 c0
			-0 c1
			 64 c2
			-64 c3
			 32767 c4
			-32768 c5
			-1 c6
			}""")
		self.assertEqual(len(data.cvt), 7)
		self.assertEqual(data.cvt, [0, 0, 64, -64, 32767, -32768, -1])


class FpgmPrepTest(unittest.TestCase):

	def testFpgmEmpty(self):
		code = helper.toBytes("", "", "fpgm")
		self.assertEqual(code, b"")

	def testPrepEmpty(self):
		code = helper.toBytes("", "", "prep")
		self.assertEqual(code, b"")