From 98b7d0e9a1dd99f5504416693c766938e5ea408b Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 9 Sep 2017 10:26:50 +0200 Subject: [PATCH] Small bugfix and tests added to Gerber reader. --- src/ext/ext/extGerberImporter.cc | 1 + src/ext/ext/extRS274XReader.cc | 5 ++ src/ext/unit_tests/extGerberImport.cc | 70 ++++++++++++++++++++++++++- 3 files changed, 75 insertions(+), 1 deletion(-) diff --git a/src/ext/ext/extGerberImporter.cc b/src/ext/ext/extGerberImporter.cc index b66c5b319..f047354c6 100644 --- a/src/ext/ext/extGerberImporter.cc +++ b/src/ext/ext/extGerberImporter.cc @@ -134,6 +134,7 @@ void GerberFileReader::read (tl::TextInputStream &stream, db::Layout &layout, db::Cell &cell, const std::vector &targets) { GraphicsState state; + state.global_trans = m_global_trans; swap_graphics_state (state); mp_stream = &stream; diff --git a/src/ext/ext/extRS274XReader.cc b/src/ext/ext/extRS274XReader.cc index 2a5b8f0de..e2d2a3adc 100644 --- a/src/ext/ext/extRS274XReader.cc +++ b/src/ext/ext/extRS274XReader.cc @@ -140,6 +140,11 @@ RS274XReader::do_read () read_pf_parameter (get_block ()); } else if (param == "AD") { read_ad_parameter (get_block ()); + } else if (param == "TA" || param == "TD" || param == "TF") { + + // TA, TD and TF paramters are skipped for layout + get_block (); + } else if (param == "AB") { std::string dcode = get_block (); diff --git a/src/ext/unit_tests/extGerberImport.cc b/src/ext/unit_tests/extGerberImport.cc index 65a11a987..f4d60777f 100644 --- a/src/ext/unit_tests/extGerberImport.cc +++ b/src/ext/unit_tests/extGerberImport.cc @@ -180,7 +180,6 @@ TEST(24) TEST(25) { - test_is_long_runner (); run_test (_this, "sr-sample2"); } @@ -190,3 +189,72 @@ TEST(26) run_test (_this, "pos-neg"); } +TEST(X2_1) +{ + run_test (_this, "x2-1"); +} + +TEST(X2_2a) +{ + run_test (_this, "x2-2a"); +} + +TEST(X2_2b) +{ + run_test (_this, "x2-2b"); +} + +TEST(X2_2c) +{ + run_test (_this, "x2-2c"); +} + +TEST(X2_2d) +{ + run_test (_this, "x2-2d"); +} + +TEST(X2_2e) +{ + run_test (_this, "x2-2e"); +} + +TEST(X2_2f) +{ + run_test (_this, "x2-2f"); +} + +TEST(X2_2g) +{ + run_test (_this, "x2-2g"); +} + +TEST(X2_2h) +{ + run_test (_this, "x2-2h"); +} + +TEST(X2_2i) +{ + run_test (_this, "x2-2i"); +} + +TEST(X2_2j) +{ + run_test (_this, "x2-2j"); +} + +TEST(X2_2k) +{ + run_test (_this, "x2-2k"); +} + +TEST(X2_3) +{ + run_test (_this, "x2-3"); +} + +TEST(X2_4) +{ + run_test (_this, "x2-4"); +}