54 lines
1.9 KiB
Objective-C
54 lines
1.9 KiB
Objective-C
/*
|
|
* Copyright (c) 2004-2014 Erik Doernenburg and contributors
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
* not use these files except in compliance with the License. You may obtain
|
|
* a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
* License for the specific language governing permissions and limitations
|
|
* under the License.
|
|
*/
|
|
|
|
#import <OCMock/OCMRecorder.h>
|
|
|
|
|
|
@interface OCMStubRecorder : OCMRecorder
|
|
|
|
- (id)andReturn:(id)anObject;
|
|
- (id)andReturnValue:(NSValue *)aValue;
|
|
- (id)andThrow:(NSException *)anException;
|
|
- (id)andPost:(NSNotification *)aNotification;
|
|
- (id)andCall:(SEL)selector onObject:(id)anObject;
|
|
- (id)andDo:(void (^)(NSInvocation *invocation))block;
|
|
- (id)andForwardToRealObject;
|
|
|
|
@end
|
|
|
|
|
|
@interface OCMStubRecorder (Properties)
|
|
|
|
#define andReturn(aValue) _andReturn(({ __typeof__(aValue) _v = (aValue); [NSValue value:&_v withObjCType:@encode(__typeof__(_v))]; }))
|
|
@property (nonatomic, readonly) OCMStubRecorder *(^ _andReturn)(NSValue *);
|
|
|
|
#define andThrow(anException) _andThrow(anException)
|
|
@property (nonatomic, readonly) OCMStubRecorder *(^ _andThrow)(NSException *);
|
|
|
|
#define andPost(aNotification) _andPost(aNotification)
|
|
@property (nonatomic, readonly) OCMStubRecorder *(^ _andPost)(NSNotification *);
|
|
|
|
#define andCall(anObject, aSelector) _andCall(anObject, aSelector)
|
|
@property (nonatomic, readonly) OCMStubRecorder *(^ _andCall)(id, SEL);
|
|
|
|
#define andDo(aBlock) _andDo(aBlock)
|
|
@property (nonatomic, readonly) OCMStubRecorder *(^ _andDo)(void (^)(NSInvocation *));
|
|
|
|
#define andForwardToRealObject() _andForwardToRealObject()
|
|
@property (nonatomic, readonly) OCMStubRecorder *(^ _andForwardToRealObject)(void);
|
|
|
|
@end
|