Index: third_party/ocmock/OCMock/OCMConstraint.m |
diff --git a/third_party/ocmock/OCMock/OCMConstraint.m b/third_party/ocmock/OCMock/OCMConstraint.m |
index b4535a4e1f3a26dccd3b0492f0ed080d8f96a9b0..d92be74bdd958c6bf9d2eec27c25be7c8beb129f 100644 |
--- a/third_party/ocmock/OCMock/OCMConstraint.m |
+++ b/third_party/ocmock/OCMock/OCMConstraint.m |
@@ -1,14 +1,25 @@ |
-//--------------------------------------------------------------------------------------- |
-// $Id$ |
-// Copyright (c) 2007-2010 by Mulle Kybernetik. See License file for details. |
-//--------------------------------------------------------------------------------------- |
+/* |
+ * Copyright (c) 2007-2015 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/OCMConstraint.h> |
@implementation OCMConstraint |
-+ (id)constraint |
++ (instancetype)constraint |
{ |
return [[[self alloc] init] autorelease]; |
} |
@@ -18,12 +29,12 @@ |
return NO; |
} |
-- (id)copyWithZone:(NSZone *)zone |
+- (id)copyWithZone:(struct _NSZone *)zone |
{ |
- return [self retain]; |
+ return [self retain]; |
} |
-+ (id)constraintWithSelector:(SEL)aSelector onObject:(id)anObject |
++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject |
{ |
OCMInvocationConstraint *constraint = [OCMInvocationConstraint constraint]; |
NSMethodSignature *signature = [anObject methodSignatureForSelector:aSelector]; |
@@ -36,7 +47,7 @@ |
return constraint; |
} |
-+ (id)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue |
++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue |
{ |
OCMInvocationConstraint *constraint = [self constraintWithSelector:aSelector onObject:anObject]; |
if([[constraint->invocation methodSignature] numberOfArguments] < 4) |
@@ -119,22 +130,27 @@ |
#pragma mark - |
-#if NS_BLOCKS_AVAILABLE |
- |
@implementation OCMBlockConstraint |
-- (id)initWithConstraintBlock:(BOOL (^)(id))aBlock; |
+- (instancetype)initWithConstraintBlock:(BOOL (^)(id))aBlock |
{ |
- self = [super init]; |
- block = aBlock; |
+ if ((self = [super init])) |
+ { |
+ block = [aBlock copy]; |
+ } |
+ |
return self; |
} |
+- (void)dealloc { |
+ [block release]; |
+ [super dealloc]; |
+} |
+ |
- (BOOL)evaluate:(id)value |
{ |
- return block(value); |
+ return block ? block(value) : NO; |
} |
-@end |
-#endif |
+@end |