Skip to content

Commit

Permalink
Merge branch 'master' of github.com:erikdoe/ocmock
Browse files Browse the repository at this point in the history
  • Loading branch information
erikdoe committed Jan 20, 2016
2 parents 63ccee8 + 6689ba4 commit ee7ec22
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 38 deletions.
34 changes: 0 additions & 34 deletions Source/OCMock.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1490,10 +1490,6 @@
GCC_PREFIX_HEADER = "OCMock/OCMock-Prefix.pch";
INFOPLIST_FILE = "OCMock/OCMock-Info.plist";
LD_DYLIB_INSTALL_NAME = "@rpath/$(EXECUTABLE_PATH)";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SYSTEM_LIBRARY_DIR)/Frameworks/Foundation.framework/Versions/C\"",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.mulle-kybernetik.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = framework;
Expand All @@ -1512,10 +1508,6 @@
GCC_PREFIX_HEADER = "OCMock/OCMock-Prefix.pch";
INFOPLIST_FILE = "OCMock/OCMock-Info.plist";
LD_DYLIB_INSTALL_NAME = "@rpath/$(EXECUTABLE_PATH)";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SYSTEM_LIBRARY_DIR)/Frameworks/Foundation.framework/Versions/C\"",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.mulle-kybernetik.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = framework;
Expand All @@ -1530,10 +1522,6 @@
GCC_PREFIX_HEADER = "OCMockLib/OCMockLib-Prefix.pch";
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
"IPHONEOS_DEPLOYMENT_TARGET[arch=arm64]" = 7.0;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SYSTEM_LIBRARY_DIR)/Frameworks/Foundation.framework/Versions/C\"",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = OCMock;
PUBLIC_HEADERS_FOLDER_PATH = "$(PRODUCT_NAME)";
Expand All @@ -1552,10 +1540,6 @@
GCC_PREFIX_HEADER = "OCMockLib/OCMockLib-Prefix.pch";
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
"IPHONEOS_DEPLOYMENT_TARGET[arch=arm64]" = 7.0;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SYSTEM_LIBRARY_DIR)/Frameworks/Foundation.framework/Versions/C\"",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = OCMock;
PUBLIC_HEADERS_FOLDER_PATH = "$(PRODUCT_NAME)";
Expand All @@ -1577,10 +1561,6 @@
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(DEVELOPER_FRAMEWORKS_DIR)",
"$(inherited)",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "OCMockTests/OCMockTests-Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
Expand Down Expand Up @@ -1609,10 +1589,6 @@
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
COMBINE_HIDPI_IMAGES = YES;
ENABLE_NS_ASSERTIONS = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(DEVELOPER_FRAMEWORKS_DIR)",
"$(inherited)",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "OCMockTests/OCMockTests-Prefix.pch";
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
Expand Down Expand Up @@ -1710,11 +1686,6 @@
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(DEVELOPER_FRAMEWORKS_DIR)",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "OCMockLibTests/OCMockLibTests-Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
Expand Down Expand Up @@ -1745,11 +1716,6 @@
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
ENABLE_NS_ASSERTIONS = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
"$(DEVELOPER_FRAMEWORKS_DIR)",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "OCMockLibTests/OCMockLibTests-Prefix.pch";
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
Expand Down
12 changes: 8 additions & 4 deletions Source/OCMock/OCMPassByRefSetter.m
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,14 @@ - (void)dealloc

- (void)handleArgument:(id)arg
{
if([value isKindOfClass:[NSValue class]])
[(NSValue *)value getValue:[arg pointerValue]];
else
*(id *)[arg pointerValue] = value;
void *pointerValue = [arg pointerValue];
if(pointerValue != NULL)
{
if([value isKindOfClass:[NSValue class]])
[(NSValue *)value getValue:pointerValue];
else
*(id *)pointerValue = value;
}
}

@end
28 changes: 28 additions & 0 deletions Source/OCMockTests/OCMockObjectTests.m
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,25 @@ - (void)doStuffWithBlock:(void (^)())block andString:(id)aString;
@end


@interface TestClassWithByReferenceMethod : NSObject

- (void)returnValuesInObjectPointer:(id *)objectPointer booleanPointer:(BOOL *)booleanPointer;

@end

@implementation TestClassWithByReferenceMethod

- (void)returnValuesInObjectPointer:(id *)objectPointer booleanPointer:(BOOL *)booleanPointer
{
if(objectPointer != NULL)
*objectPointer = [[NSObject alloc] init];
if(booleanPointer != NULL)
*booleanPointer = NO;
}

@end


@interface NotificationRecorderForTesting : NSObject
{
@public
Expand Down Expand Up @@ -637,6 +656,15 @@ - (void)testReturnsValuesInNonObjectPassByReferenceArguments
}


- (void)testReturnsValuesInNullPassByReferenceArguments
{
mock = OCMClassMock([TestClassWithByReferenceMethod class]);
OCMStub([mock returnValuesInObjectPointer:[OCMArg setTo:nil] booleanPointer:[OCMArg setToValue:@NO]]);
[mock returnValuesInObjectPointer:NULL booleanPointer:NULL];
OCMVerify([mock returnValuesInObjectPointer:NULL booleanPointer:NULL]);
}


// --------------------------------------------------------------------------------------
// invoking block arguments
// --------------------------------------------------------------------------------------
Expand Down

0 comments on commit ee7ec22

Please sign in to comment.