Fix long answer choice layout

This commit is contained in:
hz
2026-07-30 16:28:44 -05:00
parent be144b272a
commit a08d0d9bf9
2 changed files with 14 additions and 0 deletions
+9
View File
@@ -385,6 +385,7 @@ func _test_timer_text_avoids_redundant_frame_updates() -> void:
func _test_player_runtime_construction() -> void:
var host := Control.new()
host.size = Vector2(1280, 720)
root.add_child(host)
var player = load("res://scripts/ui/question_player.gd").new()
player.main = host
@@ -416,6 +417,14 @@ func _test_player_runtime_construction() -> void:
_assert(player.theme_button.icon in [Brand.SUN_ICON, Brand.MOON_ICON], "question theme toggle should use the shared sun or moon icon")
_assert(player.choice_badges.size() == 5, "question player should construct an answer badge for every visible choice slot")
_assert(player.choice_followup_panels[2].get_parent() == player.choice_rows[2], "distractor remediation should remain nested inside its answer choice")
var long_choice := "Transfer to a neurocritical-care center, use a titratable agent to avoid severe hypertension and blood-pressure variability without causing hypotension, start enteral nimodipine, and secure the aneurysm as early as feasible."
player.choice_buttons[0].text = long_choice
await process_frame
await process_frame
_assert(player.choice_buttons[0].autowrap_mode == TextServer.AUTOWRAP_WORD_SMART, "long answer choices should use word-smart wrapping")
_assert(player.choice_buttons[0].size.y > 68.0, "a wrapped answer choice should grow taller than the standard answer row")
_assert(player.choice_buttons[0].size.x <= player.question_panel.size.x, "long answer choices should not widen the question player")
_assert(player.next_button.get_global_rect().end.x <= player.get_global_rect().end.x + 0.5, "long answer choices should never push Submit beyond the viewport")
var prior_session_kind: String = root.get_node("BlockSessionService").session_kind
for session_kind in ["block", "core", "bookmark", "review", "simulation"]:
root.get_node("BlockSessionService").session_kind = session_kind