tmux_popup/main_test.go

51 lines
1.1 KiB
Go

package main
import (
"bytes"
"os/exec"
"strings"
"testing"
)
func TestOpenPopup(t *testing.T) {
// Mock tmux command for testing
cmd := exec.Command("echo", "mock_session")
output, err := cmd.Output()
if err != nil {
t.Fatalf("Failed to mock tmux command: %v", err)
}
currentSession := strings.TrimSpace(string(output))
if currentSession != "mock_session" {
t.Errorf("Expected mock_session, got %s", currentSession)
}
}
func TestCheckDependencies(t *testing.T) {
// Create a mock dependency list for testing
mockDeps := []string{"echo", "ls"}
for _, dep := range mockDeps {
cmd := exec.Command(dep, "--version")
err := cmd.Run()
if err != nil {
t.Errorf("Dependency %s check failed: %v", dep, err)
}
}
}
func TestRunCmd(t *testing.T) {
var stdout, stderr bytes.Buffer
cmd := exec.Command("echo", "Hello, World!")
cmd.Stdout = &stdout
cmd.Stderr = &stderr
err := cmd.Run()
if err != nil {
t.Fatalf("runCmd failed: %v", err)
}
if stdout.String() != "Hello, World!\n" {
t.Errorf("Expected 'Hello, World!', got %s", stdout.String())
}
}