Skip to content

Added gitattributes to fix test on Windows #35

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 22 additions & 19 deletions paths_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -268,14 +268,15 @@ func TestFilterDirs(t *testing.T) {

list, err := testPath.ReadDir()
require.NoError(t, err)
require.Len(t, list, 6)
require.Len(t, list, 7)

pathEqualsTo(t, "testdata/fileset/anotherFile", list[0])
pathEqualsTo(t, "testdata/fileset/file", list[1])
pathEqualsTo(t, "testdata/fileset/folder", list[2])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", list[3])
pathEqualsTo(t, "testdata/fileset/test.txt", list[4])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", list[5])
pathEqualsTo(t, "testdata/fileset/.gitattributes", list[0])
pathEqualsTo(t, "testdata/fileset/anotherFile", list[1])
pathEqualsTo(t, "testdata/fileset/file", list[2])
pathEqualsTo(t, "testdata/fileset/folder", list[3])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", list[4])
pathEqualsTo(t, "testdata/fileset/test.txt", list[5])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", list[6])

list.FilterDirs()
require.Len(t, list, 2)
Expand All @@ -289,21 +290,23 @@ func TestFilterOutDirs(t *testing.T) {

list, err := testPath.ReadDir()
require.NoError(t, err)
require.Len(t, list, 6)
require.Len(t, list, 7)

pathEqualsTo(t, "testdata/fileset/anotherFile", list[0])
pathEqualsTo(t, "testdata/fileset/file", list[1])
pathEqualsTo(t, "testdata/fileset/folder", list[2])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", list[3])
pathEqualsTo(t, "testdata/fileset/test.txt", list[4])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", list[5])
pathEqualsTo(t, "testdata/fileset/.gitattributes", list[0])
pathEqualsTo(t, "testdata/fileset/anotherFile", list[1])
pathEqualsTo(t, "testdata/fileset/file", list[2])
pathEqualsTo(t, "testdata/fileset/folder", list[3])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", list[4])
pathEqualsTo(t, "testdata/fileset/test.txt", list[5])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", list[6])

list.FilterOutDirs()
require.Len(t, list, 4)
pathEqualsTo(t, "testdata/fileset/anotherFile", list[0])
pathEqualsTo(t, "testdata/fileset/file", list[1])
pathEqualsTo(t, "testdata/fileset/test.txt", list[2])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", list[3])
require.Len(t, list, 5)
pathEqualsTo(t, "testdata/fileset/.gitattributes", list[0])
pathEqualsTo(t, "testdata/fileset/anotherFile", list[1])
pathEqualsTo(t, "testdata/fileset/file", list[2])
pathEqualsTo(t, "testdata/fileset/test.txt", list[3])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", list[4])
}

{
Expand Down
238 changes: 124 additions & 114 deletions readdir_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,24 +45,25 @@ func TestReadDirRecursive(t *testing.T) {

list, err := testPath.ReadDirRecursive()
require.NoError(t, err)
require.Len(t, list, 16)

pathEqualsTo(t, "testdata/fileset/anotherFile", list[0])
pathEqualsTo(t, "testdata/fileset/file", list[1])
pathEqualsTo(t, "testdata/fileset/folder", list[2])
pathEqualsTo(t, "testdata/fileset/folder/.hidden", list[3])
pathEqualsTo(t, "testdata/fileset/folder/file2", list[4])
pathEqualsTo(t, "testdata/fileset/folder/file3", list[5])
pathEqualsTo(t, "testdata/fileset/folder/subfolder", list[6])
pathEqualsTo(t, "testdata/fileset/folder/subfolder/file4", list[7])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", list[8])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/.hidden", list[9])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file2", list[10])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file3", list[11])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder", list[12])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder/file4", list[13])
pathEqualsTo(t, "testdata/fileset/test.txt", list[14])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", list[15])
require.Len(t, list, 17)

pathEqualsTo(t, "testdata/fileset/.gitattributes", list[0])
pathEqualsTo(t, "testdata/fileset/anotherFile", list[1])
pathEqualsTo(t, "testdata/fileset/file", list[2])
pathEqualsTo(t, "testdata/fileset/folder", list[3])
pathEqualsTo(t, "testdata/fileset/folder/.hidden", list[4])
pathEqualsTo(t, "testdata/fileset/folder/file2", list[5])
pathEqualsTo(t, "testdata/fileset/folder/file3", list[6])
pathEqualsTo(t, "testdata/fileset/folder/subfolder", list[7])
pathEqualsTo(t, "testdata/fileset/folder/subfolder/file4", list[8])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", list[9])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/.hidden", list[10])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file2", list[11])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file3", list[12])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder", list[13])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder/file4", list[14])
pathEqualsTo(t, "testdata/fileset/test.txt", list[15])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", list[16])
}

