diff options
| author | Paul Buetow <paul@buetow.org> | 2026-06-18 07:45:37 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-06-18 07:45:37 +0300 |
| commit | 4ffb22e7f69f1c9c79b095d4e60bad3d97aac55b (patch) | |
| tree | 2dc708cbb95975d34084eb5afd376871caa13e27 /internal/tmuxedit/pane_test.go | |
| parent | ece7dcfd232b780f5650326c8ac2379ca70387d4 (diff) | |
ik0 replace test seams with dependency injection
Diffstat (limited to 'internal/tmuxedit/pane_test.go')
| -rw-r--r-- | internal/tmuxedit/pane_test.go | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/internal/tmuxedit/pane_test.go b/internal/tmuxedit/pane_test.go index 5b6f1b6..d15ef55 100644 --- a/internal/tmuxedit/pane_test.go +++ b/internal/tmuxedit/pane_test.go @@ -6,13 +6,11 @@ import ( ) func TestResolveTargetPane_FlagWins(t *testing.T) { - old := runCommand - defer func() { runCommand = old }() - runCommand = func(string, ...string) ([]byte, error) { + deps := tmuxEditDeps{runCommand: func(string, ...string) ([]byte, error) { return []byte("%99"), nil - } + }} t.Setenv("HEXAI_TMUX_PANE", "%10") - got, err := resolveTargetPane("%5") + got, err := deps.resolveTargetPane("%5") if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -22,13 +20,11 @@ func TestResolveTargetPane_FlagWins(t *testing.T) { } func TestResolveTargetPane_EnvFallback(t *testing.T) { - old := runCommand - defer func() { runCommand = old }() - runCommand = func(string, ...string) ([]byte, error) { + deps := tmuxEditDeps{runCommand: func(string, ...string) ([]byte, error) { return []byte("%99"), nil - } + }} t.Setenv("HEXAI_TMUX_PANE", "%10") - got, err := resolveTargetPane("") + got, err := deps.resolveTargetPane("") if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -38,16 +34,14 @@ func TestResolveTargetPane_EnvFallback(t *testing.T) { } func TestResolveTargetPane_TmuxQuery(t *testing.T) { - old := runCommand - defer func() { runCommand = old }() - runCommand = func(name string, args ...string) ([]byte, error) { + deps := tmuxEditDeps{runCommand: func(name string, args ...string) ([]byte, error) { if name == "tmux" && len(args) > 0 && args[0] == "display-message" { return []byte("%42\n"), nil } return nil, fmt.Errorf("unexpected command: %s", name) - } + }} t.Setenv("HEXAI_TMUX_PANE", "") - got, err := resolveTargetPane("") + got, err := deps.resolveTargetPane("") if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -57,26 +51,22 @@ func TestResolveTargetPane_TmuxQuery(t *testing.T) { } func TestResolveTargetPane_TmuxError(t *testing.T) { - old := runCommand - defer func() { runCommand = old }() - runCommand = func(string, ...string) ([]byte, error) { + deps := tmuxEditDeps{runCommand: func(string, ...string) ([]byte, error) { return nil, fmt.Errorf("tmux not available") - } + }} t.Setenv("HEXAI_TMUX_PANE", "") - _, err := resolveTargetPane("") + _, err := deps.resolveTargetPane("") if err == nil { t.Fatal("expected error when tmux fails") } } func TestResolveTargetPane_TmuxEmptyOutput(t *testing.T) { - old := runCommand - defer func() { runCommand = old }() - runCommand = func(string, ...string) ([]byte, error) { + deps := tmuxEditDeps{runCommand: func(string, ...string) ([]byte, error) { return []byte(" \n"), nil - } + }} t.Setenv("HEXAI_TMUX_PANE", "") - _, err := resolveTargetPane("") + _, err := deps.resolveTargetPane("") if err == nil { t.Fatal("expected error for empty tmux output") } |
