...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package fileutil
16
17 import (
18 "io/ioutil"
19 "os"
20 "path/filepath"
21 "reflect"
22 "testing"
23 )
24
25 func TestReadDir(t *testing.T) {
26 tmpdir, err := ioutil.TempDir("", "")
27 defer os.RemoveAll(tmpdir)
28 if err != nil {
29 t.Fatalf("unexpected ioutil.TempDir error: %v", err)
30 }
31
32 files := []string{"def", "abc", "xyz", "ghi"}
33 for _, f := range files {
34 writeFunc(t, filepath.Join(tmpdir, f))
35 }
36 fs, err := ReadDir(tmpdir)
37 if err != nil {
38 t.Fatalf("error calling ReadDir: %v", err)
39 }
40 wfs := []string{"abc", "def", "ghi", "xyz"}
41 if !reflect.DeepEqual(fs, wfs) {
42 t.Fatalf("ReadDir: got %v, want %v", fs, wfs)
43 }
44
45 files = []string{"def.wal", "abc.wal", "xyz.wal", "ghi.wal"}
46 for _, f := range files {
47 writeFunc(t, filepath.Join(tmpdir, f))
48 }
49 fs, err = ReadDir(tmpdir, WithExt(".wal"))
50 if err != nil {
51 t.Fatalf("error calling ReadDir: %v", err)
52 }
53 wfs = []string{"abc.wal", "def.wal", "ghi.wal", "xyz.wal"}
54 if !reflect.DeepEqual(fs, wfs) {
55 t.Fatalf("ReadDir: got %v, want %v", fs, wfs)
56 }
57 }
58
59 func writeFunc(t *testing.T, path string) {
60 fh, err := os.Create(path)
61 if err != nil {
62 t.Fatalf("error creating file: %v", err)
63 }
64 if err = fh.Close(); err != nil {
65 t.Fatalf("error closing file: %v", err)
66 }
67 }
68
View as plain text