func TestReadDirRecursiveSymLinkLoop(t *testing.T) {
Expand Down Expand Up @@ -113,120 +114,128 @@ func TestReadDirRecursiveFiltered(t *testing.T) {
l, err := testdata.ReadDirRecursiveFiltered(nil)
require.NoError(t, err)
l.Sort()
require.Len(t, l, 16)
pathEqualsTo(t, "testdata/fileset/anotherFile", l[0])
pathEqualsTo(t, "testdata/fileset/file", l[1])
pathEqualsTo(t, "testdata/fileset/folder", l[2])
pathEqualsTo(t, "testdata/fileset/folder/.hidden", l[3])
pathEqualsTo(t, "testdata/fileset/folder/file2", l[4])
pathEqualsTo(t, "testdata/fileset/folder/file3", l[5])
pathEqualsTo(t, "testdata/fileset/folder/subfolder", l[6])
pathEqualsTo(t, "testdata/fileset/folder/subfolder/file4", l[7])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", l[8])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/.hidden", l[9])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file2", l[10])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file3", l[11])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder", l[12])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder/file4", l[13])
pathEqualsTo(t, "testdata/fileset/test.txt", l[14])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[15])
require.Len(t, l, 17)
pathEqualsTo(t, "testdata/fileset/.gitattributes", l[0])
pathEqualsTo(t, "testdata/fileset/anotherFile", l[1])
pathEqualsTo(t, "testdata/fileset/file", l[2])
pathEqualsTo(t, "testdata/fileset/folder", l[3])
pathEqualsTo(t, "testdata/fileset/folder/.hidden", l[4])
pathEqualsTo(t, "testdata/fileset/folder/file2", l[5])
pathEqualsTo(t, "testdata/fileset/folder/file3", l[6])
pathEqualsTo(t, "testdata/fileset/folder/subfolder", l[7])
pathEqualsTo(t, "testdata/fileset/folder/subfolder/file4", l[8])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", l[9])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/.hidden", l[10])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file2", l[11])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file3", l[12])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder", l[13])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder/file4", l[14])
pathEqualsTo(t, "testdata/fileset/test.txt", l[15])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[16])

l, err = testdata.ReadDirRecursiveFiltered(FilterOutDirectories())
require.NoError(t, err)
l.Sort()
require.Len(t, l, 6)
pathEqualsTo(t, "testdata/fileset/anotherFile", l[0])
pathEqualsTo(t, "testdata/fileset/file", l[1])
pathEqualsTo(t, "testdata/fileset/folder", l[2]) // <- this is listed but not traversed
pathEqualsTo(t, "testdata/fileset/symlinktofolder", l[3]) // <- this is listed but not traversed
pathEqualsTo(t, "testdata/fileset/test.txt", l[4])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[5])
require.Len(t, l, 7)
pathEqualsTo(t, "testdata/fileset/.gitattributes", l[0])
pathEqualsTo(t, "testdata/fileset/anotherFile", l[1])
pathEqualsTo(t, "testdata/fileset/file", l[2])
pathEqualsTo(t, "testdata/fileset/folder", l[3]) // <- this is listed but not traversed
pathEqualsTo(t, "testdata/fileset/symlinktofolder", l[4]) // <- this is listed but not traversed
pathEqualsTo(t, "testdata/fileset/test.txt", l[5])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[6])

l, err = testdata.ReadDirRecursiveFiltered(nil, FilterOutDirectories())
require.NoError(t, err)
l.Sort()
require.Len(t, l, 12)
pathEqualsTo(t, "testdata/fileset/anotherFile", l[0])
pathEqualsTo(t, "testdata/fileset/file", l[1])
pathEqualsTo(t, "testdata/fileset/folder/.hidden", l[2])
pathEqualsTo(t, "testdata/fileset/folder/file2", l[3])
pathEqualsTo(t, "testdata/fileset/folder/file3", l[4])
pathEqualsTo(t, "testdata/fileset/folder/subfolder/file4", l[5])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/.hidden", l[6])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file2", l[7])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file3", l[8])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder/file4", l[9])
pathEqualsTo(t, "testdata/fileset/test.txt", l[10])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[11])
require.Len(t, l, 13)
pathEqualsTo(t, "testdata/fileset/.gitattributes", l[0])
pathEqualsTo(t, "testdata/fileset/anotherFile", l[1])
pathEqualsTo(t, "testdata/fileset/file", l[2])
pathEqualsTo(t, "testdata/fileset/folder/.hidden", l[3])
pathEqualsTo(t, "testdata/fileset/folder/file2", l[4])
pathEqualsTo(t, "testdata/fileset/folder/file3", l[5])
pathEqualsTo(t, "testdata/fileset/folder/subfolder/file4", l[6])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/.hidden", l[7])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file2", l[8])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file3", l[9])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder/file4", l[10])
pathEqualsTo(t, "testdata/fileset/test.txt", l[11])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[12])

