Skip to content

Commit 89e8607

Browse files
committed
Added tests
1 parent 86d74cc commit 89e8607

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed

readdir_test.go

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,96 @@ func TestReadDirRecursiveSymLinkLoop(t *testing.T) {
7676
require.Error(t, err)
7777
fmt.Println(err)
7878
require.Nil(t, l)
79+
80+
l, err = tmp.ReadDirRecursiveFiltered(nil)
81+
require.Error(t, err)
82+
fmt.Println(err)
83+
require.Nil(t, l)
84+
}
85+
86+
func TestReadDirRecursiveFiltered(t *testing.T) {
87+
testdata := New("_testdata")
88+
l, err := testdata.ReadDirRecursiveFiltered(nil)
89+
require.NoError(t, err)
90+
l.Sort()
91+
require.Equal(t, []string{
92+
"_testdata/anotherFile",
93+
"_testdata/file",
94+
"_testdata/folder",
95+
"_testdata/folder/.hidden",
96+
"_testdata/folder/file2",
97+
"_testdata/folder/file3",
98+
"_testdata/folder/subfolder",
99+
"_testdata/folder/subfolder/file4",
100+
"_testdata/symlinktofolder",
101+
"_testdata/symlinktofolder/.hidden",
102+
"_testdata/symlinktofolder/file2",
103+
"_testdata/symlinktofolder/file3",
104+
"_testdata/symlinktofolder/subfolder",
105+
"_testdata/symlinktofolder/subfolder/file4",
106+
"_testdata/test.txt",
107+
"_testdata/test.txt.gz"}, l.AsStrings())
108+
109+
l, err = testdata.ReadDirRecursiveFiltered(FilterOutDirectories())
110+
require.NoError(t, err)
111+
l.Sort()
112+
require.Equal(t, []string{
113+
"_testdata/anotherFile",
114+
"_testdata/file",
115+
"_testdata/folder", // <- this is listed but not traversed
116+
// "_testdata/folder/.hidden",
117+
// "_testdata/folder/file2",
118+
// "_testdata/folder/file3",
119+
// "_testdata/folder/subfolder",
120+
// "_testdata/folder/subfolder/file4",
121+
"_testdata/symlinktofolder", // <- this is listed but not traversed
122+
// "_testdata/symlinktofolder/.hidden",
123+
// "_testdata/symlinktofolder/file2",
124+
// "_testdata/symlinktofolder/file3",
125+
// "_testdata/symlinktofolder/subfolder",
126+
// "_testdata/symlinktofolder/subfolder/file4",
127+
"_testdata/test.txt",
128+
"_testdata/test.txt.gz"}, l.AsStrings())
129+
130+
l, err = testdata.ReadDirRecursiveFiltered(nil, FilterOutDirectories())
131+
require.NoError(t, err)
132+
l.Sort()
133+
require.Equal(t, []string{
134+
"_testdata/anotherFile",
135+
"_testdata/file",
136+
// "_testdata/folder", <- this is filtered but still traversed
137+
"_testdata/folder/.hidden",
138+
"_testdata/folder/file2",
139+
"_testdata/folder/file3",
140+
// "_testdata/folder/subfolder", <- this is filtered but still traversed
141+
"_testdata/folder/subfolder/file4",
142+
// "_testdata/symlinktofolder", <- this is filtered but still traversed
143+
"_testdata/symlinktofolder/.hidden",
144+
"_testdata/symlinktofolder/file2",
145+
"_testdata/symlinktofolder/file3",
146+
// "_testdata/symlinktofolder/subfolder", <- this is filtered but still traversed
147+
"_testdata/symlinktofolder/subfolder/file4",
148+
"_testdata/test.txt",
149+
"_testdata/test.txt.gz"}, l.AsStrings())
150+
151+
l, err = testdata.ReadDirRecursiveFiltered(FilterOutDirectories(), FilterOutDirectories())
152+
require.NoError(t, err)
153+
l.Sort()
154+
require.Equal(t, []string{
155+
"_testdata/anotherFile",
156+
"_testdata/file",
157+
// "_testdata/folder",
158+
// "_testdata/folder/.hidden",
159+
// "_testdata/folder/file2",
160+
// "_testdata/folder/file3",
161+
// "_testdata/folder/subfolder",
162+
// "_testdata/folder/subfolder/file4",
163+
// "_testdata/symlinktofolder",
164+
// "_testdata/symlinktofolder/.hidden",
165+
// "_testdata/symlinktofolder/file2",
166+
// "_testdata/symlinktofolder/file3",
167+
// "_testdata/symlinktofolder/subfolder",
168+
// "_testdata/symlinktofolder/subfolder/file4",
169+
"_testdata/test.txt",
170+
"_testdata/test.txt.gz"}, l.AsStrings())
79171
}

0 commit comments

Comments
 (0)