aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/eu/mulk/aendggner/EndToEndTest.java5
-rw-r--r--src/test/java/eu/mulk/aendggner/aenderung/parse/TextBereinigerTest.java21
2 files changed, 26 insertions, 0 deletions
diff --git a/src/test/java/eu/mulk/aendggner/EndToEndTest.java b/src/test/java/eu/mulk/aendggner/EndToEndTest.java
index d4b0b17..a395fa1 100644
--- a/src/test/java/eu/mulk/aendggner/EndToEndTest.java
+++ b/src/test/java/eu/mulk/aendggner/EndToEndTest.java
@@ -84,6 +84,11 @@ class EndToEndTest {
assertThat(text).doesNotContain("Dieses Gesetz dient der Umsetzung der Richtlinie (EU)");
assertThat(text).contains("wird wie folgt geändert");
+ // Regression: Stichwort/Definition-Umbruch im Anhang darf nicht ohne Leerzeichen verklebt
+ // werden (kurze Stichwort-Zeile vor hängend eingerückter Definition, kein Wort wird getrennt).
+ assertThat(text).contains("Nachhaltigkeitssiegels\ndas Anbringen");
+ assertThat(text).doesNotContain("Nachhaltigkeitssiegelsdas");
+
var parseErgebnis = new AenderungsgesetzParser().parse(text, gesetz, null);
assertThat(parseErgebnis.artikel()).containsExactly("1");
assertThat(parseErgebnis.befehle().size()).isGreaterThanOrEqualTo(10);
diff --git a/src/test/java/eu/mulk/aendggner/aenderung/parse/TextBereinigerTest.java b/src/test/java/eu/mulk/aendggner/aenderung/parse/TextBereinigerTest.java
index 98dc1d3..4ca86cf 100644
--- a/src/test/java/eu/mulk/aendggner/aenderung/parse/TextBereinigerTest.java
+++ b/src/test/java/eu/mulk/aendggner/aenderung/parse/TextBereinigerTest.java
@@ -100,6 +100,27 @@ class TextBereinigerTest {
}
@Test
+ void ziehtMarkerlosNichtBeiKurzemStichwortVorEingerueckterDefinitionZusammen() {
+ // Definitionslisten-Muster (neues BGBl-Format, „2a. …Siegel“ + hängend eingerückte
+ // Definition): die Stichwort-Zeile endet ohne Trailing-Space, ist aber deutlich kürzer als
+ // die umgebenden Volltextzeilen — kein Wort wird getrennt, der Umbruch ist bewusst.
+ var roh =
+ "1. „Betriebsstoff“ jeder Bestandteil einer Ware, der wiederholt verbraucht wird und ersetzt"
+ + " oder aufgefüllt werden muss, damit die Ware ordnungsgemäß funktioniert. \n"
+ + "2. „Haltbarkeit“ die Fähigkeit der Waren, ihre erforderlichen Funktionen und ihre"
+ + " Leistung bei normaler Verwendung über einen längeren Zeitraum zu bewahren. \n"
+ + "3. „Zertifizierungssystem“ ein System der Überprüfung durch Dritte, durch das"
+ + " bestätigt wird, dass ein Produkt bestimmten Anforderungen entspricht. \n"
+ + "2a. unzulässiges Anbringen eines Nachhaltigkeitssiegels\n"
+ + "das Anbringen eines Nachhaltigkeitssiegels, das weder auf einem Zertifizierungssystem"
+ + " beruht noch von \n"
+ + "staatlichen Stellen festgesetzt wurde;";
+
+ assertThat(TextBereiniger.bereinige(roh))
+ .contains("Nachhaltigkeitssiegels\ndas Anbringen eines Nachhaltigkeitssiegels");
+ }
+
+ @Test
void repariertInvertierteZitatzeichenAnAbsatzmarkern() {
// BMJV-Vorlagen zeichnen das hängende „ nach dem Absatzmarker bzw. der Paragraphenangabe.
assertThat(TextBereiniger.bereinige("(1) „ Ungeachtet des § 8 gilt.“"))