@@ -25,7 +25,7 @@ public void IsController_UserDefinedClass_DerivedFromController()
25
25
var provider = GetControllerTypeProvider ( ) ;
26
26
27
27
// Act
28
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
28
+ var isController = provider . IsController ( typeInfo ) ;
29
29
30
30
// Assert
31
31
Assert . True ( isController ) ;
@@ -39,7 +39,7 @@ public void IsController_UserDefinedClass_DerivedFromControllerBase()
39
39
var provider = GetControllerTypeProvider ( ) ;
40
40
41
41
// Act
42
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
42
+ var isController = provider . IsController ( typeInfo ) ;
43
43
44
44
// Assert
45
45
Assert . True ( isController ) ;
@@ -53,10 +53,10 @@ public void IsController_UserDefinedClass_DerivedFromControllerBase_WithoutSuffi
53
53
var provider = GetControllerTypeProvider ( ) ;
54
54
55
55
// Act
56
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
56
+ var isController = provider . IsController ( typeInfo ) ;
57
57
58
58
// Assert
59
- Assert . False ( isController ) ;
59
+ Assert . True ( isController ) ;
60
60
}
61
61
62
62
[ Fact ]
@@ -67,7 +67,7 @@ public void IsController_FrameworkControllerClass()
67
67
var provider = GetControllerTypeProvider ( ) ;
68
68
69
69
// Act
70
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
70
+ var isController = provider . IsController ( typeInfo ) ;
71
71
72
72
// Assert
73
73
Assert . False ( isController ) ;
@@ -81,7 +81,7 @@ public void IsController_FrameworkBaseControllerClass()
81
81
var provider = GetControllerTypeProvider ( ) ;
82
82
83
83
// Act
84
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
84
+ var isController = provider . IsController ( typeInfo ) ;
85
85
86
86
// Assert
87
87
Assert . False ( isController ) ;
@@ -95,7 +95,7 @@ public void IsController_UserDefinedControllerClass()
95
95
var provider = GetControllerTypeProvider ( ) ;
96
96
97
97
// Act
98
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
98
+ var isController = provider . IsController ( typeInfo ) ;
99
99
100
100
// Assert
101
101
Assert . False ( isController ) ;
@@ -109,7 +109,7 @@ public void IsController_Interface()
109
109
var provider = GetControllerTypeProvider ( ) ;
110
110
111
111
// Act
112
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
112
+ var isController = provider . IsController ( typeInfo ) ;
113
113
114
114
// Assert
115
115
Assert . False ( isController ) ;
@@ -123,7 +123,7 @@ public void IsController_AbstractClass()
123
123
var provider = GetControllerTypeProvider ( ) ;
124
124
125
125
// Act
126
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
126
+ var isController = provider . IsController ( typeInfo ) ;
127
127
128
128
// Assert
129
129
Assert . False ( isController ) ;
@@ -137,7 +137,7 @@ public void IsController_DerivedAbstractClass()
137
137
var provider = GetControllerTypeProvider ( ) ;
138
138
139
139
// Act
140
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
140
+ var isController = provider . IsController ( typeInfo ) ;
141
141
142
142
// Assert
143
143
Assert . True ( isController ) ;
@@ -151,7 +151,7 @@ public void IsController_OpenGenericClass()
151
151
var provider = GetControllerTypeProvider ( ) ;
152
152
153
153
// Act
154
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
154
+ var isController = provider . IsController ( typeInfo ) ;
155
155
156
156
// Assert
157
157
Assert . False ( isController ) ;
@@ -165,7 +165,7 @@ public void IsController_WithoutSuffixOrAncestorWithController()
165
165
var provider = GetControllerTypeProvider ( ) ;
166
166
167
167
// Act
168
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
168
+ var isController = provider . IsController ( typeInfo ) ;
169
169
170
170
// Assert
171
171
Assert . False ( isController ) ;
@@ -179,7 +179,7 @@ public void IsController_ClosedGenericClass()
179
179
var provider = GetControllerTypeProvider ( ) ;
180
180
181
181
// Act
182
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
182
+ var isController = provider . IsController ( typeInfo ) ;
183
183
184
184
// Assert
185
185
Assert . True ( isController ) ;
@@ -193,7 +193,7 @@ public void IsController_DerivedGenericClass()
193
193
var provider = GetControllerTypeProvider ( ) ;
194
194
195
195
// Act
196
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
196
+ var isController = provider . IsController ( typeInfo ) ;
197
197
198
198
// Assert
199
199
Assert . True ( isController ) ;
@@ -207,7 +207,7 @@ public void IsController_Poco_WithNamingConvention()
207
207
var provider = GetControllerTypeProvider ( ) ;
208
208
209
209
// Act
210
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
210
+ var isController = provider . IsController ( typeInfo ) ;
211
211
212
212
// Assert
213
213
Assert . True ( isController ) ;
@@ -221,7 +221,7 @@ public void IsController_NoControllerSuffix()
221
221
var provider = GetControllerTypeProvider ( ) ;
222
222
223
223
// Act
224
- var isController = provider . IsController ( typeInfo , CandidateAssemblies ) ;
224
+ var isController = provider . IsController ( typeInfo ) ;
225
225
226
226
// Assert
227
227
Assert . True ( isController ) ;
@@ -230,33 +230,47 @@ public void IsController_NoControllerSuffix()
230
230
[ Theory ]
231
231
[ InlineData ( typeof ( DescendantLevel1 ) ) ]
232
232
[ InlineData ( typeof ( DescendantLevel2 ) ) ]
233
- public void IsController_ReturnsTrue_IfAncestorTypeNameHasControllerSuffix ( Type type )
233
+ public void IsController_ReturnsTrue_IfAncestorTypeHasControllerAttribute ( Type type )
234
234
{
235
235
// Arrange
236
236
var provider = GetControllerTypeProvider ( ) ;
237
237
238
238
// Act
239
- var isController = provider . IsController ( type . GetTypeInfo ( ) , CandidateAssemblies ) ;
239
+ var isController = provider . IsController ( type . GetTypeInfo ( ) ) ;
240
240
241
241
// Assert
242
242
Assert . True ( isController ) ;
243
243
}
244
244
245
+ [ Fact ]
246
+ public void IsController_ReturnsFalse_IfAncestorTypeDoesNotHaveControllerAttribute ( )
247
+ {
248
+ // Arrange
249
+ var provider = GetControllerTypeProvider ( ) ;
250
+
251
+ // Act
252
+ var isController = provider . IsController ( typeof ( NoSuffixNoControllerAttribute ) . GetTypeInfo ( ) ) ;
253
+
254
+ // Assert
255
+ Assert . False ( isController ) ;
256
+ }
257
+
245
258
[ Theory ]
246
259
[ InlineData ( typeof ( BaseNonControllerController ) ) ]
247
260
[ InlineData ( typeof ( BaseNonControllerControllerChild ) ) ]
248
261
[ InlineData ( typeof ( BasePocoNonControllerController ) ) ]
249
262
[ InlineData ( typeof ( BasePocoNonControllerControllerChild ) ) ]
250
263
[ InlineData ( typeof ( NonController ) ) ]
251
264
[ InlineData ( typeof ( NonControllerChild ) ) ]
265
+ [ InlineData ( typeof ( BaseNonControllerAttributeChildControllerControllerAttributeController ) ) ]
252
266
[ InlineData ( typeof ( PersonModel ) ) ] // Verifies that POCO type hierarchies that don't derive from controller return false.
253
267
public void IsController_ReturnsFalse_IfTypeOrAncestorHasNonControllerAttribute ( Type type )
254
268
{
255
269
// Arrange
256
270
var provider = GetControllerTypeProvider ( ) ;
257
271
258
272
// Act
259
- var isController = provider . IsController ( type . GetTypeInfo ( ) , CandidateAssemblies ) ;
273
+ var isController = provider . IsController ( type . GetTypeInfo ( ) ) ;
260
274
261
275
// Assert
262
276
Assert . False ( isController ) ;
@@ -297,11 +311,19 @@ public class Products : ControllerBase
297
311
{
298
312
}
299
313
300
-
314
+ [ Controller ]
301
315
public abstract class Controller
302
316
{
303
317
}
304
318
319
+ public abstract class NoControllerAttributeBaseController
320
+ {
321
+ }
322
+
323
+ public class NoSuffixNoControllerAttribute : NoControllerAttributeBaseController
324
+ {
325
+ }
326
+
305
327
public class OpenGenericController < T > : Controller
306
328
{
307
329
}
@@ -327,17 +349,19 @@ public class PocoController
327
349
{
328
350
}
329
351
330
- public class CustomBaseController
352
+ [ Controller ]
353
+ public class CustomBase
331
354
{
332
355
333
356
}
334
357
358
+ [ Controller ]
335
359
public abstract class CustomAbstractBaseController
336
360
{
337
361
338
362
}
339
363
340
- public class DescendantLevel1 : CustomBaseController
364
+ public class DescendantLevel1 : CustomBase
341
365
{
342
366
343
367
}
@@ -369,6 +393,12 @@ public class BaseNonControllerController : Controller
369
393
370
394
}
371
395
396
+ [ Controller ]
397
+ public class BaseNonControllerAttributeChildControllerControllerAttributeController : BaseNonControllerController
398
+ {
399
+
400
+ }
401
+
372
402
public class BaseNonControllerControllerChild : BaseNonControllerController
373
403
{
374
404
0 commit comments