Files
metro-puzzle-jp/internal/game/text_test.go
claude f0a0bc1522
All checks were successful
release / build-release (push) Successful in 1m40s
M13: titelskärm, språkval, tutorial, tips och pausmeny
Björns feedback efter v0.1.0. Titelskärm med premissen i text och menyn
Fortsätt/Starta, Tutorial, Inställningar, Avsluta (Enter två gånger);
språkval första gången spelet startar. Tutorial i fem sidor med riktiga
sprites och en exempelskylt där resmålet markeras och resten tonas ned,
plus nyckeln 番線/方面/改札 och biljettipset. Kontextuella tips i spelet
tills första banan är klarad, och resmålets tecken markeras på skyltar
och avgångstavlor under tiden. Esc i en bana öppnar en pausmeny
(Fortsätt, Lämna banan, Inställningar, Avsluta spelet) i stället för att
lämna banan; Esc på bankartan går till titeln. Kortare lägestexter så att
bankartans rader ryms på svenska. Test för markeringen, docs, wiki och
skärmdumpar.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-25 17:13:32 +01:00

17 lines
660 B
Go

package game
import "testing"
func TestHighlightDestination(t *testing.T) {
l := highlightLine("14番線 山手線 渋谷方面 → 南東", "渋谷", colGood, colDim)
if len(l) != 3 || l[0].text != "14番線 山手線 " || l[1].text != "渋谷" || l[1].col != colGood || l[2].col != colDim {
t.Fatalf("spans = %+v", l)
}
if l := highlightLine("渋谷 渋谷", "渋谷", colGood, colDim); len(l) != 3 || l[0].col != colGood || l[2].col != colGood {
t.Fatalf("flera träffar: %+v", l)
}
if l := highlightLine("東京方面", "渋谷", colGood, colDim); len(l) != 1 || l[0].col != colDim {
t.Fatalf("ingen träff: allt nedtonat, fick %+v", l)
}
}