diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:24:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:24:48 +0000 |
commit | cca66b9ec4e494c1d919bff0f71a820d8afab1fa (patch) | |
tree | 146f39ded1c938019e1ed42d30923c2ac9e86789 /share/extensions/tests/test_dxf_input.py | |
parent | Initial commit. (diff) | |
download | inkscape-upstream/1.2.2.tar.xz inkscape-upstream/1.2.2.zip |
Adding upstream version 1.2.2.upstream/1.2.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | share/extensions/tests/test_dxf_input.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/share/extensions/tests/test_dxf_input.py b/share/extensions/tests/test_dxf_input.py new file mode 100644 index 0000000..2f4bcbb --- /dev/null +++ b/share/extensions/tests/test_dxf_input.py @@ -0,0 +1,71 @@ +# coding=utf-8 + +from dxf_input import DxfInput + +from inkex.tester import ComparisonMixin, TestCase +from inkex.tester.filters import CompareNumericFuzzy + + +class TestDxfInputBasic(ComparisonMixin, TestCase): + compare_file = [ + "io/test_r12.dxf", + "io/test_r14.dxf", + # Unit test for https://gitlab.com/inkscape/extensions/-/issues/355 + "io/dxf_with_arc.dxf", + # test polylines + "io/dxf_polylines.dxf", + # File missing a BLOCKS session + "io/no_block_section.dxf", + # test placement of graphical objects from BLOCKS section + # ellipses currently are too large + "io/dxf_multiple_inserts.dxf", + # test correct colors generated + # currently BYLAYER and BYBLOCK colors in inserted block are wrong + "io/color.dxf", + ] + compare_filters = [CompareNumericFuzzy()] + comparisons = [()] + effect_class = DxfInput + + def _apply_compare_filters(self, data, is_saving=None): + """Remove the full pathnames""" + if is_saving is True: + return data + data = super()._apply_compare_filters(data) + return data.replace((self.datadir() + "/").encode("utf-8"), b"") + + +class TestDxfInputBasicError(ComparisonMixin, TestCase): + TestCase.stderr_protect = False + # sample uses POLYLINE,TEXT (R12), LWPOLYLINE,MTEXT (R13, R14) + # however has warnings when handling points with a display mode + compare_file = [ + "io/test2_r12.dxf", + "io/test2_r13.dxf", + "io/test2_r14.dxf", + "io/test_extrude.dxf", + ] + compare_filters = [CompareNumericFuzzy()] + comparisons = [()] + effect_class = DxfInput + + def _apply_compare_filters(self, data, is_saving=None): + """Remove the full pathnames""" + if is_saving is True: + return data + data = super()._apply_compare_filters(data) + return data.replace((self.datadir() + "/").encode("utf-8"), b"") + + +class TestDxfInputTextHeight(ComparisonMixin, TestCase): + compare_file = ["io/CADTextHeight.dxf"] + compare_filters = [CompareNumericFuzzy()] + comparisons = [(), ("--textscale=1.411",)] + effect_class = DxfInput + + def _apply_compare_filters(self, data, is_saving=None): + """Remove the full pathnames""" + if is_saving is True: + return data + data = super()._apply_compare_filters(data) + return data.replace((self.datadir() + "/").encode("utf-8"), b"") |