1.3 KiB
1.3 KiB
MODIFIED Requirements
Requirement: Zonenermittlung mit Rückfallebene
Die Laufzeit SHALL die Zeitzone des Rechners über die Betriebssystemeinstellung bestimmen. Lässt sie sich nicht ermitteln, SHALL UTC gelten und das Programm ohne Fehler weiterlaufen. Ob die Rückfallebene greift, MUST für ein Programm erkennbar sein und in docs/sprachreferenz.md beschrieben stehen; ein stiller Wechsel auf UTC MUST NOT vorkommen.
Die parameterlose INTEGER-Funktion TIMEZONEKNOWN SHALL -1 für eine ermittelte Systemzone und 0 für den UTC-Rückfall liefern. Auch eine nach Programmstart scheiternde Zonenermittlung SHALL diesen Zustand sichtbar ändern; die Abfrage SHALL keine Zeitzone oder Systemuhr verstellen.
Scenario: Zone nicht ermittelbar
- WHEN die Zeitzone des Rechners nicht bestimmt werden kann
- THEN rechnen die Zeitfunktionen in UTC und das Programm läuft ohne Fehler weiter
Scenario: Rückfallebene ist erkennbar
- WHEN ein Programm den Zonenzustand abfragt
- THEN unterscheidet die Antwort erkennbar zwischen ermittelter Zone und Rückfall auf UTC
Scenario: Rückfall nach Programmstart
- WHEN zunächst eine Zone ermittelt wurde, eine spätere Ermittlung aber scheitert
- THEN verwenden die Zeitfunktionen UTC und TIMEZONEKNOWN liefert 0