예제 #1
0
    def test_family_name_same_as_default(self):
        font = generate_minimal_font()
        instances_list = [{
            'name': 'Regular1'
        }, {
            'name':
            'Regular2',
            'customParameters': [
                {
                    'name': 'familyName',
                    'value': 'CustomFamily'
                },
            ]
        }]
        font.instances = [
            generate_instance_from_dict(i) for i in instances_list
        ]
        # 'MyFont' is the source family name, as returned from
        # 'generate_minimal_data'
        ufos, instance_data = to_ufos(font,
                                      include_instances=True,
                                      family_name='MyFont')
        instances = instance_data['data']

        # only instances which don't have 'familyName' custom parameter
        # are included in returned list
        self.assertEqual(len(instances), 1)
        self.assertEqual(instances[0].name, 'Regular1')
        self.assertEqual(len(instances[0].customParameters), 0)

        # the masters' family name is unchanged
        for ufo in ufos:
            self.assertEqual(ufo.info.familyName, 'MyFont')
예제 #2
0
    def test_family_name_custom(self):
        font = generate_minimal_font()
        instances_list = [{
            'name': 'Regular1'
        }, {
            'name':
            'Regular2',
            'customParameters': [
                {
                    'name': 'familyName',
                    'value': 'CustomFamily'
                },
            ]
        }]
        font.instances = [
            generate_instance_from_dict(i) for i in instances_list
        ]
        ufos, instance_data = to_ufos(font,
                                      include_instances=True,
                                      family_name='CustomFamily')
        instances = instance_data['data']

        # only instances with familyName='CustomFamily' are included
        self.assertEqual(len(instances), 1)
        self.assertEqual(instances[0].name, 'Regular2')
        self.assertEqual(len(instances[0].customParameters), 1)
        self.assertEqual(instances[0].customParameters[0].value,
                         'CustomFamily')

        # the masters' family is also modified to use custom 'family_name'
        for ufo in ufos:
            self.assertEqual(ufo.info.familyName, 'CustomFamily')
예제 #3
0
    def test_family_name_none(self):
        font = generate_minimal_font()
        instances_list = [{
            'name': 'Regular1'
        }, {
            'name':
            'Regular2',
            'customParameters': [
                {
                    'name': 'familyName',
                    'value': 'CustomFamily'
                },
            ]
        }]
        font.instances = [
            generate_instance_from_dict(i) for i in instances_list
        ]

        # 'family_name' defaults to None
        ufos, instance_data = to_ufos(font, include_instances=True)
        instances = instance_data['data']

        # all instances are included, both with/without 'familyName' parameter
        self.assertEqual(len(instances), 2)
        self.assertEqual(instances[0].name, 'Regular1')
        self.assertEqual(instances[1].name, 'Regular2')
        self.assertEqual(len(instances[0].customParameters), 0)
        self.assertEqual(len(instances[1].customParameters), 1)
        self.assertEqual(instances[1].customParameters[0].value,
                         'CustomFamily')

        # the masters' family name is unchanged
        for ufo in ufos:
            self.assertEqual(ufo.info.familyName, 'MyFont')