From dcf4f7f7ec8a3a51363ba5e411cc93f347065d4d Mon Sep 17 00:00:00 2001
From: Christoph Alt <christoph.alt@fau.de>
Date: Tue, 7 Jan 2025 15:21:51 +0100
Subject: [PATCH] HeaderFile.parse now removes a leading and a trailing " if it
 gets a string alreading containing the parentheses

---
 src/pystencilssfg/lang/headers.py |  3 +++
 tests/lang/test_headers.py        | 13 +++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 tests/lang/test_headers.py

diff --git a/src/pystencilssfg/lang/headers.py b/src/pystencilssfg/lang/headers.py
index fdb8f17..550dd4d 100644
--- a/src/pystencilssfg/lang/headers.py
+++ b/src/pystencilssfg/lang/headers.py
@@ -24,6 +24,9 @@ class HeaderFile:
             return header
 
         system_header = False
+        if header.startswith('"') and header.endswith('"'):
+            header = header[1:-1]
+
         if header.startswith("<") and header.endswith(">"):
             header = header[1:-1]
             system_header = True
diff --git a/tests/lang/test_headers.py b/tests/lang/test_headers.py
new file mode 100644
index 0000000..3eaf040
--- /dev/null
+++ b/tests/lang/test_headers.py
@@ -0,0 +1,13 @@
+from pystencilssfg.lang import HeaderFile
+import pytest
+
+
+def test_parse_system():
+    headerfile = HeaderFile.parse("<test>")
+    assert str(headerfile) == "<test>" and headerfile.system_header
+
+
+@pytest.mark.parametrize("header_string", ["test.hpp", '"test.hpp"'])
+def test_parse_private(header_string):
+    headerfile = HeaderFile.parse(header_string)
+    assert str(headerfile) == "test.hpp" and not headerfile.system_header
-- 
GitLab