From 32d78fdbe122d588d51cfa63aa9b25549fed751e600b1dce9f9bcac31a1feb00 Mon Sep 17 00:00:00 2001
From: wlfb
Date: Mon, 28 Sep 2026 19:07:31 +0200
Subject: [PATCH] fix: German quote style U+201C instead of U+201D (A11-T1)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Corrected closing quotation mark in hx-confirm attribute and test assertions
from U+201D (RIGHT DOUBLE QUOTATION MARK) to U+201C (LEFT DOUBLE QUOTATION
MARK), matching German typographic convention („...") and house style (line 114).
Changes by code point:
- finance/app/templates/szenarien.html line 17: 1 × U+201D → U+201C
- finance/tests/test_gui.py lines 501, 521: 2 × U+201D → U+201C
Template lines 17 and 114 now have identical quote code points: U+201E...U+201C.
Co-Authored-By: Claude Opus 5.5 (1M context)
---
finance/app/templates/szenarien.html | 2 +-
finance/tests/test_gui.py | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/finance/app/templates/szenarien.html b/finance/app/templates/szenarien.html
index 5afedb7..84546be 100644
--- a/finance/app/templates/szenarien.html
+++ b/finance/app/templates/szenarien.html
@@ -14,7 +14,7 @@
· Einmalposten: {{ 'ja' if sc.include_planned else 'nein' }}
diff --git a/finance/tests/test_gui.py b/finance/tests/test_gui.py
index c284ae9..e5d4e88 100644
--- a/finance/tests/test_gui.py
+++ b/finance/tests/test_gui.py
@@ -498,7 +498,7 @@ def test_szenarien_seite_hat_loeschen_button(client, db):
# Verify delete button is present
assert f'hx-delete="/api/scenarios/{sc.id}"' in r.text
# Verify the full confirmation text in the page (brief requirement)
- assert 'Szenario „Wegwerf” mit allen Einträgen wirklich löschen?' in r.text
+ assert 'Szenario „Wegwerf“ mit allen Einträgen wirklich löschen?' in r.text
# Parse HTML to verify the hx-confirm attribute has correct value with proper quotes
class ButtonParser(HTMLParser):
@@ -518,7 +518,7 @@ def test_szenarien_seite_hat_loeschen_button(client, db):
parser.feed(r.text)
assert parser.found_delete_button, "Delete button not found"
# Verify the attribute value uses correct typographic quotes
- expected_confirm = 'Szenario „Wegwerf” mit allen Einträgen wirklich löschen?'
+ expected_confirm = 'Szenario „Wegwerf“ mit allen Einträgen wirklich löschen?'
assert parser.hx_confirm_value == expected_confirm, \
f"hx-confirm attribute mismatch: got {repr(parser.hx_confirm_value)}, expected {repr(expected_confirm)}"