9f65823f2d
Das Startmenü führt zu einer Vitrine, die den gewählten Stil an einer kleinen Szene zeigt: Fels, toter und lebendiger Boden, Lebensmoos, eine Ranke, die Steine in eine erwachende Ruine trägt, eine wachsende Faserpflanze, ein hüpfendes Weidetier und zwei Spielfiguren. Knöpfe, die Tasten 1 bis 3 und F2 wechseln den Stil, Esc führt zurück ins Menü. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
48 lines
1.5 KiB
GDScript
48 lines
1.5 KiB
GDScript
extends TestCase
|
|
|
|
|
|
func _menu() -> Menu:
|
|
I18n.install()
|
|
var menu := Menu.new()
|
|
tree.root.add_child(menu)
|
|
return menu
|
|
|
|
|
|
func _free(menu: Menu) -> void:
|
|
tree.root.remove_child(menu)
|
|
menu.free()
|
|
|
|
|
|
func test_the_buttons_say_what_the_player_chose() -> void:
|
|
var menu := _menu()
|
|
var chosen: Array = []
|
|
menu.play_chosen.connect(func(open: bool) -> void: chosen.append(["play", open]))
|
|
menu.join_chosen.connect(func(address: String) -> void: chosen.append(["join", address]))
|
|
menu.address_field.text = " 192.168.178.20:25000 "
|
|
menu.solo_button.pressed.emit()
|
|
menu.host_button.pressed.emit()
|
|
menu.join_button.pressed.emit()
|
|
menu.address_field.text_submitted.emit(menu.address_field.text)
|
|
check_eq(chosen, [["play", false], ["play", true], ["join", "192.168.178.20:25000"], ["join", "192.168.178.20:25000"]], "in order")
|
|
_free(menu)
|
|
|
|
|
|
func test_the_name_and_the_status_line() -> void:
|
|
var menu := _menu()
|
|
menu.name_field.text = " Ada "
|
|
check_eq(menu.player_name(), "Ada", "without the spaces around it")
|
|
menu.show_status("Verbinde …")
|
|
check_eq(menu.status(), "Verbinde …", "the status is shown")
|
|
check_eq(menu.solo_button.text, tr("MENU_SOLO"), "the labels come from the texts")
|
|
_free(menu)
|
|
|
|
|
|
func test_the_way_to_the_style_samples() -> void:
|
|
var menu := _menu()
|
|
var chosen := [0]
|
|
menu.showcase_chosen.connect(func() -> void: chosen[0] += 1)
|
|
check_eq(menu.showcase_button.text, tr("MENU_SHOWCASE"), "the button says where it leads")
|
|
menu.showcase_button.pressed.emit()
|
|
check_eq(chosen[0], 1, "it asks for the samples")
|
|
_free(menu)
|