#!/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()