update
This commit is contained in:
@@ -3,6 +3,9 @@ from parser import zerlege
|
||||
VOLL = """<!-- titel -->
|
||||
Login
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Nutzer können sich anmelden.
|
||||
----------------------------------------
|
||||
@@ -12,33 +15,32 @@ Anmeldung mit E-Mail
|
||||
Passwort nie loggen
|
||||
<!-- regel -->
|
||||
Sperre nach 5 Fehlversuchen
|
||||
<!-- flow -->
|
||||
- Formular öffnen
|
||||
- Daten eingeben
|
||||
<!-- funktion -->
|
||||
Abmeldung
|
||||
----------------------------------------
|
||||
<!-- sonstiges -->
|
||||
Offen: 2FA.
|
||||
"""
|
||||
|
||||
|
||||
def test_alle_sektionen():
|
||||
s = zerlege(VOLL)
|
||||
assert s["titel"] == "Login"
|
||||
assert s["art"] == "kern"
|
||||
assert s["ziel"] == "Nutzer können sich anmelden."
|
||||
assert s["funktionen"] == [
|
||||
{"text": "Anmeldung mit E-Mail", "regeln": ["Passwort nie loggen", "Sperre nach 5 Fehlversuchen"]},
|
||||
{"text": "Abmeldung", "regeln": []},
|
||||
{
|
||||
"text": "Anmeldung mit E-Mail",
|
||||
"regeln": ["Passwort nie loggen", "Sperre nach 5 Fehlversuchen"],
|
||||
"flow": "- Formular öffnen\n- Daten eingeben",
|
||||
},
|
||||
{"text": "Abmeldung", "regeln": [], "flow": ""},
|
||||
]
|
||||
assert s["sonstiges"] == "Offen: 2FA."
|
||||
|
||||
|
||||
def test_funktionen_roh_rekonstruiert_marker():
|
||||
s = zerlege(VOLL)
|
||||
assert s["funktionen_roh"] == (
|
||||
"<!-- funktion -->\nAnmeldung mit E-Mail\n"
|
||||
"<!-- regel -->\nPasswort nie loggen\n"
|
||||
"<!-- regel -->\nSperre nach 5 Fehlversuchen\n"
|
||||
"<!-- funktion -->\nAbmeldung"
|
||||
)
|
||||
def test_mehrere_flow_bloecke_werden_verbunden():
|
||||
s = zerlege("<!-- funktion -->\nX\n<!-- flow -->\n- a\n<!-- flow -->\n- b\n")
|
||||
assert s["funktionen"][0]["flow"] == "- a\n- b"
|
||||
|
||||
|
||||
def test_trenner_zeilen_werden_ignoriert():
|
||||
@@ -57,10 +59,10 @@ def test_unbekannter_marker_landet_in_sonstiges():
|
||||
assert s["sonstiges"] == "Geheim"
|
||||
|
||||
|
||||
def test_regel_ohne_funktion_landet_in_sonstiges():
|
||||
s = zerlege("<!-- regel -->\nverwaist\n")
|
||||
def test_regel_und_flow_ohne_funktion_landen_in_sonstiges():
|
||||
s = zerlege("<!-- regel -->\nverwaist\n<!-- flow -->\n- auch\n")
|
||||
assert s["funktionen"] == []
|
||||
assert s["sonstiges"] == "verwaist"
|
||||
assert s["sonstiges"] == "verwaist\n\n- auch"
|
||||
|
||||
|
||||
def test_doppelter_marker_wird_konkateniert():
|
||||
@@ -70,7 +72,7 @@ def test_doppelter_marker_wird_konkateniert():
|
||||
|
||||
def test_leerer_text():
|
||||
s = zerlege("")
|
||||
assert s == {"titel": "", "art": "kern", "ziel": "", "funktionen": [], "funktionen_roh": "", "sonstiges": ""}
|
||||
assert s == {"titel": "", "art": "kern", "ziel": "", "funktionen": [], "sonstiges": ""}
|
||||
|
||||
|
||||
def test_art_optional():
|
||||
|
||||
Reference in New Issue
Block a user