blob: 3ebd05de67fd0b1fc22c11dc3c22e8d718ea2c43 [file] [log] [blame]
package main
import (
"os"
"testing"
)
func TestExpandTilde(t *testing.T) {
homeDir, err := os.UserHomeDir()
if err != nil {
t.Fatalf("Failed to get home directory: %v", err)
}
tests := []struct {
name string
input string
expected string
}{
{"tilde only", "~", homeDir},
{"tilde with path", "~/Documents", homeDir + "/Documents"},
{"no tilde", "/absolute/path", "/absolute/path"},
{"tilde in middle", "/path/~/middle", "/path/~/middle"},
{"relative path", "relative/path", "relative/path"},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
result, err := expandTilde(tt.input)
if err != nil {
t.Errorf("expandTilde(%q) returned error: %v", tt.input, err)
}
if result != tt.expected {
t.Errorf("expandTilde(%q) = %q, want %q", tt.input, result, tt.expected)
}
})
}
}