test_TclCommandImportSvg.py 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from os import listdir
  2. from FlatCAMObj import FlatCAMGerber, FlatCAMGeometry
  3. def test_import_svg(self):
  4. """
  5. Test all SVG files inside svg directory.
  6. Problematic SVG files shold be put there as test reference.
  7. :param self:
  8. :return:
  9. """
  10. file_list = listdir(self.svg_files)
  11. for svg_file in file_list:
  12. # import without outname
  13. self.fc.exec_command_test('import_svg "%s/%s"' % (self.svg_files, svg_file))
  14. obj = self.fc.collection.get_by_name(svg_file)
  15. self.assertTrue(isinstance(obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s"
  16. % (svg_file, type(obj)))
  17. # import with outname
  18. outname = '%s-%s' % (self.geometry_name, svg_file)
  19. self.fc.exec_command_test('import_svg "%s/%s" -outname "%s"' % (self.svg_files, svg_file, outname))
  20. obj = self.fc.collection.get_by_name(outname)
  21. self.assertTrue(isinstance(obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s"
  22. % (outname, type(obj)))
  23. names = self.fc.collection.get_names()
  24. self.assertEqual(len(names), len(file_list)*2,
  25. "Expected %d objects, found %d" % (len(file_list)*2, len(file_list)))
  26. def test_import_svg_as_geometry(self):
  27. self.fc.exec_command_test('import_svg "%s/%s" -type geometry -outname "%s"'
  28. % (self.svg_files, self.svg_filename, self.geometry_name))
  29. obj = self.fc.collection.get_by_name(self.geometry_name)
  30. self.assertTrue(isinstance(obj, FlatCAMGeometry) and not isinstance(obj, FlatCAMGerber),
  31. "Expected FlatCAMGeometry, instead, %s is %s" % (self.geometry_name, type(obj)))
  32. def test_import_svg_as_gerber(self):
  33. self.fc.exec_command_test('import_svg "%s/%s" -type gerber -outname "%s"'
  34. % (self.svg_files, self.svg_filename, self.gerber_name))
  35. obj = self.fc.collection.get_by_name(self.gerber_name)
  36. self.assertTrue(isinstance(obj, FlatCAMGerber),
  37. "Expected FlatCAMGerber, instead, %s is %s" % (self.gerber_name, type(obj)))
  38. self.fc.exec_command_test('isolate "%s"' % self.gerber_name)
  39. obj = self.fc.collection.get_by_name(self.gerber_name+'_iso')
  40. self.assertTrue(isinstance(obj, FlatCAMGeometry),
  41. "Expected FlatCAMGeometry, instead, %s is %s" % (self.gerber_name+'_iso', type(obj)))