mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-16 00:52:40 +00:00
Adv 2.0 D&D Phase 11 D10: ASCII !zone map renderer
Replace the flat numbered list in !zone map with a horizontal ASCII layout — room glyphs joined by ── on top, status markers (✓/▶/·) underneath, plus a one-line legend. Closes the "ASCII !map renderer" sub-item of D6 polish from gogobee_dungeon_zones.md §8. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -375,3 +375,19 @@ func TestTauntComplimentResponseLines_Deterministic(t *testing.T) {
|
||||
t.Errorf("taunt and compliment shouldn't collide on same key: %q", t1)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRenderZoneMap_LayoutAndMarkers(t *testing.T) {
|
||||
seq := []RoomType{RoomEntry, RoomExploration, RoomTrap, RoomElite, RoomBoss}
|
||||
cleared := map[int]bool{0: true, 1: true}
|
||||
got := renderZoneMap(seq, 2, cleared)
|
||||
want := "E──?──T──★──☠\n✓ ✓ ▶ · ·"
|
||||
if got != want {
|
||||
t.Errorf("renderZoneMap mismatch:\n got: %q\nwant: %q", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRenderZoneMap_Empty(t *testing.T) {
|
||||
if got := renderZoneMap(nil, 0, nil); got != "(no rooms)" {
|
||||
t.Errorf("empty seq: got %q", got)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user