56 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
| #import "QuickSpecBase.h"
 | |
| 
 | |
| #pragma mark - _QuickSelectorWrapper
 | |
| 
 | |
| @interface _QuickSelectorWrapper ()
 | |
| @property(nonatomic, assign) SEL selector;
 | |
| @end
 | |
| 
 | |
| @implementation _QuickSelectorWrapper
 | |
| 
 | |
| - (instancetype)initWithSelector:(SEL)selector {
 | |
|     self = [super init];
 | |
|     _selector = selector;
 | |
|     return self;
 | |
| }
 | |
| 
 | |
| @end
 | |
| 
 | |
| 
 | |
| #pragma mark - _QuickSpecBase
 | |
| 
 | |
| @implementation _QuickSpecBase
 | |
| 
 | |
| - (instancetype)init {
 | |
|     self = [super initWithInvocation: nil];
 | |
|     return self;
 | |
| }
 | |
| 
 | |
| /**
 | |
|  Invocations for each test method in the test case. QuickSpec overrides this method to define a
 | |
|  new method for each example defined in +[QuickSpec spec].
 | |
| 
 | |
|  @return An array of invocations that execute the newly defined example methods.
 | |
|  */
 | |
| + (NSArray<NSInvocation *> *)testInvocations {
 | |
|     NSArray<_QuickSelectorWrapper *> *wrappers = [self _qck_testMethodSelectors];
 | |
|     NSMutableArray<NSInvocation *> *invocations = [NSMutableArray arrayWithCapacity:wrappers.count];
 | |
| 
 | |
|     for (_QuickSelectorWrapper *wrapper in wrappers) {
 | |
|         SEL selector = wrapper.selector;
 | |
|         NSMethodSignature *signature = [self instanceMethodSignatureForSelector:selector];
 | |
|         NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
 | |
|         invocation.selector = selector;
 | |
| 
 | |
|         [invocations addObject:invocation];
 | |
|     }
 | |
| 
 | |
|     return invocations;
 | |
| }
 | |
| 
 | |
| + (NSArray<_QuickSelectorWrapper *> *)_qck_testMethodSelectors {
 | |
|     return @[];
 | |
| }
 | |
| 
 | |
| @end
 |