l, err = testdata.ReadDirRecursiveFiltered(FilterOutDirectories(), FilterOutDirectories())
require.NoError(t, err)
l.Sort()
require.Len(t, l, 4)
pathEqualsTo(t, "testdata/fileset/anotherFile", l[0])
pathEqualsTo(t, "testdata/fileset/file", l[1])
pathEqualsTo(t, "testdata/fileset/test.txt", l[2])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[3])
require.Len(t, l, 5)
pathEqualsTo(t, "testdata/fileset/.gitattributes", l[0])
pathEqualsTo(t, "testdata/fileset/anotherFile", l[1])
pathEqualsTo(t, "testdata/fileset/file", l[2])
pathEqualsTo(t, "testdata/fileset/test.txt", l[3])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[4])

l, err = testdata.ReadDirRecursiveFiltered(FilterOutPrefixes("sub"), FilterOutSuffixes("3"))
require.NoError(t, err)
l.Sort()
require.Len(t, l, 12)
pathEqualsTo(t, "testdata/fileset/anotherFile", l[0])
pathEqualsTo(t, "testdata/fileset/file", l[1])
pathEqualsTo(t, "testdata/fileset/folder", l[2])
pathEqualsTo(t, "testdata/fileset/folder/.hidden", l[3])
pathEqualsTo(t, "testdata/fileset/folder/file2", l[4])
pathEqualsTo(t, "testdata/fileset/folder/subfolder", l[5]) // <- subfolder skipped by Prefix("sub")
pathEqualsTo(t, "testdata/fileset/symlinktofolder", l[6])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/.hidden", l[7])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file2", l[8])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder", l[9]) // <- subfolder skipped by Prefix("sub")
pathEqualsTo(t, "testdata/fileset/test.txt", l[10])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[11])
require.Len(t, l, 13)
pathEqualsTo(t, "testdata/fileset/.gitattributes", l[0])
pathEqualsTo(t, "testdata/fileset/anotherFile", l[1])
pathEqualsTo(t, "testdata/fileset/file", l[2])
pathEqualsTo(t, "testdata/fileset/folder", l[3])
pathEqualsTo(t, "testdata/fileset/folder/.hidden", l[4])
pathEqualsTo(t, "testdata/fileset/folder/file2", l[5])
pathEqualsTo(t, "testdata/fileset/folder/subfolder", l[6]) // <- subfolder skipped by Prefix("sub")
pathEqualsTo(t, "testdata/fileset/symlinktofolder", l[7])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/.hidden", l[8])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file2", l[9])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder", l[10]) // <- subfolder skipped by Prefix("sub")
pathEqualsTo(t, "testdata/fileset/test.txt", l[11])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[12])

l, err = testdata.ReadDirRecursiveFiltered(FilterOutPrefixes("sub"), AndFilter(FilterOutSuffixes("3"), FilterOutPrefixes("fil")))
require.NoError(t, err)
l.Sort()
require.Len(t, l, 9)
pathEqualsTo(t, "testdata/fileset/anotherFile", l[0])
pathEqualsTo(t, "testdata/fileset/folder", l[1])
pathEqualsTo(t, "testdata/fileset/folder/.hidden", l[2])
pathEqualsTo(t, "testdata/fileset/folder/subfolder", l[3])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", l[4])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/.hidden", l[5])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder", l[6])
pathEqualsTo(t, "testdata/fileset/test.txt", l[7])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[8])
require.Len(t, l, 10)
pathEqualsTo(t, "testdata/fileset/.gitattributes", l[0])
pathEqualsTo(t, "testdata/fileset/anotherFile", l[1])
pathEqualsTo(t, "testdata/fileset/folder", l[2])
pathEqualsTo(t, "testdata/fileset/folder/.hidden", l[3])
pathEqualsTo(t, "testdata/fileset/folder/subfolder", l[4])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", l[5])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/.hidden", l[6])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder", l[7])
pathEqualsTo(t, "testdata/fileset/test.txt", l[8])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[9])

