diff options
Diffstat (limited to 'scripts/run_android_tests.py')
-rwxr-xr-x | scripts/run_android_tests.py | 56 |
1 files changed, 2 insertions, 54 deletions
diff --git a/scripts/run_android_tests.py b/scripts/run_android_tests.py index 6c69f30..f10c7fd 100755 --- a/scripts/run_android_tests.py +++ b/scripts/run_android_tests.py @@ -16,15 +16,8 @@ """Test assumptions that Android relies on.""" -import glob -import json import unittest -from fontTools import ttLib -from nototools import coverage -from nototools import font_data -from nototools import render -from nototools import unicode_data import common_tests @@ -64,53 +57,8 @@ class TestCharacterCoverage(common_tests.TestCharacterCoverage): ) - include # don't exclude legacy PUA -class TestSpacingMarks(unittest.TestCase): - """Tests that spacing marks are indeed spacing.""" - - def setUp(self): - self.font_files, _ = load_fonts() - charset = coverage.character_set(self.font_files[0]) - self.marks_to_test = [char for char in charset - if unicode_data.category(char) in ['Lm', 'Sk']] - self.advance_cache = {} - - def get_advances(self, text, font): - """Get a list of horizontal advances for text rendered in a font.""" - try: - return self.advance_cache[(text, font)] - except KeyError: - hb_output = render.run_harfbuzz_on_text(text, font, '') - hb_output = json.loads(hb_output) - advances = [glyph['ax'] for glyph in hb_output] - self.advance_cache[(text, font)] = advances - return advances - - def test_individual_spacing_marks(self): - """Tests that spacing marks are spacing by themselves.""" - for font in self.font_files: - print 'Testing %s for stand-alone spacing marks...' % font - for mark in self.marks_to_test: - mark = unichr(mark) - advances = self.get_advances(mark, font) - assert len(advances) == 1 - self.assertNotEqual(advances[0], 0) - - def test_spacing_marks_in_combination(self): - """Tests that spacing marks do not combine with base letters.""" - for font in self.font_files: - print 'Testing %s for spacing marks in combination...' % font - for base_letter in (u'A\u00C6BCDEFGHIJKLMNO\u00D8\u01A0PRST' - u'U\u01AFVWXYZ' - u'a\u00E6bcdefghi\u0131j\u0237klmn' - u'o\u00F8\u01A1prs\u017Ftu\u01B0vwxyz' - u'\u03D2'): - print 'Testing %s combinations' % base_letter - for mark in self.marks_to_test: - mark = unichr(mark) - advances = self.get_advances(base_letter + mark, font) - self.assertEqual(len(advances), 2, - 'The sequence <%04X, %04X> combines, ' - 'but it should not' % (ord(base_letter), ord(mark))) +class TestSpacingMarks(common_tests.TestSpacingMarks): + loaded_fonts = FONTS if __name__ == '__main__': |