| #!/usr/bin/env python |
| |
| """Tests build_font.py by renaming a font. |
| |
| The test copies Roboto-Regular.ttf to a tmp directory and ask build_font.py to rename it and put in another dir. |
| We then use ttx to dump the new font to its xml and check if rename was successful |
| |
| To test locally, use: |
| PYTHONPATH="$PYTHONPATH:/path/to/android/checkout/external/fonttools/Lib" ./test.py |
| """ |
| |
| import unittest |
| import build_font |
| |
| from fontTools import ttx |
| import os |
| import xml.etree.ElementTree as etree |
| import shutil |
| import tempfile |
| |
| class MyTest(unittest.TestCase): |
| def test(self): |
| font_name = "Roboto-Regular.ttf" |
| srcdir = tempfile.mkdtemp() |
| print "srcdir: " + srcdir |
| shutil.copy(font_name, srcdir) |
| destdir = tempfile.mkdtemp() |
| print "destdir: " + destdir |
| self.assertTrue(build_font.main([srcdir, destdir]) is None) |
| out_path = os.path.join(destdir, font_name) |
| ttx.main([out_path]) |
| ttx_path = out_path[:-1] + "x" |
| tree = etree.parse(ttx_path) |
| root = tree.getroot() |
| name_tag = root.find('name') |
| fonts = build_font.get_font_info(name_tag) |
| shutil.rmtree(srcdir) |
| shutil.rmtree(destdir) |
| self.assertEqual(fonts[0].family, "Roboto1200310") |
| self.assertEqual(fonts[0].fullname, "Roboto1200310 Regular") |
| |
| |
| |
| if __name__ == '__main__': |
| unittest.main() |