diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-21 10:12:20 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-21 10:12:20 +0800 |
| commit | 9df2da41289f4d0852f86e86eae81ca7f7e7b598 (patch) | |
| tree | bca1a071e3369a9e2ebbf5e424da3dd45547f2be /src/LivingVillage.Desktop.Tests/DesktopTests.fs | |
| parent | c932969539b00a42937f0aa5ed1e10b4e94932a3 (diff) | |
| download | living-village-9df2da41289f4d0852f86e86eae81ca7f7e7b598.tar.gz | |
fix(desktop): 修复 HUD 缺字并统一轻量面板与情境提示
字符表扩充至 197 字(补 间/门/谈/体/屋/返/×/,/:等全部 UI 用字),用 Noto Sans CJK 重新生成图集并逐字校验;新增字符表覆盖全部 UI 文案、瞬态状态 2.5 秒过期、对话完成后回到轻量面板等回归测试;户外与室内统一左下角轻量 HUD,互动日志改为短暂反馈;样例脚本保留 E 交谈 提示与对话菜单停留帧。
Diffstat (limited to 'src/LivingVillage.Desktop.Tests/DesktopTests.fs')
| -rw-r--r-- | src/LivingVillage.Desktop.Tests/DesktopTests.fs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/LivingVillage.Desktop.Tests/DesktopTests.fs b/src/LivingVillage.Desktop.Tests/DesktopTests.fs index 667ab69..526d1af 100644 --- a/src/LivingVillage.Desktop.Tests/DesktopTests.fs +++ b/src/LivingVillage.Desktop.Tests/DesktopTests.fs @@ -53,6 +53,23 @@ type DesktopTests () = Assert.IsTrue(observationView.Observations |> List.exists (fun observation -> observation.Id = NpcId 0)) [<TestMethod>] + member _.DialogueAndOverlayViewsRejectWorldCommandsUntilClosed () = + let world = Sim.initialWorldN 42UL 4 |> Harness.atNpc 0 + let openedWorld, dialogueView = M5Interaction.apply Interact world M5Interaction.initial + let _, afterObserve = M5Interaction.apply Observe openedWorld dialogueView + let _, afterNeeds = M5Interaction.apply ToggleNeeds openedWorld dialogueView + let _, afterChronicle = M5Interaction.apply ShowChronicle openedWorld dialogueView + let _, needsView = M5Interaction.apply ToggleNeeds world M5Interaction.initial + let _, interactionAttempt = M5Interaction.apply Interact world needsView + let _, closedView = M5Interaction.apply ClosePanel world dialogueView + + Assert.AreEqual<M5View>(dialogueView, afterObserve) + Assert.AreEqual<M5View>(dialogueView, afterNeeds) + Assert.AreEqual<M5View>(dialogueView, afterChronicle) + Assert.AreEqual<M5Panel>(NeedsPanel, interactionAttempt.Panel) + Assert.AreEqual<M5Panel>(WorldPanel, closedView.Panel) + + [<TestMethod>] member _.HeadlessSmokeProvesTheThreeHopCausalChain () = let result = Program.M5Smoke.run () |
