def compareToUFO(self, doInfo=True, doKerning=True, doGroups=True, doLib=True, doFeatures=True): reader = UFOReader(self.ufoPath) results = {} if doInfo: infoMatches = True info = self.font.info for attr, expectedValue in expectedFontInfo1To2Conversion.items(): writtenValue = getattr(info, attr) if expectedValue != writtenValue: infoMatches = False break results["info"]= infoMatches if doKerning: kerning = self.font.kerning.asDict() expectedKerning = reader.readKerning() results["kerning"] = expectedKerning == kerning if doGroups: groups = dict(self.font.groups) expectedGroups = reader.readGroups() results["groups"] = expectedGroups == groups if doFeatures: features = self.font.features.text expectedFeatures = expectedFormatVersion1Features # FontLab likes to add lines to the features, so skip blank lines. features = [line for line in features.splitlines() if line] expectedFeatures = [line for line in expectedFeatures.splitlines() if line] results["features"] = expectedFeatures == features if doLib: lib = dict(self.font.lib) expectedLib = reader.readLib() for key in removeFromFormatVersion1Lib: if key in expectedLib: del expectedLib[key] results["lib"] = expectedLib == lib return results
def testInfo(self): self.setUpFont() info = self.font.info for attr, expectedValue in expectedFontInfo1To2Conversion.items(): writtenValue = getattr(info, attr) self.assertEqual((attr, expectedValue), (attr, writtenValue)) self.tearDownFont()
def testInfo(self): self.setUpFont(doInfo=True) otherResults = self.compareToUFO(doInfo=False) self.assertEqual(otherResults["kerning"], False) self.assertEqual(otherResults["groups"], False) self.assertEqual(otherResults["features"], False) self.assertEqual(otherResults["lib"], False) info = self.font.info for attr, expectedValue in expectedFontInfo1To2Conversion.items(): writtenValue = getattr(info, attr) self.assertEqual((attr, expectedValue), (attr, writtenValue)) self.tearDownFont()
def testInfo(self): self.setUpFont(doInfo=True) otherResults = self.compareToUFO(doInfo=False) self.assertEqual(otherResults["kerning"], False) self.assertEqual(otherResults["groups"], False) self.assertEqual(otherResults["features"], False) self.assertEqual(otherResults["lib"], False) info = self.font.info for attr, expectedValue in expectedFontInfo1To2Conversion.items(): writtenValue = getattr(info, attr) self.assertEqual((attr, expectedValue), (attr, writtenValue)) self.tearDownFont()
def compareToUFO(self, doInfo=True, doKerning=True, doGroups=True, doLib=True, doFeatures=True): reader = UFOReader(self.ufoPath) results = {} if doInfo: infoMatches = True info = self.font.info for attr, expectedValue in expectedFontInfo1To2Conversion.items(): writtenValue = getattr(info, attr) if expectedValue != writtenValue: infoMatches = False break results["info"] = infoMatches if doKerning: kerning = self.font.kerning.asDict() expectedKerning = reader.readKerning() results["kerning"] = expectedKerning == kerning if doGroups: groups = dict(self.font.groups) expectedGroups = reader.readGroups() results["groups"] = expectedGroups == groups if doFeatures: features = self.font.features.text expectedFeatures = expectedFormatVersion1Features # FontLab likes to add lines to the features, so skip blank lines. features = [line for line in features.splitlines() if line] expectedFeatures = [ line for line in expectedFeatures.splitlines() if line ] results["features"] = expectedFeatures == features if doLib: lib = dict(self.font.lib) expectedLib = reader.readLib() for key in removeFromFormatVersion1Lib: if key in expectedLib: del expectedLib[key] results["lib"] = expectedLib == lib return results
def compareToUFO(self, doInfo=True): reader = UFOReader(ufoPath1) results = {} # info infoMatches = True info = self.font.info for attr, expectedValue in expectedFontInfo1To2Conversion.items(): writtenValue = getattr(info, attr) if expectedValue != writtenValue: infoMatches = False break results["info"]= infoMatches # kerning kerning = self.font.kerning.asDict() expectedKerning = reader.readKerning() results["kerning"] = expectedKerning == kerning # groups groups = dict(self.font.groups) expectedGroups = reader.readGroups() results["groups"] = expectedGroups == groups # features features = self.font.features.text f = open(os.path.join(ufoPath2, "features.fea"), "r") expectedFeatures = f.read() f.close() match = True features = [line for line in features.splitlines() if line] expectedFeatures = [line for line in expectedFeatures.splitlines() if line] if expectedFeatures != features or reader.readFeatures() != "": match = False results["features"] = match # lib lib = dict(self.font.lib) expectedLib = reader.readLib() for key in removeFromFormatVersion1Lib: if key in expectedLib: del expectedLib[key] results["lib"] = expectedLib == lib return results