You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.3 KiB
45 lines
1.3 KiB
#!/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()
|
|
|