github.com/joselitofilho/goreleaser@v0.155.1-0.20210123221854-e4891856c593/internal/extrafiles/extra_files_test.go (about) 1 package extrafiles 2 3 import ( 4 "testing" 5 6 "github.com/goreleaser/goreleaser/pkg/config" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestShouldGetSpecificFile(t *testing.T) { 11 globs := []config.ExtraFile{ 12 {Glob: "./testdata/file1.golden"}, 13 } 14 15 files, err := Find(globs) 16 require.NoError(t, err) 17 require.Len(t, files, 1) 18 19 require.Equal(t, "testdata/file1.golden", files["file1.golden"]) 20 } 21 22 func TestFailToGetSpecificFile(t *testing.T) { 23 globs := []config.ExtraFile{ 24 {Glob: "./testdata/file453.golden"}, 25 } 26 27 files, err := Find(globs) 28 require.EqualError(t, err, "globbing failed for pattern ./testdata/file453.golden: matching \"testdata/file453.golden\": file does not exist") 29 require.Empty(t, files) 30 } 31 32 func TestShouldGetFilesWithSuperStar(t *testing.T) { 33 globs := []config.ExtraFile{ 34 {Glob: "./**/file?.golden"}, 35 } 36 37 files, err := Find(globs) 38 require.NoError(t, err) 39 require.Len(t, files, 3) 40 41 require.Equal(t, "testdata/file2.golden", files["file2.golden"]) 42 require.Equal(t, "testdata/file1.golden", files["file1.golden"]) 43 require.Equal(t, "testdata/sub/file5.golden", files["file5.golden"]) 44 } 45 46 func TestShouldGetAllFilesWithGoldenExtension(t *testing.T) { 47 globs := []config.ExtraFile{ 48 {Glob: "./testdata/*.golden"}, 49 } 50 51 files, err := Find(globs) 52 require.NoError(t, err) 53 require.Len(t, files, 2) 54 55 require.Equal(t, "testdata/file1.golden", files["file1.golden"]) 56 require.Equal(t, "testdata/file2.golden", files["file2.golden"]) 57 } 58 59 func TestShouldGetAllFilesInsideTestdata(t *testing.T) { 60 globs := []config.ExtraFile{ 61 {Glob: "./testdata/*"}, 62 } 63 64 files, err := Find(globs) 65 require.NoError(t, err) 66 require.Len(t, files, 4) 67 68 require.Equal(t, "testdata/file1.golden", files["file1.golden"]) 69 require.Equal(t, "testdata/file2.golden", files["file2.golden"]) 70 require.Equal(t, "testdata/file3.gold", files["file3.gold"]) 71 require.Equal(t, "testdata/sub/file5.golden", files["file5.golden"]) 72 }