summaryrefslogtreecommitdiff
path: root/internal/tmuxedit/pane_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-06-18 07:45:37 +0300
committerPaul Buetow <paul@buetow.org>2026-06-18 07:45:37 +0300
commit4ffb22e7f69f1c9c79b095d4e60bad3d97aac55b (patch)
tree2dc708cbb95975d34084eb5afd376871caa13e27 /internal/tmuxedit/pane_test.go
parentece7dcfd232b780f5650326c8ac2379ca70387d4 (diff)
ik0 replace test seams with dependency injection
Diffstat (limited to 'internal/tmuxedit/pane_test.go')
-rw-r--r--internal/tmuxedit/pane_test.go40
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")
}