Files
text_shark/internal/runner/fd_test.go
T
2026-06-03 15:49:54 -05:00

54 lines
1.2 KiB
Go

package runner
import (
"path/filepath"
"sort"
"testing"
)
func TestFdListFiles(t *testing.T) {
dir := t.TempDir()
writeTempFile(t, dir, "foo_old.txt", "")
writeTempFile(t, dir, "foo_backup.txt", "")
writeTempFile(t, dir, "keep.txt", "")
files, err := FdListFiles("foo", dir)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
if len(files) != 2 {
t.Fatalf("want 2 files, got %d: %v", len(files), files)
}
sort.Strings(files)
if filepath.Base(files[0]) != "foo_backup.txt" || filepath.Base(files[1]) != "foo_old.txt" {
t.Errorf("unexpected files: %v", files)
}
}
func TestFdListFiles_NoMatches(t *testing.T) {
dir := t.TempDir()
writeTempFile(t, dir, "keep.txt", "")
files, err := FdListFiles("no_match_pattern_xyz", dir)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
if len(files) != 0 {
t.Errorf("want 0 files, got %v", files)
}
}
func TestFdListFiles_TypeFilter(t *testing.T) {
dir := t.TempDir()
writeTempFile(t, dir, "foo_file.txt", "")
// With --type f should find the file
files, err := FdListFiles("foo", dir, "--type", "f")
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
if len(files) != 1 || filepath.Base(files[0]) != "foo_file.txt" {
t.Errorf("want [foo_file.txt], got %v", files)
}
}