@@ -84,30 +84,27 @@ func TestPathResolverCommonCases(t *testing.T) {
8484 {
8585 name : "empty root recursively" ,
8686 resolve : []string {"./..." },
87- expDirs : []string {"." },
8887 },
8988 {
9089 name : "empty root" ,
9190 resolve : []string {"./" },
92- expDirs : []string {"." },
9391 },
9492 {
9593 name : "vendor is excluded recursively" ,
96- prepare : []string {"vendor/a/" },
94+ prepare : []string {"vendor/a/b.go " },
9795 resolve : []string {"./..." },
98- expDirs : []string {"." },
9996 },
10097 {
10198 name : "vendor is excluded" ,
102- prepare : []string {"vendor/" },
99+ prepare : []string {"vendor/a.go " },
103100 resolve : []string {"./..." },
104- expDirs : []string {"." },
105101 },
106102 {
107- name : "vendor implicitely resolved" ,
108- prepare : []string {"vendor/" },
109- resolve : []string {"./vendor" },
110- expDirs : []string {"vendor" },
103+ name : "vendor implicitely resolved" ,
104+ prepare : []string {"vendor/a.go" },
105+ resolve : []string {"./vendor" },
106+ expDirs : []string {"vendor" },
107+ expFiles : []string {"vendor/a.go" },
111108 },
112109 {
113110 name : "extensions filter recursively" ,
@@ -125,7 +122,7 @@ func TestPathResolverCommonCases(t *testing.T) {
125122 },
126123 {
127124 name : "one level dirs exclusion" ,
128- prepare : []string {"a/b/" , "a/c.go" },
125+ prepare : []string {"a/b/d.go " , "a/c.go" },
129126 resolve : []string {"./a" },
130127 expDirs : []string {"a" },
131128 expFiles : []string {"a/c.go" },
@@ -138,45 +135,58 @@ func TestPathResolverCommonCases(t *testing.T) {
138135 expFiles : []string {"a/b/c.go" , "a/d.txt" },
139136 },
140137 {
141- name : ".* is always ignored" ,
138+ name : ".* dotfiles are always ignored" ,
142139 prepare : []string {".git/a.go" , ".circleci/b.go" },
143140 resolve : []string {"./..." },
144- expDirs : []string {"." },
145141 },
146142 {
147- name : "exclude dirs on any depth level" ,
148- prepare : []string {"ok/.git/a.go" },
149- resolve : []string {"./..." },
150- expDirs : []string {"." , "ok" },
143+ name : "exclude dirs on any depth level" ,
144+ prepare : []string {"ok/.git/a.go" , "ok/b.go" },
145+ resolve : []string {"./..." },
146+ expDirs : []string {"ok" },
147+ expFiles : []string {"ok/b.go" },
151148 },
152149 {
153150 name : "ignore _*" ,
154151 prepare : []string {"_any/a.go" },
155152 resolve : []string {"./..." },
156- expDirs : []string {"." },
157153 },
158154 {
159155 name : "include tests" ,
160156 prepare : []string {"a/b.go" , "a/b_test.go" },
161157 resolve : []string {"./..." },
162- expDirs : []string {"." , " a" },
158+ expDirs : []string {"a" },
163159 expFiles : []string {"a/b.go" , "a/b_test.go" },
164160 includeTests : true ,
165161 },
166162 {
167163 name : "exclude tests" ,
168164 prepare : []string {"a/b.go" , "a/b_test.go" },
169165 resolve : []string {"./..." },
170- expDirs : []string {"." , " a" },
166+ expDirs : []string {"a" },
171167 expFiles : []string {"a/b.go" },
172168 },
173169 {
174170 name : "exclude tests except explicitly set" ,
175171 prepare : []string {"a/b.go" , "a/b_test.go" , "a/c_test.go" },
176172 resolve : []string {"./..." , "a/c_test.go" },
177- expDirs : []string {"." , " a" },
173+ expDirs : []string {"a" },
178174 expFiles : []string {"a/b.go" , "a/c_test.go" },
179175 },
176+ {
177+ name : "exclude dirs with no go files" ,
178+ prepare : []string {"a/b.txt" , "a/c/d.go" },
179+ resolve : []string {"./..." },
180+ expDirs : []string {"a/c" },
181+ expFiles : []string {"a/c/d.go" },
182+ },
183+ {
184+ name : "exclude dirs with no go files with root dir" ,
185+ prepare : []string {"a/b.txt" , "a/c/d.go" , "e.go" },
186+ resolve : []string {"./..." },
187+ expDirs : []string {"." , "a/c" },
188+ expFiles : []string {"a/c/d.go" , "e.go" },
189+ },
180190 }
181191
182192 for _ , tc := range testCases {
0 commit comments