aboutsummaryrefslogtreecommitdiff
path: root/Tests/ufoLib/UFO1_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/ufoLib/UFO1_test.py')
-rw-r--r--Tests/ufoLib/UFO1_test.py254
1 files changed, 120 insertions, 134 deletions
diff --git a/Tests/ufoLib/UFO1_test.py b/Tests/ufoLib/UFO1_test.py
index 5feb045a..aad35229 100644
--- a/Tests/ufoLib/UFO1_test.py
+++ b/Tests/ufoLib/UFO1_test.py
@@ -8,143 +8,129 @@ from fontTools.ufoLib import plistlib
from .testSupport import fontInfoVersion1, fontInfoVersion2
-class TestInfoObject: pass
+class TestInfoObject:
+ pass
class ReadFontInfoVersion1TestCase(unittest.TestCase):
-
- def setUp(self):
- self.dstDir = tempfile.mktemp()
- os.mkdir(self.dstDir)
- metaInfo = {
- "creator": "test",
- "formatVersion": 1
- }
- path = os.path.join(self.dstDir, "metainfo.plist")
- with open(path, "wb") as f:
- plistlib.dump(metaInfo, f)
-
- def tearDown(self):
- shutil.rmtree(self.dstDir)
-
- def _writeInfoToPlist(self, info):
- path = os.path.join(self.dstDir, "fontinfo.plist")
- with open(path, "wb") as f:
- plistlib.dump(info, f)
-
- def testRead(self):
- originalData = dict(fontInfoVersion1)
- self._writeInfoToPlist(originalData)
- infoObject = TestInfoObject()
- reader = UFOReader(self.dstDir, validate=True)
- reader.readInfo(infoObject)
- for attr in dir(infoObject):
- if attr not in fontInfoVersion2:
- continue
- originalValue = fontInfoVersion2[attr]
- readValue = getattr(infoObject, attr)
- self.assertEqual(originalValue, readValue)
-
- def testFontStyleConversion(self):
- fontStyle1To2 = {
- 64 : "regular",
- 1 : "italic",
- 32 : "bold",
- 33 : "bold italic"
- }
- for old, new in list(fontStyle1To2.items()):
- info = dict(fontInfoVersion1)
- info["fontStyle"] = old
- self._writeInfoToPlist(info)
- reader = UFOReader(self.dstDir, validate=True)
- infoObject = TestInfoObject()
- reader.readInfo(infoObject)
- self.assertEqual(new, infoObject.styleMapStyleName)
-
- def testWidthNameConversion(self):
- widthName1To2 = {
- "Ultra-condensed" : 1,
- "Extra-condensed" : 2,
- "Condensed" : 3,
- "Semi-condensed" : 4,
- "Medium (normal)" : 5,
- "Semi-expanded" : 6,
- "Expanded" : 7,
- "Extra-expanded" : 8,
- "Ultra-expanded" : 9
- }
- for old, new in list(widthName1To2.items()):
- info = dict(fontInfoVersion1)
- info["widthName"] = old
- self._writeInfoToPlist(info)
- reader = UFOReader(self.dstDir, validate=True)
- infoObject = TestInfoObject()
- reader.readInfo(infoObject)
- self.assertEqual(new, infoObject.openTypeOS2WidthClass)
+ def setUp(self):
+ self.dstDir = tempfile.mktemp()
+ os.mkdir(self.dstDir)
+ metaInfo = {"creator": "test", "formatVersion": 1}
+ path = os.path.join(self.dstDir, "metainfo.plist")
+ with open(path, "wb") as f:
+ plistlib.dump(metaInfo, f)
+
+ def tearDown(self):
+ shutil.rmtree(self.dstDir)
+
+ def _writeInfoToPlist(self, info):
+ path = os.path.join(self.dstDir, "fontinfo.plist")
+ with open(path, "wb") as f:
+ plistlib.dump(info, f)
+
+ def testRead(self):
+ originalData = dict(fontInfoVersion1)
+ self._writeInfoToPlist(originalData)
+ infoObject = TestInfoObject()
+ reader = UFOReader(self.dstDir, validate=True)
+ reader.readInfo(infoObject)
+ for attr in dir(infoObject):
+ if attr not in fontInfoVersion2:
+ continue
+ originalValue = fontInfoVersion2[attr]
+ readValue = getattr(infoObject, attr)
+ self.assertEqual(originalValue, readValue)
+
+ def testFontStyleConversion(self):
+ fontStyle1To2 = {64: "regular", 1: "italic", 32: "bold", 33: "bold italic"}
+ for old, new in list(fontStyle1To2.items()):
+ info = dict(fontInfoVersion1)
+ info["fontStyle"] = old
+ self._writeInfoToPlist(info)
+ reader = UFOReader(self.dstDir, validate=True)
+ infoObject = TestInfoObject()
+ reader.readInfo(infoObject)
+ self.assertEqual(new, infoObject.styleMapStyleName)
+
+ def testWidthNameConversion(self):
+ widthName1To2 = {
+ "Ultra-condensed": 1,
+ "Extra-condensed": 2,
+ "Condensed": 3,
+ "Semi-condensed": 4,
+ "Medium (normal)": 5,
+ "Semi-expanded": 6,
+ "Expanded": 7,
+ "Extra-expanded": 8,
+ "Ultra-expanded": 9,
+ }
+ for old, new in list(widthName1To2.items()):
+ info = dict(fontInfoVersion1)
+ info["widthName"] = old
+ self._writeInfoToPlist(info)
+ reader = UFOReader(self.dstDir, validate=True)
+ infoObject = TestInfoObject()
+ reader.readInfo(infoObject)
+ self.assertEqual(new, infoObject.openTypeOS2WidthClass)
class WriteFontInfoVersion1TestCase(unittest.TestCase):
-
- def setUp(self):
- self.tempDir = tempfile.mktemp()
- os.mkdir(self.tempDir)
- self.dstDir = os.path.join(self.tempDir, "test.ufo")
-
- def tearDown(self):
- shutil.rmtree(self.tempDir)
-
- def makeInfoObject(self):
- infoObject = TestInfoObject()
- for attr, value in list(fontInfoVersion2.items()):
- setattr(infoObject, attr, value)
- return infoObject
-
- def readPlist(self):
- path = os.path.join(self.dstDir, "fontinfo.plist")
- with open(path, "rb") as f:
- plist = plistlib.load(f)
- return plist
-
- def testWrite(self):
- infoObject = self.makeInfoObject()
- writer = UFOWriter(self.dstDir, formatVersion=1)
- writer.writeInfo(infoObject)
- writtenData = self.readPlist()
- for attr, originalValue in list(fontInfoVersion1.items()):
- newValue = writtenData[attr]
- self.assertEqual(newValue, originalValue)
-
- def testFontStyleConversion(self):
- fontStyle1To2 = {
- 64 : "regular",
- 1 : "italic",
- 32 : "bold",
- 33 : "bold italic"
- }
- for old, new in list(fontStyle1To2.items()):
- infoObject = self.makeInfoObject()
- infoObject.styleMapStyleName = new
- writer = UFOWriter(self.dstDir, formatVersion=1)
- writer.writeInfo(infoObject)
- writtenData = self.readPlist()
- self.assertEqual(writtenData["fontStyle"], old)
-
- def testWidthNameConversion(self):
- widthName1To2 = {
- "Ultra-condensed" : 1,
- "Extra-condensed" : 2,
- "Condensed" : 3,
- "Semi-condensed" : 4,
- "Medium (normal)" : 5,
- "Semi-expanded" : 6,
- "Expanded" : 7,
- "Extra-expanded" : 8,
- "Ultra-expanded" : 9
- }
- for old, new in list(widthName1To2.items()):
- infoObject = self.makeInfoObject()
- infoObject.openTypeOS2WidthClass = new
- writer = UFOWriter(self.dstDir, formatVersion=1)
- writer.writeInfo(infoObject)
- writtenData = self.readPlist()
- self.assertEqual(writtenData["widthName"], old)
+ def setUp(self):
+ self.tempDir = tempfile.mktemp()
+ os.mkdir(self.tempDir)
+ self.dstDir = os.path.join(self.tempDir, "test.ufo")
+
+ def tearDown(self):
+ shutil.rmtree(self.tempDir)
+
+ def makeInfoObject(self):
+ infoObject = TestInfoObject()
+ for attr, value in list(fontInfoVersion2.items()):
+ setattr(infoObject, attr, value)
+ return infoObject
+
+ def readPlist(self):
+ path = os.path.join(self.dstDir, "fontinfo.plist")
+ with open(path, "rb") as f:
+ plist = plistlib.load(f)
+ return plist
+
+ def testWrite(self):
+ infoObject = self.makeInfoObject()
+ writer = UFOWriter(self.dstDir, formatVersion=1)
+ writer.writeInfo(infoObject)
+ writtenData = self.readPlist()
+ for attr, originalValue in list(fontInfoVersion1.items()):
+ newValue = writtenData[attr]
+ self.assertEqual(newValue, originalValue)
+
+ def testFontStyleConversion(self):
+ fontStyle1To2 = {64: "regular", 1: "italic", 32: "bold", 33: "bold italic"}
+ for old, new in list(fontStyle1To2.items()):
+ infoObject = self.makeInfoObject()
+ infoObject.styleMapStyleName = new
+ writer = UFOWriter(self.dstDir, formatVersion=1)
+ writer.writeInfo(infoObject)
+ writtenData = self.readPlist()
+ self.assertEqual(writtenData["fontStyle"], old)
+
+ def testWidthNameConversion(self):
+ widthName1To2 = {
+ "Ultra-condensed": 1,
+ "Extra-condensed": 2,
+ "Condensed": 3,
+ "Semi-condensed": 4,
+ "Medium (normal)": 5,
+ "Semi-expanded": 6,
+ "Expanded": 7,
+ "Extra-expanded": 8,
+ "Ultra-expanded": 9,
+ }
+ for old, new in list(widthName1To2.items()):
+ infoObject = self.makeInfoObject()
+ infoObject.openTypeOS2WidthClass = new
+ writer = UFOWriter(self.dstDir, formatVersion=1)
+ writer.writeInfo(infoObject)
+ writtenData = self.readPlist()
+ self.assertEqual(writtenData["widthName"], old)