@@ -84,30 +84,27 @@ func TestPathResolverCommonCases(t *testing.T) {
84
84
{
85
85
name : "empty root recursively" ,
86
86
resolve : []string {"./..." },
87
- expDirs : []string {"." },
88
87
},
89
88
{
90
89
name : "empty root" ,
91
90
resolve : []string {"./" },
92
- expDirs : []string {"." },
93
91
},
94
92
{
95
93
name : "vendor is excluded recursively" ,
96
- prepare : []string {"vendor/a/" },
94
+ prepare : []string {"vendor/a/b.go " },
97
95
resolve : []string {"./..." },
98
- expDirs : []string {"." },
99
96
},
100
97
{
101
98
name : "vendor is excluded" ,
102
- prepare : []string {"vendor/" },
99
+ prepare : []string {"vendor/a.go " },
103
100
resolve : []string {"./..." },
104
- expDirs : []string {"." },
105
101
},
106
102
{
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" },
111
108
},
112
109
{
113
110
name : "extensions filter recursively" ,
@@ -125,7 +122,7 @@ func TestPathResolverCommonCases(t *testing.T) {
125
122
},
126
123
{
127
124
name : "one level dirs exclusion" ,
128
- prepare : []string {"a/b/" , "a/c.go" },
125
+ prepare : []string {"a/b/d.go " , "a/c.go" },
129
126
resolve : []string {"./a" },
130
127
expDirs : []string {"a" },
131
128
expFiles : []string {"a/c.go" },
@@ -138,45 +135,58 @@ func TestPathResolverCommonCases(t *testing.T) {
138
135
expFiles : []string {"a/b/c.go" , "a/d.txt" },
139
136
},
140
137
{
141
- name : ".* is always ignored" ,
138
+ name : ".* dotfiles are always ignored" ,
142
139
prepare : []string {".git/a.go" , ".circleci/b.go" },
143
140
resolve : []string {"./..." },
144
- expDirs : []string {"." },
145
141
},
146
142
{
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" },
151
148
},
152
149
{
153
150
name : "ignore _*" ,
154
151
prepare : []string {"_any/a.go" },
155
152
resolve : []string {"./..." },
156
- expDirs : []string {"." },
157
153
},
158
154
{
159
155
name : "include tests" ,
160
156
prepare : []string {"a/b.go" , "a/b_test.go" },
161
157
resolve : []string {"./..." },
162
- expDirs : []string {"." , " a" },
158
+ expDirs : []string {"a" },
163
159
expFiles : []string {"a/b.go" , "a/b_test.go" },
164
160
includeTests : true ,
165
161
},
166
162
{
167
163
name : "exclude tests" ,
168
164
prepare : []string {"a/b.go" , "a/b_test.go" },
169
165
resolve : []string {"./..." },
170
- expDirs : []string {"." , " a" },
166
+ expDirs : []string {"a" },
171
167
expFiles : []string {"a/b.go" },
172
168
},
173
169
{
174
170
name : "exclude tests except explicitly set" ,
175
171
prepare : []string {"a/b.go" , "a/b_test.go" , "a/c_test.go" },
176
172
resolve : []string {"./..." , "a/c_test.go" },
177
- expDirs : []string {"." , " a" },
173
+ expDirs : []string {"a" },
178
174
expFiles : []string {"a/b.go" , "a/c_test.go" },
179
175
},
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
+ },
180
190
}
181
191
182
192
for _ , tc := range testCases {
0 commit comments