@@ -15,7 +15,7 @@ func TestCopypathSymlinks(t *testing.T) {
1515 dst := mktemp (t )
1616 defer RemoveAll (dst )
1717 src := filepath .Join ("_testdata" , "copyfile" )
18- if err := Copypath (dst , src , true , false ); err != nil {
18+ if err := Copypath (dst , src , true , false , false ); err != nil {
1919 t .Fatalf ("copypath(%s, %s): %v" , dst , src , err )
2020 }
2121 res , err := os .Readlink (filepath .Join (dst , "a" , "rick" ))
@@ -34,3 +34,27 @@ func mktemp(t *testing.T) string {
3434 }
3535 return s
3636}
37+
38+ func TestShouldSkip (t * testing.T ) {
39+ _ , filename , _ , _ := runtime .Caller (1 )
40+ stat , _ := os .Stat (filename )
41+
42+ expectations := [][]interface {}{
43+ []interface {}{"a.go" , stat , false , false , false , false }, // default: go files are ok
44+ []interface {}{"a_test.go" , stat , false , false , false , true }, // default: test files are not ok
45+ []interface {}{"a.mak" , stat , false , false , false , true }, // default: makefiles are not ok
46+ []interface {}{"a.rand" , stat , false , false , false , true }, // default: all files are not ok
47+
48+ []interface {}{"a_test.go" , stat , true , false , false , false }, // Allow test files
49+ []interface {}{"a.mak" , stat , false , false , true , false }, // Allow makefiles
50+ []interface {}{"a.rand" , stat , false , true , false , false }, // Allow all files
51+ }
52+
53+ for _ , e := range expectations {
54+ result := ShouldSkip (e [0 ].(string ), e [1 ].(os.FileInfo ), e [2 ].(bool ), e [3 ].(bool ), e [4 ].(bool ))
55+
56+ if result != e [5 ].(bool ) {
57+ t .Fatalf ("wrong result expected(%v) got(%v)" , e [5 ].(bool ), result )
58+ }
59+ }
60+ }
0 commit comments