51 lines
1.1 KiB
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())
|
|
}
|
|
}
|