Skip to content

Commit 80eabb1

Browse files
committed
Move all ivars over to properties.
1 parent 7bea9c3 commit 80eabb1

File tree

3 files changed

+128
-127
lines changed

3 files changed

+128
-127
lines changed

Source/OCMock/OCClassMockObject.m

Lines changed: 44 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@
2121
#import "OCMInvocationStub.h"
2222
#import "NSMethodSignature+OCMAdditions.h"
2323

24+
@interface OCClassMockObject ()
25+
@property (nonatomic) Class mockedClass;
26+
@property (nonatomic) Class originalMetaClass;
27+
@property (nonatomic) Class classCreatedForNewMetaClass;
28+
@end
29+
2430
@implementation OCClassMockObject
25-
{
26-
Class mockedClass;
27-
Class originalMetaClass;
28-
Class classCreatedForNewMetaClass;
29-
}
3031

3132
#pragma mark Initialisers, description, accessors, etc.
3233

@@ -36,7 +37,7 @@ - (id)initWithClass:(Class)aClass
3637
[NSException raise:NSInvalidArgumentException format:@"Class cannot be Nil."];
3738

3839
self = [super init];
39-
mockedClass = aClass;
40+
self.mockedClass = aClass;
4041
[self prepareClassForClassMethodMocking];
4142
return self;
4243
}
@@ -49,37 +50,37 @@ - (void)dealloc
4950

5051
- (NSString *)description
5152
{
52-
return [NSString stringWithFormat:@"OCClassMockObject(%@)", NSStringFromClass(mockedClass)];
53+
return [NSString stringWithFormat:@"OCClassMockObject(%@)", NSStringFromClass(self.mockedClass)];
5354
}
5455

5556
- (Class)mockedClass
5657
{
57-
return mockedClass;
58+
return _mockedClass;
5859
}
5960

6061

6162
#pragma mark Extending/overriding superclass behaviour
6263

6364
- (void)stopMocking
6465
{
65-
if(originalMetaClass != nil)
66+
if(self.originalMetaClass != nil)
6667
{
6768
[self stopMockingClassMethods];
6869
}
69-
if(classCreatedForNewMetaClass != nil)
70+
if(self.classCreatedForNewMetaClass != nil)
7071
{
7172
OCMDisposeSubclass(classCreatedForNewMetaClass);
72-
classCreatedForNewMetaClass = nil;
73+
self.classCreatedForNewMetaClass = nil;
7374
}
7475
[super stopMocking];
7576
}
7677

7778

7879
- (void)stopMockingClassMethods
7980
{
80-
OCMSetAssociatedMockForClass(nil, mockedClass);
81-
object_setClass(mockedClass, originalMetaClass);
82-
originalMetaClass = nil;
81+
OCMSetAssociatedMockForClass(nil, self.mockedClass);
82+
object_setClass(self.mockedClass, self.originalMetaClass);
83+
self.originalMetaClass = nil;
8384
/* created meta class will be disposed later because partial mocks create another subclass depending on it */
8485
}
8586

