summaryrefslogtreecommitdiff
path: root/internal/tui/eventstream/model_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-02-26 23:08:14 +0200
committerPaul Buetow <paul@buetow.org>2026-02-26 23:08:14 +0200
commitc3106802208b18f78d4ff4b22e1d889ac19f817f (patch)
treec01fe438cf1d0699d7b08b919c3b5494ee18a32f /internal/tui/eventstream/model_test.go
parentdc7478d7dadf544787a9718608f11312bd2ea944 (diff)
tui: add paused stream column selection and split pid/tid
Diffstat (limited to 'internal/tui/eventstream/model_test.go')
-rw-r--r--internal/tui/eventstream/model_test.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/internal/tui/eventstream/model_test.go b/internal/tui/eventstream/model_test.go
index 3dac038..e58144a 100644
--- a/internal/tui/eventstream/model_test.go
+++ b/internal/tui/eventstream/model_test.go
@@ -373,6 +373,47 @@ func TestPausedSelectionMovesAndRecentersWithJKAndArrows(t *testing.T) {
}
}
+func TestPausedSelectionMovesAcrossColumnsWithLeftRightAndHL(t *testing.T) {
+ rb := NewRingBuffer()
+ m := NewModel(rb)
+ m.height = 20
+ pushEvents(rb, 100)
+ m.Refresh()
+
+ if !m.HandleKey("space") {
+ t.Fatalf("space should toggle pause")
+ }
+ startCol := m.selectedCol
+ startRow := m.selectedIdx
+
+ if !m.HandleKey("right") {
+ t.Fatalf("right should be handled while paused")
+ }
+ if m.selectedCol != startCol+1 {
+ t.Fatalf("expected selected col +1 after right, got %d->%d", startCol, m.selectedCol)
+ }
+ if m.selectedIdx != startRow {
+ t.Fatalf("expected selected row unchanged after right, got %d->%d", startRow, m.selectedIdx)
+ }
+
+ if !m.HandleKey("l") {
+ t.Fatalf("l should be handled while paused")
+ }
+ if m.selectedCol != startCol+2 {
+ t.Fatalf("expected selected col +2 after l, got %d", m.selectedCol)
+ }
+
+ if !m.HandleKey("left") {
+ t.Fatalf("left should be handled while paused")
+ }
+ if !m.HandleKey("h") {
+ t.Fatalf("h should be handled while paused")
+ }
+ if m.selectedCol != startCol {
+ t.Fatalf("expected selected col back to start, got %d", m.selectedCol)
+ }
+}
+
func TestPausedEnterOpensFDTraceViewScopedByPIDAndFD(t *testing.T) {
rb := NewRingBuffer()
rb.Push(StreamEvent{Seq: 1, PID: 10, TID: 101, FD: 3, Syscall: "read", FileName: "/a"})