test_glifLib.py 文件源码

python
阅读 41 收藏 0 点赞 0 评论 0

项目:otRebuilder 作者: Pal3love 项目源码 文件源码
def testRoundTrip(self):
        import difflib
        srcDir = GLYPHSETDIR
        dstDir = self.dstDir
        src = GlyphSet(srcDir, ufoFormatVersion=2)
        dst = GlyphSet(dstDir, ufoFormatVersion=2)
        for glyphName in src.keys():
            g = src[glyphName]
            g.drawPoints(None)  # load attrs
            dst.writeGlyph(glyphName, g, g.drawPoints)
        # compare raw file data:
        for glyphName in sorted(src.keys()):
            fileName = src.contents[glyphName]
            with open(os.path.join(srcDir, fileName), "r") as f:
                org = f.read()
            with open(os.path.join(dstDir, fileName), "r") as f:
                new = f.read()
            added = []
            removed = []
            for line in difflib.unified_diff(
                    org.split("\n"), new.split("\n")):
                if line.startswith("+ "):
                    added.append(line[1:])
                elif line.startswith("- "):
                    removed.append(line[1:])
            self.assertEqual(
                added, removed,
                "%s.glif file differs after round tripping" % glyphName)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号