| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | """Unit tests for the Draft Workbench, SVG import and export tests.""" |
| |
|
| | |
| | |
| | |
| |
|
| | |
| | |
| |
|
| | import os |
| | import unittest |
| |
|
| | import FreeCAD as App |
| | import Draft |
| | from drafttests import auxiliary as aux |
| | from drafttests import test_base |
| | from draftutils.messages import _msg |
| |
|
| | try: |
| | import Arch |
| | except ModuleNotFoundError: |
| | have_arch = False |
| | else: |
| | have_arch = True |
| |
|
| |
|
| | class DraftSVG(test_base.DraftTestCaseDoc): |
| | """Test reading and writing of SVGs with Draft.""" |
| |
|
| | def test_read_svg(self): |
| | """Read an SVG file and import its elements as Draft objects.""" |
| | operation = "importSVG.import" |
| | _msg(" Test '{}'".format(operation)) |
| | _msg(" This test requires an SVG file to read.") |
| |
|
| | file = "Mod/Draft/drafttest/test.svg" |
| | in_file = os.path.join(App.getResourceDir(), file) |
| | _msg(" file={}".format(in_file)) |
| | _msg(" exists={}".format(os.path.exists(in_file))) |
| |
|
| | obj = aux.fake_function(in_file) |
| | self.assertTrue(obj, "'{}' failed".format(operation)) |
| |
|
| | def test_export_svg(self): |
| | """Create some figures and export them to an SVG file.""" |
| | operation = "importSVG.export" |
| | _msg(" Test '{}'".format(operation)) |
| |
|
| | file = "Mod/Draft/drafttest/out_test.svg" |
| | out_file = os.path.join(App.getResourceDir(), file) |
| | _msg(" file={}".format(out_file)) |
| | _msg(" exists={}".format(os.path.exists(out_file))) |
| |
|
| | obj = aux.fake_function(out_file) |
| | self.assertTrue(obj, "'{}' failed".format(operation)) |
| |
|
| | @unittest.skipIf(not have_arch, "BIM module is not installed") |
| | def test_get_svg_from_arch_space_with_zero_vector(self): |
| | """Try to get a svg string from an Arch Space with a zero-vector as direction.""" |
| | import Part |
| | import Draft |
| |
|
| | sb = Part.makeBox(1, 1, 1) |
| | b = self.doc.addObject("Part::Feature", "Box") |
| | b.Shape = sb |
| |
|
| | s = Arch.makeSpace(b) |
| | self.doc.recompute() |
| |
|
| | try: |
| | Draft.get_svg(s, direction=App.Vector(0, 0, 0)) |
| | except AttributeError as err: |
| | self.fail("Cryptic exception thrown: {}".format(err)) |
| | except ValueError as err: |
| | App.Console.PrintLog("Exception thrown, OK: {}".format(err)) |
| | else: |
| | self.fail("no exception thrown") |
| |
|
| |
|
| | |
| |
|