Buttons get 12 px of side padding. The top bar buttons, the quiz toolbar and Show answer/Next are laid out in rows with 12 px gaps and are all 36 px tall, and the ±1 buttons use a compact StepButton style. "Randomize new track" is now "Next song". Player rows show the name and the score apart, alternate like the other lists and highlight the character under the mouse. The name field is a LineEdit with a 10-letter limit; blank and duplicate names are refused, and a full list says "Up to 7 players". Remove buttons update when editing is switched instead of every frame, and the spacer panels are gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
66 lines
1.7 KiB
GDScript
66 lines
1.7 KiB
GDScript
extends MainWindowTestSuite
|
|
## Winning turns statistics off until a new game starts.
|
|
|
|
var _crono: PlayerObject
|
|
|
|
|
|
func before_test() -> void:
|
|
await super()
|
|
_crono = _add_player("Crono")
|
|
await _play_first_song()
|
|
Settings.winning_score = 1
|
|
|
|
|
|
func _stats_checkbox() -> CheckButton:
|
|
return _window.get_node("SettingsPopup").get_node("%AddToDatabaseCheckButton")
|
|
|
|
|
|
func test_winning_turns_statistics_off() -> void:
|
|
await _give_point_with_keybind(1)
|
|
|
|
assert_bool(Settings.add_to_stats).is_false()
|
|
|
|
|
|
func test_resetting_points_turns_statistics_back_on() -> void:
|
|
await _give_point_with_keybind(1)
|
|
|
|
_press("QuizToolbar/ResetPointsButton")
|
|
|
|
assert_bool(Settings.add_to_stats).is_true()
|
|
|
|
|
|
func test_statistics_turned_off_by_hand_stay_off_after_reset() -> void:
|
|
Settings.add_to_stats = false
|
|
await _give_point_with_keybind(1)
|
|
|
|
_press("QuizToolbar/ResetPointsButton")
|
|
|
|
assert_bool(Settings.add_to_stats).is_false()
|
|
|
|
|
|
func test_settings_checkbox_shows_statistics_off_after_win() -> void:
|
|
await _give_point_with_keybind(1)
|
|
|
|
(_window.get_node("SettingsPopup") as SettingsPopup).open()
|
|
|
|
assert_bool(_stats_checkbox().button_pressed).is_false()
|
|
|
|
|
|
func test_songs_after_a_win_are_not_counted() -> void:
|
|
await _give_point_with_keybind(1)
|
|
var played_before: int = _server.count("/music/played?song=0")
|
|
|
|
_press("SongControls/ShowAnswerButton")
|
|
|
|
assert_int(_server.count("/music/played?song=0")).is_equal(played_before)
|
|
|
|
|
|
func test_winning_score_cannot_go_below_one() -> void:
|
|
_press("QuizSettingsButton")
|
|
var lower_button: Button = _quiz.get_node("QuizSettingsCard").get_node("%LowerButton")
|
|
|
|
for i: int in 3:
|
|
lower_button.pressed.emit()
|
|
|
|
assert_int(Settings.winning_score).is_equal(1)
|