| 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..031fe809bd746bc624c377fd073766d43a80ae11 100644
|
| --- a/third_party/ocmock/OCMock/OCMConstraint.m
|
| +++ b/third_party/ocmock/OCMock/OCMConstraint.m
|
| @@ -1,16 +1,26 @@
|
| -//---------------------------------------------------------------------------------------
|
| -// $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
|
| -{
|
| - return [[[self alloc] init] autorelease];
|
| ++ (instancetype)constraint {
|
| + return [[[self alloc] init] autorelease];
|
| }
|
|
|
| - (BOOL)evaluate:(id)value
|
| @@ -18,31 +28,37 @@
|
| return NO;
|
| }
|
|
|
| -- (id)copyWithZone:(NSZone *)zone
|
| -{
|
| - return [self retain];
|
| +- (id)copyWithZone:(struct _NSZone*)zone {
|
| + return [self retain];
|
| }
|
|
|
| -+ (id)constraintWithSelector:(SEL)aSelector onObject:(id)anObject
|
| -{
|
| - OCMInvocationConstraint *constraint = [OCMInvocationConstraint constraint];
|
| - NSMethodSignature *signature = [anObject methodSignatureForSelector:aSelector];
|
| - if(signature == nil)
|
| - [NSException raise:NSInvalidArgumentException format:@"Unkown selector %@ used in constraint.", NSStringFromSelector(aSelector)];
|
| - NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
|
| - [invocation setTarget:anObject];
|
| - [invocation setSelector:aSelector];
|
| - constraint->invocation = invocation;
|
| - return constraint;
|
| ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject {
|
| + OCMInvocationConstraint* constraint = [OCMInvocationConstraint constraint];
|
| + NSMethodSignature* signature =
|
| + [anObject methodSignatureForSelector:aSelector];
|
| + if (signature == nil)
|
| + [NSException raise:NSInvalidArgumentException
|
| + format:@"Unkown selector %@ used in constraint.",
|
| + NSStringFromSelector(aSelector)];
|
| + NSInvocation* invocation =
|
| + [NSInvocation invocationWithMethodSignature:signature];
|
| + [invocation setTarget:anObject];
|
| + [invocation setSelector:aSelector];
|
| + constraint->invocation = invocation;
|
| + return constraint;
|
| }
|
|
|
| -+ (id)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue
|
| -{
|
| - OCMInvocationConstraint *constraint = [self constraintWithSelector:aSelector onObject:anObject];
|
| - if([[constraint->invocation methodSignature] numberOfArguments] < 4)
|
| - [NSException raise:NSInvalidArgumentException format:@"Constraint with value requires selector with two arguments."];
|
| - [constraint->invocation setArgument:&aValue atIndex:3];
|
| - return constraint;
|
| ++ (instancetype)constraintWithSelector:(SEL)aSelector
|
| + onObject:(id)anObject
|
| + withValue:(id)aValue {
|
| + OCMInvocationConstraint* constraint =
|
| + [self constraintWithSelector:aSelector onObject:anObject];
|
| + if ([[constraint->invocation methodSignature] numberOfArguments] < 4)
|
| + [NSException
|
| + raise:NSInvalidArgumentException
|
| + format:@"Constraint with value requires selector with two arguments."];
|
| + [constraint->invocation setArgument:&aValue atIndex:3];
|
| + return constraint;
|
| }
|
|
|
|
|
| @@ -119,22 +135,24 @@
|
|
|
| #pragma mark -
|
|
|
| -#if NS_BLOCKS_AVAILABLE
|
| -
|
| @implementation OCMBlockConstraint
|
|
|
| -- (id)initWithConstraintBlock:(BOOL (^)(id))aBlock;
|
| -{
|
| - self = [super init];
|
| - block = aBlock;
|
| - return self;
|
| +- (instancetype)initWithConstraintBlock:(BOOL (^)(id))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
|
|
|