417cf30a9c
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>
46 lines
1.2 KiB
GDScript
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)
|