From f3c95a42d4fe85fa4b64b7ea561f8c7ba2dc91a8 Mon Sep 17 00:00:00 2001 From: jaseg Date: Sun, 8 Mar 2026 13:23:29 +0100 Subject: [PATCH] Fix bug in rs274x Region close Fixes gitlab issue #18 --- src/gerbonara/graphic_objects.py | 2 +- tests/test_primitives.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/gerbonara/graphic_objects.py b/src/gerbonara/graphic_objects.py index 308fc79..056e8cf 100644 --- a/src/gerbonara/graphic_objects.py +++ b/src/gerbonara/graphic_objects.py @@ -323,7 +323,7 @@ class Region(GraphicObject): def close(self): if self.outline and self.outline[-1] != self.outline[0]: - self.outline.append(self.outline[-1]) + self.outline.append(self.outline[0]) if self.arc_centers: self.arc_centers.append((None, (None, None))) diff --git a/tests/test_primitives.py b/tests/test_primitives.py index c1a9c21..020acab 100644 --- a/tests/test_primitives.py +++ b/tests/test_primitives.py @@ -194,3 +194,19 @@ def test_region_arc_segments(start_angle_deg, sweep_angle_deg, tmpfile, img_supp region.arc_centers.append(None) gbr.objects.append(region) + +def test_region_close(): + """ Regression test for gitlab issue #18 """ + + go_region = Region([ + (0, 0), + (100, 0), + (100, 100), + (0, 100), + # (0, 0), # expected + ], + None, + polarity_dark=False, + unit=MM) + assert go_region.outline[-1] == go_region.outline[0] +