package utils
import (
"os"
"path/filepath"
"testing"
)
func TestFindFiles(t *testing.T) {
dir := t.TempDir()
os.WriteFile(filepath.Join(dir, "1.wav"), []byte("data"), 0644)
os.WriteFile(filepath.Join(dir, "2.WAV"), []byte("data"), 0644)
os.WriteFile(filepath.Join(dir, ".hidden.wav"), []byte("data"), 0644)
os.WriteFile(filepath.Join(dir, "1.txt"), []byte("data"), 0644)
subDir := filepath.Join(dir, "sub")
os.Mkdir(subDir, 0755)
os.WriteFile(filepath.Join(subDir, "3.wav"), []byte("data"), 0644)
clipsDir := filepath.Join(dir, "Clips_1")
os.Mkdir(clipsDir, 0755)
os.WriteFile(filepath.Join(clipsDir, "4.wav"), []byte("data"), 0644)
opts := FindFilesOptions{
Extension: ".wav",
Recursive: true,
SkipHidden: true,
SkipPrefixes: []string{"Clips_"},
MinSize: 1,
}
files, err := FindFiles(dir, opts)
if err != nil {
t.Fatal(err)
}
if len(files) != 3 { t.Errorf("expected 3 files, got %d", len(files))
}
}