From 22f1589e62aeafed805b8dd07d4610b7662f205e Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 25 Feb 2026 08:55:58 +0200 Subject: Polish stream filter UX and expand TUI viewport --- internal/tui/eventstream/model_test.go | 48 ++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'internal/tui/eventstream/model_test.go') diff --git a/internal/tui/eventstream/model_test.go b/internal/tui/eventstream/model_test.go index 69369d8..937bb33 100644 --- a/internal/tui/eventstream/model_test.go +++ b/internal/tui/eventstream/model_test.go @@ -122,3 +122,51 @@ func TestModelHandleKeyRouting(t *testing.T) { t.Fatalf("modal should close on esc") } } + +func TestFilterModalTemporarilyPausesAndRestoresState(t *testing.T) { + rb := NewRingBuffer() + m := NewModel(rb) + m.height = 20 + pushEvents(rb, 4) + m.Refresh() + + if m.paused { + t.Fatalf("expected model to start unpaused") + } + if !m.HandleKey("f") { + t.Fatalf("f should be handled") + } + if !m.paused { + t.Fatalf("expected model paused while filter modal is open") + } + if !m.filterModal.Visible() { + t.Fatalf("expected filter modal visible after f") + } + if !m.HandleKey("esc") { + t.Fatalf("esc should be routed to filter modal") + } + if m.filterModal.Visible() { + t.Fatalf("expected filter modal closed after esc") + } + if m.paused { + t.Fatalf("expected pause state restored to unpaused after modal close") + } + + // If the user was already paused before opening the filter modal, + // that pause state should remain after closing. + if !m.HandleKey("space") { + t.Fatalf("space should toggle pause") + } + if !m.paused { + t.Fatalf("expected paused=true after space") + } + if !m.HandleKey("f") { + t.Fatalf("f should be handled while paused") + } + if !m.HandleKey("esc") { + t.Fatalf("esc should close modal") + } + if !m.paused { + t.Fatalf("expected paused state preserved after modal close") + } +} -- cgit v1.2.3