aboutsummaryrefslogtreecommitdiff
path: root/Tests/afmLib/afmLib_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/afmLib/afmLib_test.py')
-rw-r--r--Tests/afmLib/afmLib_test.py94
1 files changed, 50 insertions, 44 deletions
diff --git a/Tests/afmLib/afmLib_test.py b/Tests/afmLib/afmLib_test.py
index 3e9d9d88..e3640819 100644
--- a/Tests/afmLib/afmLib_test.py
+++ b/Tests/afmLib/afmLib_test.py
@@ -4,50 +4,56 @@ from fontTools import afmLib
CWD = os.path.abspath(os.path.dirname(__file__))
-DATADIR = os.path.join(CWD, 'data')
-AFM = os.path.join(DATADIR, 'TestAFM.afm')
+DATADIR = os.path.join(CWD, "data")
+AFM = os.path.join(DATADIR, "TestAFM.afm")
class AFMTest(unittest.TestCase):
-
- def test_read_afm(self):
- afm = afmLib.AFM(AFM)
- self.assertEqual(sorted(afm.kernpairs()),
- sorted([('V', 'A'), ('T', 'comma'), ('V', 'd'), ('T', 'c'), ('T', 'period')]))
- self.assertEqual(afm['V', 'A'], -60)
- self.assertEqual(afm['V', 'd'], 30)
- self.assertEqual(afm['A'], (65, 668, (8, -25, 660, 666)))
-
- def test_write_afm(self):
- afm = afmLib.AFM(AFM)
- newAfm, afmData = self.write(afm)
- self.assertEqual(afm.kernpairs(), newAfm.kernpairs())
- self.assertEqual(afm.chars(), newAfm.chars())
- self.assertEqual(afm.comments(), newAfm.comments()[1:]) # skip the "generated by afmLib" comment
- for pair in afm.kernpairs():
- self.assertEqual(afm[pair], newAfm[pair])
- for char in afm.chars():
- self.assertEqual(afm[char], newAfm[char])
- with open(AFM, 'r') as f:
- originalLines = f.read().splitlines()
- newLines = afmData.splitlines()
- del newLines[1] # remove the "generated by afmLib" comment
- self.assertEqual(originalLines, newLines)
-
- @staticmethod
- def write(afm, sep='\r'):
- temp = os.path.join(DATADIR, 'temp.afm')
- try:
- afm.write(temp, sep)
- with open(temp, 'r') as f:
- afmData = f.read()
- afm = afmLib.AFM(temp)
- finally:
- if os.path.exists(temp):
- os.remove(temp)
- return afm, afmData
-
-
-if __name__ == '__main__':
- import sys
- sys.exit(unittest.main())
+ def test_read_afm(self):
+ afm = afmLib.AFM(AFM)
+ self.assertEqual(
+ sorted(afm.kernpairs()),
+ sorted(
+ [("V", "A"), ("T", "comma"), ("V", "d"), ("T", "c"), ("T", "period")]
+ ),
+ )
+ self.assertEqual(afm["V", "A"], -60)
+ self.assertEqual(afm["V", "d"], 30)
+ self.assertEqual(afm["A"], (65, 668, (8, -25, 660, 666)))
+
+ def test_write_afm(self):
+ afm = afmLib.AFM(AFM)
+ newAfm, afmData = self.write(afm)
+ self.assertEqual(afm.kernpairs(), newAfm.kernpairs())
+ self.assertEqual(afm.chars(), newAfm.chars())
+ self.assertEqual(
+ afm.comments(), newAfm.comments()[1:]
+ ) # skip the "generated by afmLib" comment
+ for pair in afm.kernpairs():
+ self.assertEqual(afm[pair], newAfm[pair])
+ for char in afm.chars():
+ self.assertEqual(afm[char], newAfm[char])
+ with open(AFM, "r") as f:
+ originalLines = f.read().splitlines()
+ newLines = afmData.splitlines()
+ del newLines[1] # remove the "generated by afmLib" comment
+ self.assertEqual(originalLines, newLines)
+
+ @staticmethod
+ def write(afm, sep="\r"):
+ temp = os.path.join(DATADIR, "temp.afm")
+ try:
+ afm.write(temp, sep)
+ with open(temp, "r") as f:
+ afmData = f.read()
+ afm = afmLib.AFM(temp)
+ finally:
+ if os.path.exists(temp):
+ os.remove(temp)
+ return afm, afmData
+
+
+if __name__ == "__main__":
+ import sys
+
+ sys.exit(unittest.main())