l, err = testdata.ReadDirRecursiveFiltered(FilterOutPrefixes("sub"), AndFilter(FilterOutSuffixes("3"), FilterOutPrefixes("fil"), FilterOutSuffixes(".gz")))
require.NoError(t, err)
l.Sort()
require.Len(t, l, 8)
pathEqualsTo(t, "testdata/fileset/anotherFile", l[0])
pathEqualsTo(t, "testdata/fileset/folder", l[1])
pathEqualsTo(t, "testdata/fileset/folder/.hidden", l[2])
pathEqualsTo(t, "testdata/fileset/folder/subfolder", l[3])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", l[4])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/.hidden", l[5])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder", l[6])
pathEqualsTo(t, "testdata/fileset/test.txt", l[7])
require.Len(t, l, 9)
pathEqualsTo(t, "testdata/fileset/.gitattributes", l[0])
pathEqualsTo(t, "testdata/fileset/anotherFile", l[1])
pathEqualsTo(t, "testdata/fileset/folder", l[2])
pathEqualsTo(t, "testdata/fileset/folder/.hidden", l[3])
pathEqualsTo(t, "testdata/fileset/folder/subfolder", l[4])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", l[5])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/.hidden", l[6])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder", l[7])
pathEqualsTo(t, "testdata/fileset/test.txt", l[8])

l, err = testdata.ReadDirRecursiveFiltered(OrFilter(FilterPrefixes("sub"), FilterSuffixes("tofolder")))
require.NoError(t, err)
l.Sort()
require.Len(t, l, 11)
pathEqualsTo(t, "testdata/fileset/anotherFile", l[0])
pathEqualsTo(t, "testdata/fileset/file", l[1])
pathEqualsTo(t, "testdata/fileset/folder", l[2])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", l[3])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/.hidden", l[4])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file2", l[5])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file3", l[6])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder", l[7])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder/file4", l[8])
pathEqualsTo(t, "testdata/fileset/test.txt", l[9])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[10])
require.Len(t, l, 12)
pathEqualsTo(t, "testdata/fileset/.gitattributes", l[0])
pathEqualsTo(t, "testdata/fileset/anotherFile", l[1])
pathEqualsTo(t, "testdata/fileset/file", l[2])
pathEqualsTo(t, "testdata/fileset/folder", l[3])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", l[4])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/.hidden", l[5])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file2", l[6])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file3", l[7])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder", l[8])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder/file4", l[9])
pathEqualsTo(t, "testdata/fileset/test.txt", l[10])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[11])

l, err = testdata.ReadDirRecursiveFiltered(nil, FilterNames("folder"))
require.NoError(t, err)
Expand All @@ -236,17 +245,18 @@ func TestReadDirRecursiveFiltered(t *testing.T) {

l, err = testdata.ReadDirRecursiveFiltered(FilterNames("symlinktofolder"), FilterOutNames(".hidden"))
require.NoError(t, err)
require.Len(t, l, 9)
require.Len(t, l, 10)
l.Sort()
pathEqualsTo(t, "testdata/fileset/anotherFile", l[0])
pathEqualsTo(t, "testdata/fileset/file", l[1])
pathEqualsTo(t, "testdata/fileset/folder", l[2])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", l[3])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file2", l[4])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file3", l[5])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder", l[6])
pathEqualsTo(t, "testdata/fileset/test.txt", l[7])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[8])
pathEqualsTo(t, "testdata/fileset/.gitattributes", l[0])
pathEqualsTo(t, "testdata/fileset/anotherFile", l[1])
pathEqualsTo(t, "testdata/fileset/file", l[2])
pathEqualsTo(t, "testdata/fileset/folder", l[3])
pathEqualsTo(t, "testdata/fileset/symlinktofolder", l[4])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file2", l[5])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/file3", l[6])
pathEqualsTo(t, "testdata/fileset/symlinktofolder/subfolder", l[7])
pathEqualsTo(t, "testdata/fileset/test.txt", l[8])
pathEqualsTo(t, "testdata/fileset/test.txt.gz", l[9])
}

func TestReadDirRecursiveLoopDetection(t *testing.T) {
Expand Down
4 changes: 4 additions & 0 deletions testdata/fileset/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# See: https://git-scm.com/docs/gitattributes

# Disable Git converting line endings in files (i.e., core.autocrlf=false).
*.txt -text
Loading