be93859645
_match_value gibt genau den gematchten Bereich zurück (nur die E-Mail unter Email, nur die USt-IdNr, nur die Telefonnummer) — nicht mehr ein Fenster/den umgebenden Satz. Behebt die Wiederholung desselben Anfangssatzes bei Texten ohne Zeilenumbrüche (BMW = ein Block). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
23 lines
874 B
Python
23 lines
874 B
Python
"""_match_value — exakter Beleg-Wert pro Pflichtangabe.
|
|
|
|
Die Pflichtangaben-Tabelle soll GENAU den Treffer zeigen (nur die E-Mail unter
|
|
Email, nur die Anschrift unter Anschrift) — nicht die umgebende Textpassage.
|
|
Regression: bei Impressum-Texten ohne Zeilenumbrüche (z.B. BMW als ein Block)
|
|
wurde vorher für jede MC derselbe Anfangssatz / ein breites Fenster gezeigt.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from compliance.services.specialist_agents.impressum.agent import _match_value
|
|
|
|
|
|
def test_match_value_is_exact_not_context():
|
|
text = "X" * 200 + "kontakt@bmw.de" + "Y" * 200
|
|
s = text.index("kontakt@bmw.de")
|
|
assert _match_value(text, s, s + len("kontakt@bmw.de")) == "kontakt@bmw.de"
|
|
|
|
|
|
def test_match_value_normalizes_whitespace_and_caps():
|
|
assert _match_value("A B\tC", 0, 6) == "A B C"
|
|
assert len(_match_value("z" * 300, 0, 300)) == 120
|