54 lines
1.2 KiB
Go
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)
|
|
}
|
|
}
|