Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1120)

Unified Diff: third_party/ocmock/OCMock/OCProtocolMockObject.m

Issue 2624143003: Update OCMock to 3.1.5 (Closed)
Patch Set: Patches in more commits Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/ocmock/OCMock/OCProtocolMockObject.h ('k') | third_party/ocmock/README.chromium » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/ocmock/OCMock/OCProtocolMockObject.m
diff --git a/third_party/ocmock/OCMock/OCProtocolMockObject.m b/third_party/ocmock/OCMock/OCProtocolMockObject.m
index 19e25e8796801126d4bb61b8dffbd86a168ee73c..82f61679f68abd25b186d1450a3dbd27a6602ab5 100644
--- a/third_party/ocmock/OCMock/OCProtocolMockObject.m
+++ b/third_party/ocmock/OCMock/OCProtocolMockObject.m
@@ -1,7 +1,18 @@
-//---------------------------------------------------------------------------------------
-// $Id$
-// Copyright (c) 2005-2008 by Mulle Kybernetik. See License file for details.
-//---------------------------------------------------------------------------------------
+/*
+ * Copyright (c) 2005-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 <objc/runtime.h>
#import "NSMethodSignature+OCMAdditions.h"
@@ -13,6 +24,7 @@
- (id)initWithProtocol:(Protocol *)aProtocol
{
+ NSParameterAssert(aProtocol != nil);
[super init];
mockedProtocol = aProtocol;
return self;
@@ -21,23 +33,21 @@
- (NSString *)description
{
const char* name = protocol_getName(mockedProtocol);
- return [NSString stringWithFormat:@"OCMockObject[%s]", name];
+ return [NSString stringWithFormat:@"OCMockObject(%s)", name];
}
#pragma mark Proxy API
- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
{
- struct objc_method_description methodDescription = protocol_getMethodDescription(mockedProtocol, aSelector, YES, YES);
- if(methodDescription.name == NULL)
- {
- methodDescription = protocol_getMethodDescription(mockedProtocol, aSelector, NO, YES);
+ struct { BOOL isRequired; BOOL isInstance; } opts[4] = { {YES, YES}, {NO, YES}, {YES, NO}, {NO, NO} };
+ for(int i = 0; i < 4; i++)
+ {
+ struct objc_method_description methodDescription = protocol_getMethodDescription(mockedProtocol, aSelector, opts[i].isRequired, opts[i].isInstance);
+ if(methodDescription.name != NULL)
+ return [NSMethodSignature signatureWithObjCTypes:methodDescription.types];
}
- if(methodDescription.name == NULL)
- {
- return nil;
- }
- return [NSMethodSignature signatureWithObjCTypes:methodDescription.types];
+ return nil;
}
- (BOOL)conformsToProtocol:(Protocol *)aProtocol
« no previous file with comments | « third_party/ocmock/OCMock/OCProtocolMockObject.h ('k') | third_party/ocmock/README.chromium » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698