diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-08 11:26:11 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-08 11:26:11 +0200 |
| commit | f903279e8a872cd7c417f2f57bf306bfb3f3cb87 (patch) | |
| tree | 03f68465d68cee8919f45f90c6cbc2ebde2a9b17 /internal/tui/dashboard/model_test.go | |
| parent | 9cbf9ec8e9eac92431b9a742c1b625888cb69dfa (diff) | |
dashboard: clamp icicle selection by rendered tile count
Diffstat (limited to 'internal/tui/dashboard/model_test.go')
| -rw-r--r-- | internal/tui/dashboard/model_test.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/internal/tui/dashboard/model_test.go b/internal/tui/dashboard/model_test.go index 5a3be89..f01a701 100644 --- a/internal/tui/dashboard/model_test.go +++ b/internal/tui/dashboard/model_test.go @@ -492,6 +492,33 @@ func TestTreemapModeUsesJKForSelection(t *testing.T) { } } +func TestFilesIcicleModeSelectionUsesIcicleTileCount(t *testing.T) { + snap := statsengine.NewSnapshot(nil, nil, nil, nil, []statsengine.FileSnapshot{ + {Path: "/a/b/c/file1", Accesses: 9}, + {Path: "/a/d/e/file2", Accesses: 7}, + }, nil, statsengine.HistogramSnapshot{}, statsengine.HistogramSnapshot{}) + m := NewModelWithConfig(nil, nil, 250, common.DefaultKeyMap()) + m.activeTab = TabFiles + m.latest = &snap + m.filesDirGrouped = true + m.filesVizMode = tabVizModeIcicle + m.width = 120 + m.height = 28 + + expectedMax := m.maxFilesDirRowsForMode() + if expectedMax <= m.maxFilesDirRows() { + t.Fatalf("expected icicle tile count to exceed grouped dir count: tiles=%d dirs=%d", expectedMax, m.maxFilesDirRows()) + } + + for i := 0; i < expectedMax+4; i++ { + next, _ := m.Update(tea.KeyPressMsg{Code: []rune{'j'}[0], Text: string([]rune{'j'})}) + m = next.(Model) + } + if m.filesDirOffset != expectedMax-1 { + t.Fatalf("expected icicle selection clamped by tile count to %d, got %d", expectedMax-1, m.filesDirOffset) + } +} + func TestTreemapModeRendersTreemapHeader(t *testing.T) { snap := statsengine.NewSnapshot(nil, nil, nil, []statsengine.SyscallSnapshot{ {Name: "read", Count: 9, Bytes: 512}, |
