// Byte-bound eviction protects long TUI transcripts beyond practical daemon E2E history. package tui import ( "strings" "testing" ) func TestBoundedHistory_ByteLimit(t *testing.T) { h := NewBoundedHistory(100, 500) for range 10 { h.Append(HistoryEntry{ Kind: EntryAssistant, Text: strings.Repeat("x", 100), }) } if h.TotalBytes() > 500 { t.Fatalf("expected total bytes <= 500, got %d", h.TotalBytes()) } if h.EvictedCount() == 0 { t.Fatalf("expected evictions due to byte limit") } if h.EvictedBytes() == 0 { t.Fatalf("expected non-zero evicted bytes") } }