<s> """<STR_LIT>""" <EOL> import unittest <EOL> from robofab . world import OpenFont <EOL> from nototools . unittests import font_tests <EOL> import roboto_data <EOL> FONTS = font_tests . load_fonts ( <EOL> [ '<STR_LIT>' , '<STR_LIT>' ] , <EOL> expected_count = <NUM_LIT> ) <EOL> UFO_MASTERS = font_tests . load_fonts ( <EOL> [ '<STR_LIT>' ] , <EOL> expected_count = <NUM_LIT:3> , <EOL> font_class = OpenFont ) <EOL> class TestRobotoRegressions ( font_tests . FontTest ) : <EOL> loaded_fonts = FONTS <EOL> def setUp ( self ) : <EOL> self . font_files , self . fonts = self . loaded_fonts <EOL> def test_chi_descends ( self ) : <EOL> """<STR_LIT>""" <EOL> for font in self . fonts : <EOL> glyph_set = font . getGlyphSet ( ) <EOL> glyph = glyph_set [ '<STR_LIT>' ] . _glyph <EOL> self . assertTrue ( <EOL> glyph . yMin < <NUM_LIT:0> , '<STR_LIT>' <EOL> '<STR_LIT>' ) <EOL> def test_upsilontonos_narrow ( self ) : <EOL> """<STR_LIT>""" <EOL> for filename , font in zip ( self . font_files , self . fonts ) : <EOL> glyph_set = font . getGlyphSet ( ) <EOL> glyph = glyph_set [ '<STR_LIT>' ] . _glyph <EOL> bound = - ( <NUM_LIT> + ( font [ '<STR_LIT>' ] . usWeightClass - <NUM_LIT> ) * <NUM_LIT> ) <EOL> self . assertTrue ( <EOL> glyph . xMin > bound , '<STR_LIT>' <EOL> '<STR_LIT>' % ( filename , glyph . xMin ) ) <EOL> class TestItalicAngle ( font_tests . TestItalicAngle ) : <EOL> loaded_fonts = FONTS <EOL> expected_italic_angle = - <NUM_LIT> <EOL> class TestMetaInfo ( font_tests . TestMetaInfo ) : <EOL> """<STR_LIT>""" <EOL> loaded_fonts = FONTS <EOL> mark_heavier_as_bold = False <EOL> mark_italic_as_oblique = True <EOL> test_us_weight = None <EOL> expected_version = roboto_data . get_version_number ( ) <EOL> expected_os2_fsType = <NUM_LIT:0> <EOL> expected_os2_achVendID = '<STR_LIT>' <EOL> class TestNames ( font_tests . TestNames ) : <EOL> """<STR_LIT>""" <EOL> loaded_fonts = FONTS <EOL> family_name = '<STR_LIT>' <EOL> mark_heavier_as_bold = False <EOL> expected_copyright = '<STR_LIT>' <EOL> def expected_unique_id ( self , family , style ) : <EOL> return '<STR_LIT>' % ( family , style ) <EOL> class TestDigitWidths ( font_tests . TestDigitWidths ) : <EOL> loaded_fonts = FONTS <EOL> class TestCharacterCoverage ( font_tests . TestCharacterCoverage ) : <EOL> loaded_fonts = FONTS <EOL> include = frozenset ( [ <EOL> <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ) <EOL> exclude = frozenset ( [ <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] + <EOL> range ( <NUM_LIT> , <NUM_LIT> + <NUM_LIT:1> ) + range ( <NUM_LIT> , <NUM_LIT> + <NUM_LIT:1> ) <EOL> ) - include <EOL> class TestLigatures ( font_tests . TestLigatures ) : <EOL> loaded_fonts = FONTS <EOL> class TestFeatures ( font_tests . TestFeatures ) : <EOL> loaded_fonts = FONTS <EOL> smcp_reqs_path = '<STR_LIT>' <EOL> c2sc_reqs_path = '<STR_LIT>' <EOL> unic_reqs_path = '<STR_LIT>' <EOL> class TestVerticalMetrics ( font_tests . TestVerticalMetrics ) : <EOL> loaded_fonts = FONTS <EOL> test_ymin_ymax = None <EOL> test_hhea_table_metrics = None <EOL> test_os2_metrics = None <EOL> expected_head_yMin = - <NUM_LIT> <EOL> expected_head_yMax = <NUM_LIT> <EOL> class TestGlyphAreas ( font_tests . TestGlyphAreas ) : <EOL> master_weights_to_test = [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> instance_weights_to_test = [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> exclude = [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> master_glyph_sets = [ <EOL> f . replace ( '<STR_LIT:_>' , '<STR_LIT:->' ) for f in UFO_MASTERS [ <NUM_LIT:0> ] ] , UFO_MASTERS [ <NUM_LIT:1> ] <EOL> instance_glyph_sets = FONTS [ <NUM_LIT:0> ] , [ f . getGlyphSet ( ) for f in FONTS [ <NUM_LIT:1> ] ] <EOL> master_glyphs_to_test = UFO_MASTERS [ <NUM_LIT:1> ] [ <NUM_LIT:0> ] . keys ( ) <EOL> instance_glyphs_to_test = FONTS [ <NUM_LIT:1> ] [ <NUM_LIT:0> ] . getGlyphOrder ( ) <EOL> whitelist = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> ] <EOL> if __name__ == '<STR_LIT:__main__>' : <EOL> unittest . main ( ) </s>
