From 4ffb22e7f69f1c9c79b095d4e60bad3d97aac55b Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 18 Jun 2026 07:45:37 +0300 Subject: ik0 replace test seams with dependency injection --- internal/tmuxedit/pane_test.go | 40 +++++++++++++++------------------------- 1 file changed, 15 insertions(+), 25 deletions(-) (limited to 'internal/tmuxedit/pane_test.go') 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") } -- cgit v1.2.3