Files
Grovewright/game/tests/test_hud.gd
T
Steven Wroblewski 417cf30a9c Nachbesserungen aus der Gesamtprüfung von M1d
Das Lebensmoos bekommt links und rechts Platz für seinen Umriss, der
bei zwei von drei Formen abgeschnitten war; die Bilder der Vitrine sind
neu aufgenommen. Die Pausenanzeige kehrt zurück, wenn eine Meldung
während der Pause abläuft. Ein Test prüft die Splitter fremder
Schläge, und der Test ohne Bilderordner hängt nicht mehr davon ab, was
in res://art liegt. Der Fragebogen nennt die Felsproben und sagt, was
sofort kommt und was erst mit der Antwort des Hosts.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-02 14:36:43 +02:00

46 lines
1.2 KiB
GDScript

extends TestCase
func _hud() -> Hud:
I18n.install()
var hud := Hud.new()
tree.root.add_child(hud)
return hud
func _free(hud: Hud) -> void:
tree.root.remove_child(hud)
hud.free()
func test_a_message_can_carry_values() -> void:
var hud := _hud()
hud.flash("PLAYER_JOINED", ["Grace"])
check_eq(hud.message(), tr("PLAYER_JOINED") % "Grace", "the name is filled in")
hud.flash("SAVED")
check_eq(hud.message(), tr("SAVED"), "a message without values")
_free(hud)
func test_the_status_line_stays_until_it_is_replaced() -> void:
var hud := _hud()
hud.show_status(tr("STATUS_HOST") % [24680, 2])
hud.flash("SAVED")
hud._process(10.0)
check_eq(hud.message(), "", "the message is gone after a while")
check_eq(hud.status_text(), tr("STATUS_HOST") % [24680, 2], "the status line is not")
_free(hud)
func test_the_pause_notice_returns_after_a_message() -> void:
var hud := _hud()
hud.show_paused(true)
hud.flash("STYLE_SWITCHED", [tr("STYLE_PASTEL")])
hud._process(Hud.MESSAGE_SECONDS + 0.1)
check_eq(hud.message(), tr("PAUSED"), "still paused, the notice is back")
hud.show_paused(false)
hud.flash("SAVED")
hud._process(Hud.MESSAGE_SECONDS + 0.1)
check_eq(hud.message(), "", "without a pause the message just goes")
_free(hud)