@@ -97,32 +98,32 @@ - (void)addStub:(OCMInvocationStub *)aStub
9798
- (void)prepareClassForClassMethodMocking
9899
{
99100
/* the runtime and OCMock depend on string and array; we don't intercept methods on them to avoid endless loops */
100-
if([[mockedClass class] isSubclassOfClass:[NSString class]] || [[mockedClass class] isSubclassOfClass:[NSArray class]])
101+
if([[self.mockedClass class] isSubclassOfClass:[NSString class]] || [[self.mockedClass class] isSubclassOfClass:[NSArray class]])
101102
return;
102103

103104
/* trying to replace class methods on NSManagedObject and subclasses of it doesn't work; see #339 */
104-
if([mockedClass isSubclassOfClass:objc_getClass("NSManagedObject")])
105+
if([self.mockedClass isSubclassOfClass:objc_getClass("NSManagedObject")])
105106
return;
106107

107108
/* if there is another mock for this exact class, stop it */
108-
id otherMock = OCMGetAssociatedMockForClass(mockedClass, NO);
109+
id otherMock = OCMGetAssociatedMockForClass(self.mockedClass, NO);
109110
if(otherMock != nil)
110111
[otherMock stopMockingClassMethods];
111112

112-
OCMSetAssociatedMockForClass(self, mockedClass);
113+
OCMSetAssociatedMockForClass(self, self.mockedClass);
113114

114115
/* dynamically create a subclass and use its meta class as the meta class for the mocked class */
115-
classCreatedForNewMetaClass = OCMCreateSubclass(mockedClass, mockedClass);
116-
originalMetaClass = object_getClass(mockedClass);
117-
id newMetaClass = object_getClass(classCreatedForNewMetaClass);
116+
self.classCreatedForNewMetaClass = OCMCreateSubclass(self.mockedClass, self.mockedClass);
117+
self.originalMetaClass = object_getClass(self.mockedClass);
118+
id newMetaClass = object_getClass(self.classCreatedForNewMetaClass);
118119

119120
/* create a dummy initialize method */
120121
Method myDummyInitializeMethod = class_getInstanceMethod([self mockObjectClass], @selector(initializeForClassObject));
121122
const char *initializeTypes = method_getTypeEncoding(myDummyInitializeMethod);
122123
IMP myDummyInitializeIMP = method_getImplementation(myDummyInitializeMethod);
123124
class_addMethod(newMetaClass, @selector(initialize), myDummyInitializeIMP, initializeTypes);
124125

125-
object_setClass(mockedClass, newMetaClass); // only after dummy initialize is installed (iOS9)
126+
object_setClass(self.mockedClass, newMetaClass); // only after dummy initialize is installed (iOS9)
126127

127128
/* point forwardInvocation: of the object to the implementation in the mock */
128129
Method myForwardMethod = class_getInstanceMethod([self mockObjectClass], @selector(forwardInvocationForClassObject:));
@@ -132,7 +133,7 @@ - (void)prepareClassForClassMethodMocking
132133
/* adding forwarder for most class methods (instance methods on meta class) to allow for verify after run */
133134
NSArray *methodBlackList = @[@"class", @"forwardingTargetForSelector:", @"methodSignatureForSelector:", @"forwardInvocation:", @"isBlock",
134135
@"instanceMethodForwarderForSelector:", @"instanceMethodSignatureForSelector:", @"resolveClassMethod:"];
135-
[NSObject enumerateMethodsInClass:originalMetaClass usingBlock:^(Class cls, SEL sel) {
136+
[NSObject enumerateMethodsInClass:self.originalMetaClass usingBlock:^(Class cls, SEL sel) {
136137
if((cls == object_getClass([NSObject class])) || (cls == [NSObject class]) || (cls == object_getClass(cls)))
137138
return;
138139
if(OCMIsApplePrivateMethod(cls, sel))
@@ -154,15 +155,15 @@ - (void)prepareClassForClassMethodMocking
154155
- (void)setupForwarderForClassMethodSelector:(SEL)selector
155156
{
156157
SEL aliasSelector = OCMAliasForOriginalSelector(selector);
157-
if(class_getClassMethod(mockedClass, aliasSelector) != NULL)
158+
if(class_getClassMethod(self.mockedClass, aliasSelector) != NULL)
158159
return;
159160

160-
Method originalMethod = class_getClassMethod(mockedClass, selector);
161+
Method originalMethod = class_getClassMethod(self.mockedClass, selector);
161162
IMP originalIMP = method_getImplementation(originalMethod);
162163
const char *types = method_getTypeEncoding(originalMethod);
163164

164-
Class metaClass = object_getClass(mockedClass);
165-
IMP forwarderIMP = [originalMetaClass instanceMethodForwarderForSelector:selector];
165+
Class metaClass = object_getClass(self.mockedClass);
166+
IMP forwarderIMP = [self.originalMetaClass instanceMethodForwarderForSelector:selector];
166167
class_addMethod(metaClass, aliasSelector, originalIMP, types);
167168
class_replaceMethod(metaClass, selector, forwarderIMP, types);
168169
}
@@ -193,10 +194,10 @@ - (void)initializeForClassObject
193194

194195
- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
195196
{
196-
NSMethodSignature *signature = [mockedClass instanceMethodSignatureForSelector:aSelector];
197+
NSMethodSignature *signature = [self.mockedClass instanceMethodSignatureForSelector:aSelector];
197198
if(signature == nil)
198199
{
199-
signature = [NSMethodSignature signatureForDynamicPropertyAccessedWithSelector:aSelector inClass:mockedClass];
200+
signature = [NSMethodSignature signatureForDynamicPropertyAccessedWithSelector:aSelector inClass:self.mockedClass];
200201
}
201202
return signature;
202203
}
@@ -208,22 +209,22 @@ - (Class)mockObjectClass
208209

209210
- (Class)class
210211
{
211-
return mockedClass;
212+
return _mockedClass;
212213
}
213214

214215
- (BOOL)respondsToSelector:(SEL)selector
215216
{
216-
return [mockedClass instancesRespondToSelector:selector];
217+
return [self.mockedClass instancesRespondToSelector:selector];
217218
}
218219

219220
- (BOOL)isKindOfClass:(Class)aClass
220221
{
221-
return [mockedClass isSubclassOfClass:aClass];
222+
return [self.mockedClass isSubclassOfClass:aClass];
222223
}
223224

224225
- (BOOL)conformsToProtocol:(Protocol *)aProtocol
225226
{
226-
Class clazz = mockedClass;
227+
Class clazz = self.mockedClass;
227228
while (clazz != nil) {
228229
if (class_conformsToProtocol(clazz, aProtocol)) {
229230
return YES;
@@ -259,52 +260,52 @@ @implementation OCClassMockObject(NSIsKindsImplementation)
259260

260261
- (BOOL)isNSValue__
261262
{
262-
return [mockedClass isSubclassOfClass:[NSValue class]];
263+
return [self.mockedClass isSubclassOfClass:[NSValue class]];
263264
}
264265

265266
- (BOOL)isNSTimeZone__
266267
{
267-
return [mockedClass isSubclassOfClass:[NSTimeZone class]];
268+
return [self.mockedClass isSubclassOfClass:[NSTimeZone class]];
268269
}
269270

270271
- (BOOL)isNSSet__
271272
{
272-
return [mockedClass isSubclassOfClass:[NSSet class]];
273+
return [self.mockedClass isSubclassOfClass:[NSSet class]];
273274
}
274275

275276
- (BOOL)isNSOrderedSet__
276277
{
277-
return [mockedClass isSubclassOfClass:[NSOrderedSet class]];
278+
return [self.mockedClass isSubclassOfClass:[NSOrderedSet class]];
278279
}
279280

280281
- (BOOL)isNSNumber__
281282
{
282-
return [mockedClass isSubclassOfClass:[NSNumber class]];
283+
return [self.mockedClass isSubclassOfClass:[NSNumber class]];
283284
}
284285

285286
- (BOOL)isNSDate__
286287
{
287-
return [mockedClass isSubclassOfClass:[NSDate class]];
288+
return [self.mockedClass isSubclassOfClass:[NSDate class]];
288289
}
289290

290291
- (BOOL)isNSString__
291292
{
292-
return [mockedClass isSubclassOfClass:[NSString class]];
293+
return [self.mockedClass isSubclassOfClass:[NSString class]];
293294
}
294295

295296
- (BOOL)isNSDictionary__
296297
{
297-
return [mockedClass isSubclassOfClass:[NSDictionary class]];
298+
return [self.mockedClass isSubclassOfClass:[NSDictionary class]];
298299
}
299300

300301
- (BOOL)isNSData__
301302
{
302-
return [mockedClass isSubclassOfClass:[NSData class]];
303+
return [self.mockedClass isSubclassOfClass:[NSData class]];
303304
}
304305

305306
- (BOOL)isNSArray__
306307
{
307-
return [mockedClass isSubclassOfClass:[NSArray class]];
308+
return [self.mockedClass isSubclassOfClass:[NSArray class]];
308309
}
309310

310311
@end

0 commit comments

Comments
 (0)