def test_variable_output_filename(self, mock_DesignSpaceDocument_fromfile, mock_TTFont_save, mock_varLib_build): project = FontProject() path = "path/to/designspace.designspace" doc = DesignSpaceDocument() doc.path = path mock_DesignSpaceDocument_fromfile.return_value = doc mock_varLib_build.return_value = TTFont(), None, None project.build_variable_font(path) self.assertTrue(mock_TTFont_save.called) self.assertTrue(mock_TTFont_save.call_count == 1) self.assertEqual(mock_TTFont_save.call_args, mock.call("variable_ttf/designspace-VF.ttf"))
def test_updatePaths(tmpdir): doc = DesignSpaceDocument() doc.path = str(tmpdir / "foo" / "bar" / "MyDesignspace.designspace") s1 = SourceDescriptor() doc.addSource(s1) doc.updatePaths() # expect no changes assert s1.path is None assert s1.filename is None name1 = "../masters/Source1.ufo" path1 = posix(str(tmpdir / "foo" / "masters" / "Source1.ufo")) s1.path = path1 s1.filename = None doc.updatePaths() assert s1.path == path1 assert s1.filename == name1 # empty filename updated name2 = "../masters/Source2.ufo" s1.filename = name2 doc.updatePaths() # conflicting filename discarded, path always gets precedence assert s1.path == path1 assert s1.filename == "../masters/Source1.ufo" s1.path = None s1.filename = name2 doc.updatePaths() # expect no changes assert s1.path is None assert s1.filename == name2