From 73cd7a670555b2fd576642f930b58c7043f7c5fd Mon Sep 17 00:00:00 2001 From: Blake Watters Date: Thu, 4 Oct 2012 10:54:46 -0400 Subject: [PATCH] Eliminated vendored copies of testing libraries in favor of Cocoapods. Add Kiwi to testing stack --- .gitignore | 5 +- Gemfile | 1 + Gemfile.lock | 33 ++ Podfile | 7 + Podfile.lock | 17 + RestKit.xcodeproj/project.pbxproj | 355 +++------------- RestKit.xcworkspace/contents.xcworkspacedata | 34 +- Tests/RKTestEnvironment.h | 2 +- .../OCHamcrest/OCHamcrest.framework/Headers | 1 - .../OCHamcrest.framework/OCHamcrest | 1 - .../OCHamcrest/OCHamcrest.framework/Resources | 1 - .../Versions/A/Headers/HCAllOf.h | 43 -- .../Versions/A/Headers/HCAnyOf.h | 43 -- .../Versions/A/Headers/HCAssertThat.h | 40 -- .../Versions/A/Headers/HCBaseDescription.h | 31 -- .../Versions/A/Headers/HCBaseMatcher.h | 25 -- .../Versions/A/Headers/HCBoxNumber.h | 88 ---- .../Versions/A/Headers/HCCollectMatchers.h | 21 - .../Versions/A/Headers/HCDescribedAs.h | 48 --- .../Versions/A/Headers/HCDescription.h | 55 --- .../Versions/A/Headers/HCHasCount.h | 61 --- .../Versions/A/Headers/HCHasDescription.h | 42 -- .../Versions/A/Headers/HCHasProperty.h | 49 --- .../Versions/A/Headers/HCInvocationMatcher.h | 62 --- .../Versions/A/Headers/HCIs.h | 52 --- .../Versions/A/Headers/HCIsAnything.h | 61 --- .../Versions/A/Headers/HCIsCloseTo.h | 45 -- .../A/Headers/HCIsCollectionContaining.h | 67 --- .../HCIsCollectionContainingInAnyOrder.h | 45 -- .../Headers/HCIsCollectionContainingInOrder.h | 43 -- .../A/Headers/HCIsCollectionOnlyContaining.h | 50 --- .../A/Headers/HCIsDictionaryContaining.h | 52 --- .../Headers/HCIsDictionaryContainingEntries.h | 51 --- .../A/Headers/HCIsDictionaryContainingKey.h | 47 --- .../A/Headers/HCIsDictionaryContainingValue.h | 47 --- .../Versions/A/Headers/HCIsEmptyCollection.h | 34 -- .../Versions/A/Headers/HCIsEqual.h | 42 -- .../A/Headers/HCIsEqualIgnoringCase.h | 47 --- .../A/Headers/HCIsEqualIgnoringWhiteSpace.h | 48 --- .../Versions/A/Headers/HCIsEqualToNumber.h | 323 --------------- .../Versions/A/Headers/HCIsIn.h | 40 -- .../Versions/A/Headers/HCIsInstanceOf.h | 43 -- .../Versions/A/Headers/HCIsNil.h | 45 -- .../Versions/A/Headers/HCIsNot.h | 45 -- .../Versions/A/Headers/HCIsSame.h | 40 -- .../Versions/A/Headers/HCMatcher.h | 54 --- .../Versions/A/Headers/HCNumberAssert.h | 385 ------------------ .../Versions/A/Headers/HCOrderingComparison.h | 113 ----- .../A/Headers/HCRequireNonNilObject.h | 17 - .../A/Headers/HCRequireNonNilString.h | 19 - .../Versions/A/Headers/HCSelfDescribing.h | 30 -- .../Versions/A/Headers/HCStringContains.h | 43 -- .../A/Headers/HCStringContainsInOrder.h | 48 --- .../Versions/A/Headers/HCStringDescription.h | 41 -- .../Versions/A/Headers/HCStringEndsWith.h | 43 -- .../Versions/A/Headers/HCStringStartsWith.h | 43 -- .../Versions/A/Headers/HCSubstringMatcher.h | 18 - .../Versions/A/Headers/HCWrapInMatcher.h | 20 - .../Headers/NSObject+HCSelfDescribingValue.h | 28 -- .../Versions/A/Headers/OCHamcrest.h | 134 ------ .../Versions/A/OCHamcrest | Bin 321204 -> 0 bytes .../Versions/A/Resources/Info.plist | 42 -- .../OCHamcrest.framework/Versions/Current | 1 - .../OCHamcrestIOS.framework/Headers | 1 - .../OCHamcrestIOS.framework/OCHamcrestIOS | 1 - .../OCHamcrestIOS.framework/Resources | 1 - .../Versions/A/Headers/HCAllOf.h | 43 -- .../Versions/A/Headers/HCAnyOf.h | 43 -- .../Versions/A/Headers/HCAssertThat.h | 40 -- .../Versions/A/Headers/HCBaseDescription.h | 31 -- .../Versions/A/Headers/HCBaseMatcher.h | 25 -- .../Versions/A/Headers/HCBoxNumber.h | 88 ---- .../Versions/A/Headers/HCCollectMatchers.h | 21 - .../Versions/A/Headers/HCDescribedAs.h | 48 --- .../Versions/A/Headers/HCDescription.h | 55 --- .../Versions/A/Headers/HCHasCount.h | 61 --- .../Versions/A/Headers/HCHasDescription.h | 42 -- .../Versions/A/Headers/HCHasProperty.h | 49 --- .../Versions/A/Headers/HCInvocationMatcher.h | 62 --- .../Versions/A/Headers/HCIs.h | 52 --- .../Versions/A/Headers/HCIsAnything.h | 61 --- .../Versions/A/Headers/HCIsCloseTo.h | 45 -- .../A/Headers/HCIsCollectionContaining.h | 67 --- .../HCIsCollectionContainingInAnyOrder.h | 45 -- .../Headers/HCIsCollectionContainingInOrder.h | 43 -- .../A/Headers/HCIsCollectionOnlyContaining.h | 50 --- .../A/Headers/HCIsDictionaryContaining.h | 52 --- .../Headers/HCIsDictionaryContainingEntries.h | 51 --- .../A/Headers/HCIsDictionaryContainingKey.h | 47 --- .../A/Headers/HCIsDictionaryContainingValue.h | 47 --- .../Versions/A/Headers/HCIsEmptyCollection.h | 34 -- .../Versions/A/Headers/HCIsEqual.h | 42 -- .../A/Headers/HCIsEqualIgnoringCase.h | 47 --- .../A/Headers/HCIsEqualIgnoringWhiteSpace.h | 48 --- .../Versions/A/Headers/HCIsEqualToNumber.h | 323 --------------- .../Versions/A/Headers/HCIsIn.h | 40 -- .../Versions/A/Headers/HCIsInstanceOf.h | 43 -- .../Versions/A/Headers/HCIsNil.h | 45 -- .../Versions/A/Headers/HCIsNot.h | 45 -- .../Versions/A/Headers/HCIsSame.h | 40 -- .../Versions/A/Headers/HCMatcher.h | 54 --- .../Versions/A/Headers/HCNumberAssert.h | 385 ------------------ .../Versions/A/Headers/HCOrderingComparison.h | 113 ----- .../A/Headers/HCRequireNonNilObject.h | 17 - .../A/Headers/HCRequireNonNilString.h | 19 - .../Versions/A/Headers/HCSelfDescribing.h | 30 -- .../Versions/A/Headers/HCStringContains.h | 43 -- .../A/Headers/HCStringContainsInOrder.h | 48 --- .../Versions/A/Headers/HCStringDescription.h | 41 -- .../Versions/A/Headers/HCStringEndsWith.h | 43 -- .../Versions/A/Headers/HCStringStartsWith.h | 43 -- .../Versions/A/Headers/HCSubstringMatcher.h | 18 - .../Versions/A/Headers/HCWrapInMatcher.h | 20 - .../Headers/NSObject+HCSelfDescribingValue.h | 28 -- .../Versions/A/Headers/OCHamcrestIOS.h | 134 ------ .../Versions/A/OCHamcrestIOS | Bin 1284524 -> 0 bytes .../Versions/A/Resources/Info.plist | 42 -- .../OCHamcrestIOS.framework/Versions/Current | 1 - .../OCMock/OCMock/NSInvocation+OCMAdditions.h | 34 -- .../OCMock/OCMock/NSInvocation+OCMAdditions.m | 337 --------------- .../OCMock/NSMethodSignature+OCMAdditions.h | 18 - .../OCMock/NSMethodSignature+OCMAdditions.m | 19 - .../NSNotificationCenter+OCMAdditions.h | 15 - .../NSNotificationCenter+OCMAdditions.m | 17 - .../Vendor/OCMock/OCMock/OCClassMockObject.h | 17 - .../Vendor/OCMock/OCMock/OCClassMockObject.m | 43 -- .../OCMock/OCMock/OCClassMockRecorder.h | 12 - .../OCMock/OCMock/OCClassMockRecorder.m | 26 -- Tests/Vendor/OCMock/OCMock/OCMArg.h | 33 -- Tests/Vendor/OCMock/OCMock/OCMArg.m | 74 ---- Tests/Vendor/OCMock/OCMock/OCMBlockCaller.h | 21 - Tests/Vendor/OCMock/OCMock/OCMBlockCaller.m | 32 -- .../OCMock/OCMBoxedReturnValueProvider.h | 12 - .../OCMock/OCMBoxedReturnValueProvider.m | 21 - Tests/Vendor/OCMock/OCMock/OCMConstraint.h | 64 --- Tests/Vendor/OCMock/OCMock/OCMConstraint.m | 136 ------- .../OCMock/OCMExceptionReturnValueProvider.h | 12 - .../OCMock/OCMExceptionReturnValueProvider.m | 16 - .../OCMock/OCMIndirectReturnValueProvider.h | 18 - .../OCMock/OCMIndirectReturnValueProvider.m | 33 -- .../OCMock/OCMock/OCMNotificationPoster.h | 17 - .../OCMock/OCMock/OCMNotificationPoster.m | 30 -- .../OCMock/OCMock/OCMObserverRecorder.h | 19 - .../OCMock/OCMock/OCMObserverRecorder.m | 75 ---- .../Vendor/OCMock/OCMock/OCMPassByRefSetter.h | 17 - .../Vendor/OCMock/OCMock/OCMPassByRefSetter.m | 29 -- .../OCMock/OCMock/OCMRealObjectForwarder.h | 14 - .../OCMock/OCMock/OCMRealObjectForwarder.m | 29 -- .../OCMock/OCMock/OCMReturnValueProvider.h | 17 - .../OCMock/OCMock/OCMReturnValueProvider.m | 33 -- Tests/Vendor/OCMock/OCMock/OCMock-Info.plist | 30 -- Tests/Vendor/OCMock/OCMock/OCMock-Prefix.pch | 7 - Tests/Vendor/OCMock/OCMock/OCMock.h | 10 - .../Vendor/OCMock/OCMock/OCMockClassObject.h | 20 - .../Vendor/OCMock/OCMock/OCMockClassObject.m | 120 ------ Tests/Vendor/OCMock/OCMock/OCMockObject.h | 46 --- Tests/Vendor/OCMock/OCMock/OCMockObject.m | 266 ------------ Tests/Vendor/OCMock/OCMock/OCMockRecorder.h | 32 -- Tests/Vendor/OCMock/OCMock/OCMockRecorder.m | 187 --------- .../OCMock/OCMock/OCObserverMockObject.h | 22 - .../OCMock/OCMock/OCObserverMockObject.m | 83 ---- .../OCMock/OCMock/OCPartialMockObject.h | 25 -- .../OCMock/OCMock/OCPartialMockObject.m | 142 ------- .../OCMock/OCMock/OCPartialMockRecorder.h | 12 - .../OCMock/OCMock/OCPartialMockRecorder.m | 27 -- .../OCMock/OCMock/OCProtocolMockObject.h | 16 - .../OCMock/OCMock/OCProtocolMockObject.m | 53 --- .../OCMock/OCMock/en.lproj/InfoPlist.strings | 2 - 168 files changed, 118 insertions(+), 8640 deletions(-) create mode 100644 Podfile create mode 100644 Podfile.lock delete mode 120000 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Headers delete mode 120000 Tests/Vendor/OCHamcrest/OCHamcrest.framework/OCHamcrest delete mode 120000 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Resources delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCAllOf.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCAnyOf.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCAssertThat.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCBaseDescription.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCBaseMatcher.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCBoxNumber.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCCollectMatchers.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCDescribedAs.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCDescription.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCHasCount.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCHasDescription.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCHasProperty.h delete mode 100755 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCInvocationMatcher.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIs.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsAnything.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCloseTo.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContaining.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContainingInAnyOrder.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContainingInOrder.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionOnlyContaining.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContaining.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingEntries.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingKey.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingValue.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEmptyCollection.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqual.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqualIgnoringCase.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqualIgnoringWhiteSpace.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqualToNumber.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsIn.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsInstanceOf.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsNil.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsNot.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsSame.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCMatcher.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCNumberAssert.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCOrderingComparison.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCRequireNonNilObject.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCRequireNonNilString.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCSelfDescribing.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringContains.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringContainsInOrder.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringDescription.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringEndsWith.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringStartsWith.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCSubstringMatcher.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCWrapInMatcher.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/NSObject+HCSelfDescribingValue.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/OCHamcrest.h delete mode 100755 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/OCHamcrest delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Resources/Info.plist delete mode 120000 Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/Current delete mode 120000 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Headers delete mode 120000 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/OCHamcrestIOS delete mode 120000 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Resources delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCAllOf.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCAnyOf.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCAssertThat.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCBaseDescription.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCBaseMatcher.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCBoxNumber.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCCollectMatchers.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCDescribedAs.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCDescription.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCHasCount.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCHasDescription.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCHasProperty.h delete mode 100755 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCInvocationMatcher.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIs.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsAnything.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCloseTo.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionContaining.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionContainingInAnyOrder.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionContainingInOrder.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionOnlyContaining.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContaining.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContainingEntries.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContainingKey.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContainingValue.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEmptyCollection.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqual.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqualIgnoringCase.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqualIgnoringWhiteSpace.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqualToNumber.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsIn.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsInstanceOf.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsNil.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsNot.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsSame.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCMatcher.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCNumberAssert.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCOrderingComparison.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCRequireNonNilObject.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCRequireNonNilString.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCSelfDescribing.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringContains.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringContainsInOrder.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringDescription.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringEndsWith.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringStartsWith.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCSubstringMatcher.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCWrapInMatcher.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/NSObject+HCSelfDescribingValue.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/OCHamcrestIOS.h delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/OCHamcrestIOS delete mode 100644 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Resources/Info.plist delete mode 120000 Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/Current delete mode 100644 Tests/Vendor/OCMock/OCMock/NSInvocation+OCMAdditions.h delete mode 100644 Tests/Vendor/OCMock/OCMock/NSInvocation+OCMAdditions.m delete mode 100644 Tests/Vendor/OCMock/OCMock/NSMethodSignature+OCMAdditions.h delete mode 100644 Tests/Vendor/OCMock/OCMock/NSMethodSignature+OCMAdditions.m delete mode 100644 Tests/Vendor/OCMock/OCMock/NSNotificationCenter+OCMAdditions.h delete mode 100644 Tests/Vendor/OCMock/OCMock/NSNotificationCenter+OCMAdditions.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCClassMockObject.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCClassMockObject.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCClassMockRecorder.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCClassMockRecorder.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMArg.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMArg.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMBlockCaller.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMBlockCaller.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMBoxedReturnValueProvider.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMBoxedReturnValueProvider.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMConstraint.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMConstraint.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMExceptionReturnValueProvider.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMExceptionReturnValueProvider.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMIndirectReturnValueProvider.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMIndirectReturnValueProvider.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMNotificationPoster.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMNotificationPoster.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMObserverRecorder.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMObserverRecorder.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMPassByRefSetter.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMPassByRefSetter.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMRealObjectForwarder.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMRealObjectForwarder.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMReturnValueProvider.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMReturnValueProvider.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMock-Info.plist delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMock-Prefix.pch delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMock.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMockClassObject.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMockClassObject.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMockObject.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMockObject.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMockRecorder.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCMockRecorder.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCObserverMockObject.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCObserverMockObject.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCPartialMockObject.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCPartialMockObject.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCPartialMockRecorder.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCPartialMockRecorder.m delete mode 100644 Tests/Vendor/OCMock/OCMock/OCProtocolMockObject.h delete mode 100644 Tests/Vendor/OCMock/OCMock/OCProtocolMockObject.m delete mode 100644 Tests/Vendor/OCMock/OCMock/en.lproj/InfoPlist.strings diff --git a/.gitignore b/.gitignore index 1391d1b041..f94f644e50 100644 --- a/.gitignore +++ b/.gitignore @@ -21,4 +21,7 @@ Docs/API Examples/RKDiscussionBoardExample/discussion_board_backend/public/system/attachments/* -test-reports/ \ No newline at end of file +test-reports/ + +# CocoaPods +Pods diff --git a/Gemfile b/Gemfile index 3863206d65..9ac5145327 100644 --- a/Gemfile +++ b/Gemfile @@ -8,3 +8,4 @@ gem 'xcoder', :git => "git://github.com/rayh/xcoder.git" gem 'restkit', :git => 'git://github.com/RestKit/RestKit-Gem.git' gem 'debugger', '1.2.0' gem 'faker', '1.1.2' +gem 'cocoapods', '0.15.0' diff --git a/Gemfile.lock b/Gemfile.lock index f1fb6772f2..c8bcf99075 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -27,7 +27,22 @@ GIT GEM remote: http://rubygems.org/ specs: + activesupport (3.2.8) + i18n (~> 0.6) + multi_json (~> 1.0) + addressable (2.3.2) builder (3.1.3) + cocoapods (0.15.0) + activesupport (~> 3.2.6) + colored (~> 1.2) + escape (~> 0.0.4) + faraday (~> 0.8.1) + json (~> 1.7.3) + octokit (~> 1.7) + open4 (~> 1.3.0) + rake (~> 0.9.0) + xcodeproj (>= 0.3.4) + colored (1.2) columnize (0.3.6) daemons (1.1.9) debugger (1.2.0) @@ -37,13 +52,28 @@ GEM debugger-linecache (1.1.2) debugger-ruby_core_source (>= 1.1.1) debugger-ruby_core_source (1.1.3) + escape (0.0.4) eventmachine (1.0.0) faker (1.1.2) i18n (~> 0.5) + faraday (0.8.4) + multipart-post (~> 1.1) + faraday_middleware (0.8.8) + faraday (>= 0.7.4, < 0.9) + hashie (1.2.0) i18n (0.6.1) json (1.7.5) mime-types (1.19) + multi_json (1.3.6) + multipart-post (1.1.5) nokogiri (1.5.5) + octokit (1.15.1) + addressable (~> 2.2) + faraday (~> 0.8) + faraday_middleware (~> 0.8) + hashie (~> 1.2) + multi_json (~> 1.3) + open4 (1.3.0) plist (3.1.0) rack (1.4.1) rack-protection (1.2.0) @@ -56,12 +86,15 @@ GEM eventmachine (>= 0.12.6) rack (>= 1.0.0) tilt (1.3.3) + xcodeproj (0.3.4) + activesupport (~> 3.2.6) PLATFORMS ruby DEPENDENCIES bundler (~> 1.2.0) + cocoapods (= 0.15.0) debugger (= 1.2.0) faker (= 1.1.2) rake (~> 0.9.0) diff --git a/Podfile b/Podfile new file mode 100644 index 0000000000..3482978a57 --- /dev/null +++ b/Podfile @@ -0,0 +1,7 @@ +platform :ios, '5.0' +link_with ['RestKitTests', 'RestKitFrameworkTests'] +inhibit_all_warnings! + +pod 'Kiwi', '1.1.0' +pod 'OCMock', '2.0.1' +pod 'OCHamcrest', '1.8' diff --git a/Podfile.lock b/Podfile.lock new file mode 100644 index 0000000000..e696813e54 --- /dev/null +++ b/Podfile.lock @@ -0,0 +1,17 @@ + +PODS: +- Kiwi (1.1.0) +- OCHamcrest (1.8) +- OCMock (2.0.1) + +DEPENDENCIES: +- Kiwi (= 1.1.0) +- OCHamcrest (= 1.8) +- OCMock (= 2.0.1) + +SPEC CHECKSUMS: + Kiwi: 9141d15cf4f52a2178139ea16722f021b4059906 + OCHamcrest: 75258b3746b118ed9de96a6a8d985546f32e0f9b + OCMock: 77a9c4c57af6bf258a537d34cf09abf422affede + +COCOAPODS: 0.15.0 diff --git a/RestKit.xcodeproj/project.pbxproj b/RestKit.xcodeproj/project.pbxproj index 92bb8681a3..c298be9280 100644 --- a/RestKit.xcodeproj/project.pbxproj +++ b/RestKit.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 0BD827D1939444AF9897B48F /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C8C87FF6727A42D68CA2220E /* libPods.a */; }; 2502C8ED15F79CF70060FD75 /* CoreData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2502C8E715F79CF70060FD75 /* CoreData.h */; settings = {ATTRIBUTES = (Public, ); }; }; 2502C8EE15F79CF70060FD75 /* CoreData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2502C8E715F79CF70060FD75 /* CoreData.h */; }; 2502C8EF15F79CF70060FD75 /* Network.h in Headers */ = {isa = PBXBuildFile; fileRef = 2502C8E815F79CF70060FD75 /* Network.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -42,9 +43,6 @@ 2507C328161BD5C700EA71FF /* RKTestHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 2507C325161BD5C700EA71FF /* RKTestHelpers.h */; settings = {ATTRIBUTES = (Public, ); }; }; 2507C329161BD5C700EA71FF /* RKTestHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 2507C326161BD5C700EA71FF /* RKTestHelpers.m */; }; 2507C32A161BD5C700EA71FF /* RKTestHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 2507C326161BD5C700EA71FF /* RKTestHelpers.m */; }; - 250CA67D147D8E8B0047D347 /* OCHamcrest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 250CA67B147D8E800047D347 /* OCHamcrest.framework */; }; - 250CA67E147D8E8F0047D347 /* OCHamcrestIOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 250CA67C147D8E800047D347 /* OCHamcrestIOS.framework */; }; - 250CA680147D8F050047D347 /* OCHamcrest.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 250CA67B147D8E800047D347 /* OCHamcrest.framework */; }; 25104F1F15C30CD900829135 /* RKSearchWord.h in Headers */ = {isa = PBXBuildFile; fileRef = 25104F1315C30CD900829135 /* RKSearchWord.h */; settings = {ATTRIBUTES = (Public, ); }; }; 25104F2015C30CD900829135 /* RKSearchWord.h in Headers */ = {isa = PBXBuildFile; fileRef = 25104F1315C30CD900829135 /* RKSearchWord.h */; }; 25104F2115C30CD900829135 /* RKSearchWord.m in Sources */ = {isa = PBXBuildFile; fileRef = 25104F1415C30CD900829135 /* RKSearchWord.m */; }; @@ -468,10 +466,6 @@ 25AA23D115AF2920006EF62D /* RKManagedObjectMappingOperationDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 25AA23CF15AF291F006EF62D /* RKManagedObjectMappingOperationDataSource.m */; }; 25AA23D815AF5085006EF62D /* RKManagedObjectMappingOperationDataSourceTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 25AA23D315AF4F25006EF62D /* RKManagedObjectMappingOperationDataSourceTest.m */; }; 25AA23D915AF5086006EF62D /* RKManagedObjectMappingOperationDataSourceTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 25AA23D315AF4F25006EF62D /* RKManagedObjectMappingOperationDataSourceTest.m */; }; - 25AE61C615ADE9E500B319C8 /* OCClassMockRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 25AE61BE15ADE9E500B319C8 /* OCClassMockRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25AE61C715ADE9E500B319C8 /* OCClassMockRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 25AE61BE15ADE9E500B319C8 /* OCClassMockRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25AE61C815ADE9E500B319C8 /* OCMockClassObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 25AE61C315ADE9E500B319C8 /* OCMockClassObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25AE61C915ADE9E500B319C8 /* OCMockClassObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 25AE61C315ADE9E500B319C8 /* OCMockClassObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 25AE61CA15ADEBD000B319C8 /* RKConnectionMapping.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC044C81576CE72003DCDD6 /* RKConnectionMapping.h */; settings = {ATTRIBUTES = (Public, ); }; }; 25AE61DE15ADEF5800B319C8 /* RKConnectionMapping.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BC044C91576CE72003DCDD6 /* RKConnectionMapping.m */; }; 25AFF8F115B4CF1F0051877F /* RKMappingErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = 25AFF8F015B4CF1F0051877F /* RKMappingErrors.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -488,52 +482,6 @@ 25B6E95D14CF7E3C00B1E881 /* RKDynamicMappingMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 25B6E95A14CF7E3C00B1E881 /* RKDynamicMappingMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; 25B6E95E14CF7E3C00B1E881 /* RKDynamicMappingMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E95B14CF7E3C00B1E881 /* RKDynamicMappingMatcher.m */; }; 25B6E95F14CF7E3C00B1E881 /* RKDynamicMappingMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E95B14CF7E3C00B1E881 /* RKDynamicMappingMatcher.m */; }; - 25B6E9A414CF829400B1E881 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 25B6E97B14CF829400B1E881 /* InfoPlist.strings */; }; - 25B6E9A514CF829400B1E881 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 25B6E97B14CF829400B1E881 /* InfoPlist.strings */; }; - 25B6E9A614CF829400B1E881 /* NSInvocation+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E97E14CF829400B1E881 /* NSInvocation+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9A714CF829400B1E881 /* NSInvocation+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E97E14CF829400B1E881 /* NSInvocation+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9A814CF829400B1E881 /* NSMethodSignature+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98014CF829400B1E881 /* NSMethodSignature+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9A914CF829400B1E881 /* NSMethodSignature+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98014CF829400B1E881 /* NSMethodSignature+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9AA14CF829400B1E881 /* NSNotificationCenter+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98114CF829400B1E881 /* NSNotificationCenter+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9AB14CF829400B1E881 /* NSNotificationCenter+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98114CF829400B1E881 /* NSNotificationCenter+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9AC14CF829400B1E881 /* OCClassMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98314CF829400B1E881 /* OCClassMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9AD14CF829400B1E881 /* OCClassMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98314CF829400B1E881 /* OCClassMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9AE14CF829400B1E881 /* OCMArg.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98414CF829400B1E881 /* OCMArg.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9AF14CF829400B1E881 /* OCMArg.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98414CF829400B1E881 /* OCMArg.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9B014CF829400B1E881 /* OCMBlockCaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98614CF829400B1E881 /* OCMBlockCaller.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9B114CF829400B1E881 /* OCMBlockCaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98614CF829400B1E881 /* OCMBlockCaller.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9B214CF829400B1E881 /* OCMBoxedReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98814CF829400B1E881 /* OCMBoxedReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9B314CF829400B1E881 /* OCMBoxedReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98814CF829400B1E881 /* OCMBoxedReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9B414CF829400B1E881 /* OCMConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98914CF829400B1E881 /* OCMConstraint.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9B514CF829400B1E881 /* OCMConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98914CF829400B1E881 /* OCMConstraint.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9B614CF829400B1E881 /* OCMExceptionReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98B14CF829400B1E881 /* OCMExceptionReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9B714CF829400B1E881 /* OCMExceptionReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98B14CF829400B1E881 /* OCMExceptionReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9B814CF829400B1E881 /* OCMIndirectReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98D14CF829400B1E881 /* OCMIndirectReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9B914CF829400B1E881 /* OCMIndirectReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98D14CF829400B1E881 /* OCMIndirectReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9BA14CF829400B1E881 /* OCMNotificationPoster.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98F14CF829400B1E881 /* OCMNotificationPoster.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9BB14CF829400B1E881 /* OCMNotificationPoster.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E98F14CF829400B1E881 /* OCMNotificationPoster.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9BC14CF829400B1E881 /* OCMObserverRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99114CF829400B1E881 /* OCMObserverRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9BD14CF829400B1E881 /* OCMObserverRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99114CF829400B1E881 /* OCMObserverRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9BE14CF829400B1E881 /* OCMock-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 25B6E99214CF829400B1E881 /* OCMock-Info.plist */; }; - 25B6E9BF14CF829400B1E881 /* OCMock-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 25B6E99214CF829400B1E881 /* OCMock-Info.plist */; }; - 25B6E9C014CF829400B1E881 /* OCMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99414CF829400B1E881 /* OCMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9C114CF829400B1E881 /* OCMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99414CF829400B1E881 /* OCMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9C214CF829400B1E881 /* OCMockRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99514CF829400B1E881 /* OCMockRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9C314CF829400B1E881 /* OCMockRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99514CF829400B1E881 /* OCMockRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9C414CF829400B1E881 /* OCMPassByRefSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99714CF829400B1E881 /* OCMPassByRefSetter.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9C514CF829400B1E881 /* OCMPassByRefSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99714CF829400B1E881 /* OCMPassByRefSetter.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9C614CF829400B1E881 /* OCMRealObjectForwarder.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99914CF829400B1E881 /* OCMRealObjectForwarder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9C714CF829400B1E881 /* OCMRealObjectForwarder.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99914CF829400B1E881 /* OCMRealObjectForwarder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9C814CF829400B1E881 /* OCMReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99B14CF829400B1E881 /* OCMReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9C914CF829400B1E881 /* OCMReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99B14CF829400B1E881 /* OCMReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9CA14CF829400B1E881 /* OCObserverMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99D14CF829400B1E881 /* OCObserverMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9CB14CF829400B1E881 /* OCObserverMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99D14CF829400B1E881 /* OCObserverMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9CC14CF829400B1E881 /* OCPartialMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99F14CF829400B1E881 /* OCPartialMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9CD14CF829400B1E881 /* OCPartialMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E99F14CF829400B1E881 /* OCPartialMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9CE14CF829400B1E881 /* OCPartialMockRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E9A114CF829400B1E881 /* OCPartialMockRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9CF14CF829400B1E881 /* OCPartialMockRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E9A114CF829400B1E881 /* OCPartialMockRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9D014CF829400B1E881 /* OCProtocolMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E9A314CF829400B1E881 /* OCProtocolMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 25B6E9D114CF829400B1E881 /* OCProtocolMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E9A314CF829400B1E881 /* OCProtocolMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 25B6E9DB14CF912500B1E881 /* RKSearchable.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E9D614CF912500B1E881 /* RKSearchable.m */; }; 25B6E9DC14CF912500B1E881 /* RKSearchable.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E9D614CF912500B1E881 /* RKSearchable.m */; }; 25B6E9DD14CF912500B1E881 /* RKTestAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 25B6E9D814CF912500B1E881 /* RKTestAddress.m */; }; @@ -584,6 +532,7 @@ 25FBB853159272DD00955D27 /* RKRouter.h in Headers */ = {isa = PBXBuildFile; fileRef = 25FBB850159272DD00955D27 /* RKRouter.h */; settings = {ATTRIBUTES = (Public, ); }; }; 25FBB854159272DD00955D27 /* RKRouter.m in Sources */ = {isa = PBXBuildFile; fileRef = 25FBB851159272DD00955D27 /* RKRouter.m */; }; 25FBB855159272DD00955D27 /* RKRouter.m in Sources */ = {isa = PBXBuildFile; fileRef = 25FBB851159272DD00955D27 /* RKRouter.m */; }; + 36F3D0E4FD7C4C4AA2B4FEB2 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C8C87FF6727A42D68CA2220E /* libPods.a */; }; 49D2759D14C9EF1E0090845D /* ISO8601DateFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 49D2759914C9EF1E0090845D /* ISO8601DateFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; 49D2759E14C9EF1E0090845D /* ISO8601DateFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 49D2759914C9EF1E0090845D /* ISO8601DateFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; 49D2759F14C9EF1E0090845D /* ISO8601DateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 49D2759A14C9EF1E0090845D /* ISO8601DateFormatter.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; @@ -626,7 +575,6 @@ dstPath = ""; dstSubfolderSpec = 16; files = ( - 250CA680147D8F050047D347 /* OCHamcrest.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -651,8 +599,6 @@ 25079C75151B952200266AE7 /* NSEntityDescription+RKAdditionsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSEntityDescription+RKAdditionsTest.m"; sourceTree = ""; }; 2507C325161BD5C700EA71FF /* RKTestHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RKTestHelpers.h; path = Testing/RKTestHelpers.h; sourceTree = ""; }; 2507C326161BD5C700EA71FF /* RKTestHelpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RKTestHelpers.m; path = Testing/RKTestHelpers.m; sourceTree = ""; }; - 250CA67B147D8E800047D347 /* OCHamcrest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = OCHamcrest.framework; sourceTree = ""; }; - 250CA67C147D8E800047D347 /* OCHamcrestIOS.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = OCHamcrestIOS.framework; sourceTree = ""; }; 25104F1315C30CD900829135 /* RKSearchWord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RKSearchWord.h; sourceTree = ""; }; 25104F1415C30CD900829135 /* RKSearchWord.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKSearchWord.m; sourceTree = ""; }; 25104F2715C30D1700829135 /* RKManagedObjectStore+RKSearchAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RKManagedObjectStore+RKSearchAdditions.h"; sourceTree = ""; }; @@ -665,10 +611,10 @@ 25104F3A15C30F2100829135 /* RKSearchWordEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKSearchWordEntity.m; sourceTree = ""; }; 25119FB5154A34B400C6BC58 /* parents_and_children.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = parents_and_children.json; sourceTree = ""; }; 25160D1614564E810060A5C5 /* libRestKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRestKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 25160D1914564E810060A5C5 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 25160D1914564E810060A5C5 /* Foundation.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 25160D2614564E820060A5C5 /* RestKitTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RestKitTests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; - 25160D2714564E820060A5C5 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; - 25160D2914564E820060A5C5 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + 25160D2714564E820060A5C5 /* SenTestingKit.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; + 25160D2914564E820060A5C5 /* UIKit.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; 25160D4C145650490060A5C5 /* RKEntityMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RKEntityMapping.h; sourceTree = ""; }; 25160D4D145650490060A5C5 /* RKEntityMapping.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKEntityMapping.m; sourceTree = ""; }; 25160D50145650490060A5C5 /* RKManagedObjectImporter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RKManagedObjectImporter.h; sourceTree = ""; }; @@ -714,7 +660,7 @@ 25160DC6145650490060A5C5 /* RKPathMatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RKPathMatcher.h; sourceTree = ""; }; 25160DC7145650490060A5C5 /* RKPathMatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKPathMatcher.m; sourceTree = ""; }; 25160E62145651060060A5C5 /* RestKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RestKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 25160E63145651060060A5C5 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; + 25160E63145651060060A5C5 /* Cocoa.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; 25160E66145651060060A5C5 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; 25160E67145651060060A5C5 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; 25160E68145651060060A5C5 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; @@ -726,7 +672,7 @@ 25160EB11456532C0060A5C5 /* LCLNSLog_RK.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LCLNSLog_RK.m; sourceTree = ""; }; 25160EBD1456532C0060A5C5 /* SOCKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SOCKit.h; sourceTree = ""; }; 25160EBE1456532C0060A5C5 /* SOCKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SOCKit.m; sourceTree = ""; }; - 25160F161456538B0060A5C5 /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; }; + 25160F161456538B0060A5C5 /* libxml2.dylib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; }; 25160F7B145657220060A5C5 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = SDKs/MacOSX10.7.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; 25160F7D1456572F0060A5C5 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; 25160FC71456F2330060A5C5 /* RKManagedObjectLoaderTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKManagedObjectLoaderTest.m; sourceTree = ""; }; @@ -808,11 +754,11 @@ 251610531456F2330060A5C5 /* NSStringRestKitTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSStringRestKitTest.m; sourceTree = ""; }; 251610541456F2330060A5C5 /* RKDotNetDateFormatterTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKDotNetDateFormatterTest.m; sourceTree = ""; }; 251610561456F2330060A5C5 /* RKPathMatcherTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKPathMatcherTest.m; sourceTree = ""; }; - 251611281456F50F0060A5C5 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; - 2516112A1456F5170060A5C5 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; - 2516112D1456F5520060A5C5 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; - 2516112F1456F5590060A5C5 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; - 251611311456F56C0060A5C5 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; + 251611281456F50F0060A5C5 /* SystemConfiguration.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; + 2516112A1456F5170060A5C5 /* CFNetwork.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; + 2516112D1456F5520060A5C5 /* CoreData.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; + 2516112F1456F5590060A5C5 /* Security.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; + 251611311456F56C0060A5C5 /* MobileCoreServices.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; 2519764215823BA1004FE9DD /* RKObjectAttributeMappingTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKObjectAttributeMappingTest.m; sourceTree = ""; }; 2519764715824455004FE9DD /* RKObjectRelationshipMappingTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKObjectRelationshipMappingTest.m; sourceTree = ""; }; 2519764B158244F8004FE9DD /* RKObjectMappingTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKObjectMappingTest.m; sourceTree = ""; }; @@ -906,16 +852,6 @@ 25A763E415C7424500A9DF31 /* RKSearchIndexerTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKSearchIndexerTest.m; sourceTree = ""; }; 25AA23CF15AF291F006EF62D /* RKManagedObjectMappingOperationDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKManagedObjectMappingOperationDataSource.m; sourceTree = ""; }; 25AA23D315AF4F25006EF62D /* RKManagedObjectMappingOperationDataSourceTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKManagedObjectMappingOperationDataSourceTest.m; sourceTree = ""; }; - 25AE61BC15ADE9E400B319C8 /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+OCMAdditions.h"; sourceTree = ""; }; - 25AE61BD15ADE9E500B319C8 /* OCClassMockRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCClassMockRecorder.h; sourceTree = ""; }; - 25AE61BE15ADE9E500B319C8 /* OCClassMockRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCClassMockRecorder.m; sourceTree = ""; }; - 25AE61BF15ADE9E500B319C8 /* OCMArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMArg.h; sourceTree = ""; }; - 25AE61C015ADE9E500B319C8 /* OCMConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMConstraint.h; sourceTree = ""; }; - 25AE61C115ADE9E500B319C8 /* OCMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMock.h; sourceTree = ""; }; - 25AE61C215ADE9E500B319C8 /* OCMockClassObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMockClassObject.h; sourceTree = ""; }; - 25AE61C315ADE9E500B319C8 /* OCMockClassObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCMockClassObject.m; sourceTree = ""; }; - 25AE61C415ADE9E500B319C8 /* OCMockObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMockObject.h; sourceTree = ""; }; - 25AE61C515ADE9E500B319C8 /* OCMockRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMockRecorder.h; sourceTree = ""; }; 25AFF8F015B4CF1F0051877F /* RKMappingErrors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RKMappingErrors.h; sourceTree = ""; }; 25B408241491CDDB00F21111 /* RKPathUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RKPathUtilities.h; sourceTree = ""; }; 25B408251491CDDB00F21111 /* RKPathUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKPathUtilities.m; sourceTree = ""; }; @@ -923,54 +859,14 @@ 25B6E95714CF7A1C00B1E881 /* RKErrors.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKErrors.m; sourceTree = ""; }; 25B6E95A14CF7E3C00B1E881 /* RKDynamicMappingMatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RKDynamicMappingMatcher.h; sourceTree = ""; }; 25B6E95B14CF7E3C00B1E881 /* RKDynamicMappingMatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKDynamicMappingMatcher.m; sourceTree = ""; }; - 25B6E97C14CF829400B1E881 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - 25B6E97D14CF829400B1E881 /* NSInvocation+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSInvocation+OCMAdditions.h"; sourceTree = ""; }; - 25B6E97E14CF829400B1E881 /* NSInvocation+OCMAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSInvocation+OCMAdditions.m"; sourceTree = ""; }; - 25B6E97F14CF829400B1E881 /* NSMethodSignature+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMethodSignature+OCMAdditions.h"; sourceTree = ""; }; - 25B6E98014CF829400B1E881 /* NSMethodSignature+OCMAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMethodSignature+OCMAdditions.m"; sourceTree = ""; }; - 25B6E98114CF829400B1E881 /* NSNotificationCenter+OCMAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSNotificationCenter+OCMAdditions.m"; sourceTree = ""; }; - 25B6E98214CF829400B1E881 /* OCClassMockObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCClassMockObject.h; sourceTree = ""; }; - 25B6E98314CF829400B1E881 /* OCClassMockObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCClassMockObject.m; sourceTree = ""; }; - 25B6E98414CF829400B1E881 /* OCMArg.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCMArg.m; sourceTree = ""; }; - 25B6E98514CF829400B1E881 /* OCMBlockCaller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMBlockCaller.h; sourceTree = ""; }; - 25B6E98614CF829400B1E881 /* OCMBlockCaller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCMBlockCaller.m; sourceTree = ""; }; - 25B6E98714CF829400B1E881 /* OCMBoxedReturnValueProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMBoxedReturnValueProvider.h; sourceTree = ""; }; - 25B6E98814CF829400B1E881 /* OCMBoxedReturnValueProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCMBoxedReturnValueProvider.m; sourceTree = ""; }; - 25B6E98914CF829400B1E881 /* OCMConstraint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCMConstraint.m; sourceTree = ""; }; - 25B6E98A14CF829400B1E881 /* OCMExceptionReturnValueProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMExceptionReturnValueProvider.h; sourceTree = ""; }; - 25B6E98B14CF829400B1E881 /* OCMExceptionReturnValueProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCMExceptionReturnValueProvider.m; sourceTree = ""; }; - 25B6E98C14CF829400B1E881 /* OCMIndirectReturnValueProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMIndirectReturnValueProvider.h; sourceTree = ""; }; - 25B6E98D14CF829400B1E881 /* OCMIndirectReturnValueProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCMIndirectReturnValueProvider.m; sourceTree = ""; }; - 25B6E98E14CF829400B1E881 /* OCMNotificationPoster.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMNotificationPoster.h; sourceTree = ""; }; - 25B6E98F14CF829400B1E881 /* OCMNotificationPoster.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCMNotificationPoster.m; sourceTree = ""; }; - 25B6E99014CF829400B1E881 /* OCMObserverRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMObserverRecorder.h; sourceTree = ""; }; - 25B6E99114CF829400B1E881 /* OCMObserverRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCMObserverRecorder.m; sourceTree = ""; }; - 25B6E99214CF829400B1E881 /* OCMock-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "OCMock-Info.plist"; sourceTree = ""; }; - 25B6E99314CF829400B1E881 /* OCMock-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OCMock-Prefix.pch"; sourceTree = ""; }; - 25B6E99414CF829400B1E881 /* OCMockObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCMockObject.m; sourceTree = ""; }; - 25B6E99514CF829400B1E881 /* OCMockRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCMockRecorder.m; sourceTree = ""; }; - 25B6E99614CF829400B1E881 /* OCMPassByRefSetter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMPassByRefSetter.h; sourceTree = ""; }; - 25B6E99714CF829400B1E881 /* OCMPassByRefSetter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCMPassByRefSetter.m; sourceTree = ""; }; - 25B6E99814CF829400B1E881 /* OCMRealObjectForwarder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMRealObjectForwarder.h; sourceTree = ""; }; - 25B6E99914CF829400B1E881 /* OCMRealObjectForwarder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCMRealObjectForwarder.m; sourceTree = ""; }; - 25B6E99A14CF829400B1E881 /* OCMReturnValueProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMReturnValueProvider.h; sourceTree = ""; }; - 25B6E99B14CF829400B1E881 /* OCMReturnValueProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCMReturnValueProvider.m; sourceTree = ""; }; - 25B6E99C14CF829400B1E881 /* OCObserverMockObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCObserverMockObject.h; sourceTree = ""; }; - 25B6E99D14CF829400B1E881 /* OCObserverMockObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCObserverMockObject.m; sourceTree = ""; }; - 25B6E99E14CF829400B1E881 /* OCPartialMockObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCPartialMockObject.h; sourceTree = ""; }; - 25B6E99F14CF829400B1E881 /* OCPartialMockObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCPartialMockObject.m; sourceTree = ""; }; - 25B6E9A014CF829400B1E881 /* OCPartialMockRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCPartialMockRecorder.h; sourceTree = ""; }; - 25B6E9A114CF829400B1E881 /* OCPartialMockRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCPartialMockRecorder.m; sourceTree = ""; }; - 25B6E9A214CF829400B1E881 /* OCProtocolMockObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCProtocolMockObject.h; sourceTree = ""; }; - 25B6E9A314CF829400B1E881 /* OCProtocolMockObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCProtocolMockObject.m; sourceTree = ""; }; 25B6E9D514CF912500B1E881 /* RKSearchable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RKSearchable.h; sourceTree = ""; }; 25B6E9D614CF912500B1E881 /* RKSearchable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKSearchable.m; sourceTree = ""; }; 25B6E9D714CF912500B1E881 /* RKTestAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RKTestAddress.h; sourceTree = ""; }; 25B6E9D814CF912500B1E881 /* RKTestAddress.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKTestAddress.m; sourceTree = ""; }; 25B6E9D914CF912500B1E881 /* RKTestUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RKTestUser.h; sourceTree = ""; }; 25B6E9DA14CF912500B1E881 /* RKTestUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKTestUser.m; sourceTree = ""; }; - 25B6EA0514CF946300B1E881 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - 25B6EA0714CF947D00B1E881 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 25B6EA0514CF946300B1E881 /* QuartzCore.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 25B6EA0714CF947D00B1E881 /* CoreGraphics.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 25C246A315C83B090032212E /* RKSearchTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKSearchTest.m; sourceTree = ""; }; 25C954A415542A47005C9E08 /* RKTestConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RKTestConstants.m; path = Testing/RKTestConstants.m; sourceTree = ""; }; 25CA7A8E14EC570100888FF8 /* RKMapping.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKMapping.m; sourceTree = ""; }; @@ -1005,6 +901,8 @@ 73D3907814CA1D710093E3D6 /* channels.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = channels.xml; sourceTree = ""; }; 8BC044C81576CE72003DCDD6 /* RKConnectionMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RKConnectionMapping.h; sourceTree = ""; }; 8BC044C91576CE72003DCDD6 /* RKConnectionMapping.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RKConnectionMapping.m; sourceTree = ""; }; + C4123D3CDB2C42AE86B273D7 /* Pods.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.xcconfig; path = Pods/Pods.xcconfig; sourceTree = SOURCE_ROOT; }; + C8C87FF6727A42D68CA2220E /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1033,7 +931,7 @@ 25160D2814564E820060A5C5 /* SenTestingKit.framework in Frameworks */, 25160D2A14564E820060A5C5 /* UIKit.framework in Frameworks */, 25160D2B14564E820060A5C5 /* Foundation.framework in Frameworks */, - 250CA67E147D8E8F0047D347 /* OCHamcrestIOS.framework in Frameworks */, + 0BD827D1939444AF9897B48F /* libPods.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1054,22 +952,13 @@ 25160E79145651060060A5C5 /* SenTestingKit.framework in Frameworks */, 25160E7A145651060060A5C5 /* Cocoa.framework in Frameworks */, 25160E7D145651060060A5C5 /* RestKit.framework in Frameworks */, - 250CA67D147D8E8B0047D347 /* OCHamcrest.framework in Frameworks */, + 36F3D0E4FD7C4C4AA2B4FEB2 /* libPods.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 250CA67A147D8E7F0047D347 /* OCHamcrest */ = { - isa = PBXGroup; - children = ( - 250CA67B147D8E800047D347 /* OCHamcrest.framework */, - 250CA67C147D8E800047D347 /* OCHamcrestIOS.framework */, - ); - path = OCHamcrest; - sourceTree = ""; - }; 25104F0E15C30C7900829135 /* Search */ = { isa = PBXGroup; children = ( @@ -1109,6 +998,7 @@ 25160E8D145652E40060A5C5 /* Vendor */, 25160D1814564E810060A5C5 /* Frameworks */, 25160D1714564E810060A5C5 /* Products */, + C4123D3CDB2C42AE86B273D7 /* Pods.xcconfig */, ); sourceTree = ""; }; @@ -1143,6 +1033,7 @@ 25160E63145651060060A5C5 /* Cocoa.framework */, 25EC1B0014F8078100C3CF3F /* CoreFoundation.framework */, 25160E65145651060060A5C5 /* Other Frameworks */, + C8C87FF6727A42D68CA2220E /* libPods.a */, ); name = Frameworks; sourceTree = ""; @@ -1350,7 +1241,6 @@ 2516101B1456F2330060A5C5 /* ObjectMapping */, 251610511456F2330060A5C5 /* Support */, 25104F9B15C33E3A00829135 /* Search */, - 251610281456F2330060A5C5 /* Vendor */, 251610471456F2330060A5C5 /* Server */, ); path = Tests; @@ -1537,23 +1427,6 @@ path = Logic/ObjectMapping; sourceTree = ""; }; - 251610281456F2330060A5C5 /* Vendor */ = { - isa = PBXGroup; - children = ( - 250CA67A147D8E7F0047D347 /* OCHamcrest */, - 2516102B1456F2330060A5C5 /* OCMock */, - ); - path = Vendor; - sourceTree = ""; - }; - 2516102B1456F2330060A5C5 /* OCMock */ = { - isa = PBXGroup; - children = ( - 25B6E97A14CF829400B1E881 /* OCMock */, - ); - path = OCMock; - sourceTree = ""; - }; 251610471456F2330060A5C5 /* Server */ = { isa = PBXGroup; children = ( @@ -1628,63 +1501,6 @@ name = Testing; sourceTree = ""; }; - 25B6E97A14CF829400B1E881 /* OCMock */ = { - isa = PBXGroup; - children = ( - 25AE61BC15ADE9E400B319C8 /* NSNotificationCenter+OCMAdditions.h */, - 25AE61BD15ADE9E500B319C8 /* OCClassMockRecorder.h */, - 25AE61BE15ADE9E500B319C8 /* OCClassMockRecorder.m */, - 25AE61BF15ADE9E500B319C8 /* OCMArg.h */, - 25AE61C015ADE9E500B319C8 /* OCMConstraint.h */, - 25AE61C115ADE9E500B319C8 /* OCMock.h */, - 25AE61C215ADE9E500B319C8 /* OCMockClassObject.h */, - 25AE61C315ADE9E500B319C8 /* OCMockClassObject.m */, - 25AE61C415ADE9E500B319C8 /* OCMockObject.h */, - 25AE61C515ADE9E500B319C8 /* OCMockRecorder.h */, - 25B6E97B14CF829400B1E881 /* InfoPlist.strings */, - 25B6E97D14CF829400B1E881 /* NSInvocation+OCMAdditions.h */, - 25B6E97E14CF829400B1E881 /* NSInvocation+OCMAdditions.m */, - 25B6E97F14CF829400B1E881 /* NSMethodSignature+OCMAdditions.h */, - 25B6E98014CF829400B1E881 /* NSMethodSignature+OCMAdditions.m */, - 25B6E98114CF829400B1E881 /* NSNotificationCenter+OCMAdditions.m */, - 25B6E98214CF829400B1E881 /* OCClassMockObject.h */, - 25B6E98314CF829400B1E881 /* OCClassMockObject.m */, - 25B6E98414CF829400B1E881 /* OCMArg.m */, - 25B6E98514CF829400B1E881 /* OCMBlockCaller.h */, - 25B6E98614CF829400B1E881 /* OCMBlockCaller.m */, - 25B6E98714CF829400B1E881 /* OCMBoxedReturnValueProvider.h */, - 25B6E98814CF829400B1E881 /* OCMBoxedReturnValueProvider.m */, - 25B6E98914CF829400B1E881 /* OCMConstraint.m */, - 25B6E98A14CF829400B1E881 /* OCMExceptionReturnValueProvider.h */, - 25B6E98B14CF829400B1E881 /* OCMExceptionReturnValueProvider.m */, - 25B6E98C14CF829400B1E881 /* OCMIndirectReturnValueProvider.h */, - 25B6E98D14CF829400B1E881 /* OCMIndirectReturnValueProvider.m */, - 25B6E98E14CF829400B1E881 /* OCMNotificationPoster.h */, - 25B6E98F14CF829400B1E881 /* OCMNotificationPoster.m */, - 25B6E99014CF829400B1E881 /* OCMObserverRecorder.h */, - 25B6E99114CF829400B1E881 /* OCMObserverRecorder.m */, - 25B6E99214CF829400B1E881 /* OCMock-Info.plist */, - 25B6E99314CF829400B1E881 /* OCMock-Prefix.pch */, - 25B6E99414CF829400B1E881 /* OCMockObject.m */, - 25B6E99514CF829400B1E881 /* OCMockRecorder.m */, - 25B6E99614CF829400B1E881 /* OCMPassByRefSetter.h */, - 25B6E99714CF829400B1E881 /* OCMPassByRefSetter.m */, - 25B6E99814CF829400B1E881 /* OCMRealObjectForwarder.h */, - 25B6E99914CF829400B1E881 /* OCMRealObjectForwarder.m */, - 25B6E99A14CF829400B1E881 /* OCMReturnValueProvider.h */, - 25B6E99B14CF829400B1E881 /* OCMReturnValueProvider.m */, - 25B6E99C14CF829400B1E881 /* OCObserverMockObject.h */, - 25B6E99D14CF829400B1E881 /* OCObserverMockObject.m */, - 25B6E99E14CF829400B1E881 /* OCPartialMockObject.h */, - 25B6E99F14CF829400B1E881 /* OCPartialMockObject.m */, - 25B6E9A014CF829400B1E881 /* OCPartialMockRecorder.h */, - 25B6E9A114CF829400B1E881 /* OCPartialMockRecorder.m */, - 25B6E9A214CF829400B1E881 /* OCProtocolMockObject.h */, - 25B6E9A314CF829400B1E881 /* OCProtocolMockObject.m */, - ); - path = OCMock; - sourceTree = ""; - }; 25BCB31715ED57D500EE84DD /* AFNetworking */ = { isa = PBXGroup; children = ( @@ -2057,6 +1873,7 @@ 25160D2214564E820060A5C5 /* Frameworks */, 25160D2314564E820060A5C5 /* Resources */, 25160D2414564E820060A5C5 /* ShellScript */, + F1C99E66F43D4A42AEF2B162 /* Copy Pods Resources */, ); buildRules = ( ); @@ -2095,6 +1912,7 @@ 25160E75145651060060A5C5 /* Resources */, 250CA67F147D8EEC0047D347 /* CopyFiles */, 25160E76145651060060A5C5 /* ShellScript */, + 91F9BFD4685A46128EAED847 /* Copy Pods Resources */, ); buildRules = ( ); @@ -2172,8 +1990,6 @@ 73D3907414CA1AE00093E3D6 /* parent.json in Resources */, 73D3907614CA1AE60093E3D6 /* child.json in Resources */, 73D3907914CA1DD40093E3D6 /* channels.xml in Resources */, - 25B6E9A414CF829400B1E881 /* InfoPlist.strings in Resources */, - 25B6E9BE14CF829400B1E881 /* OCMock-Info.plist in Resources */, 252EFB2814DA0689004863C8 /* NakedEvents.json in Resources */, 25CAAA9415254E7800CAE5D7 /* ArrayOfHumans.json in Resources */, 25119FB6154A34B400C6BC58 /* parents_and_children.json in Resources */, @@ -2231,8 +2047,6 @@ 73D3907514CA1AE20093E3D6 /* parent.json in Resources */, 73D3907714CA1AE60093E3D6 /* child.json in Resources */, 73D3907A14CA1DD50093E3D6 /* channels.xml in Resources */, - 25B6E9A514CF829400B1E881 /* InfoPlist.strings in Resources */, - 25B6E9BF14CF829400B1E881 /* OCMock-Info.plist in Resources */, 252EFB2914DA0689004863C8 /* NakedEvents.json in Resources */, 25CAAA9515254E7800CAE5D7 /* ArrayOfHumans.json in Resources */, 25119FB7154A34B400C6BC58 /* parents_and_children.json in Resources */, @@ -2269,6 +2083,34 @@ shellPath = /bin/sh; shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; }; + 91F9BFD4685A46128EAED847 /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Pods-resources.sh\"\n"; + }; + F1C99E66F43D4A42AEF2B162 /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Pods-resources.sh\"\n"; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -2386,27 +2228,6 @@ 251611101456F2340060A5C5 /* NSStringRestKitTest.m in Sources */, 251611121456F2340060A5C5 /* RKDotNetDateFormatterTest.m in Sources */, 251611161456F2340060A5C5 /* RKPathMatcherTest.m in Sources */, - 25B6E9A614CF829400B1E881 /* NSInvocation+OCMAdditions.m in Sources */, - 25B6E9A814CF829400B1E881 /* NSMethodSignature+OCMAdditions.m in Sources */, - 25B6E9AA14CF829400B1E881 /* NSNotificationCenter+OCMAdditions.m in Sources */, - 25B6E9AC14CF829400B1E881 /* OCClassMockObject.m in Sources */, - 25B6E9AE14CF829400B1E881 /* OCMArg.m in Sources */, - 25B6E9B014CF829400B1E881 /* OCMBlockCaller.m in Sources */, - 25B6E9B214CF829400B1E881 /* OCMBoxedReturnValueProvider.m in Sources */, - 25B6E9B414CF829400B1E881 /* OCMConstraint.m in Sources */, - 25B6E9B614CF829400B1E881 /* OCMExceptionReturnValueProvider.m in Sources */, - 25B6E9B814CF829400B1E881 /* OCMIndirectReturnValueProvider.m in Sources */, - 25B6E9BA14CF829400B1E881 /* OCMNotificationPoster.m in Sources */, - 25B6E9BC14CF829400B1E881 /* OCMObserverRecorder.m in Sources */, - 25B6E9C014CF829400B1E881 /* OCMockObject.m in Sources */, - 25B6E9C214CF829400B1E881 /* OCMockRecorder.m in Sources */, - 25B6E9C414CF829400B1E881 /* OCMPassByRefSetter.m in Sources */, - 25B6E9C614CF829400B1E881 /* OCMRealObjectForwarder.m in Sources */, - 25B6E9C814CF829400B1E881 /* OCMReturnValueProvider.m in Sources */, - 25B6E9CA14CF829400B1E881 /* OCObserverMockObject.m in Sources */, - 25B6E9CC14CF829400B1E881 /* OCPartialMockObject.m in Sources */, - 25B6E9CE14CF829400B1E881 /* OCPartialMockRecorder.m in Sources */, - 25B6E9D014CF829400B1E881 /* OCProtocolMockObject.m in Sources */, 25B6E9DB14CF912500B1E881 /* RKSearchable.m in Sources */, 25B6E9DD14CF912500B1E881 /* RKTestAddress.m in Sources */, 25B6E9DF14CF912500B1E881 /* RKTestUser.m in Sources */, @@ -2416,8 +2237,6 @@ 25DB7508151BD551009F01AF /* NSManagedObjectContext+RKAdditionsTest.m in Sources */, 259D985A1550C6BE008C90F5 /* RKEntityByAttributeCacheTest.m in Sources */, 259D986415521B20008C90F5 /* RKEntityCacheTest.m in Sources */, - 25AE61C615ADE9E500B319C8 /* OCClassMockRecorder.m in Sources */, - 25AE61C815ADE9E500B319C8 /* OCMockClassObject.m in Sources */, 252029091577C78600076FB4 /* RKRouteSetTest.m in Sources */, 2519764315823BA1004FE9DD /* RKObjectAttributeMappingTest.m in Sources */, 2519764815824455004FE9DD /* RKObjectRelationshipMappingTest.m in Sources */, @@ -2549,27 +2368,6 @@ 251611111456F2340060A5C5 /* NSStringRestKitTest.m in Sources */, 251611131456F2340060A5C5 /* RKDotNetDateFormatterTest.m in Sources */, 251611171456F2340060A5C5 /* RKPathMatcherTest.m in Sources */, - 25B6E9A714CF829400B1E881 /* NSInvocation+OCMAdditions.m in Sources */, - 25B6E9A914CF829400B1E881 /* NSMethodSignature+OCMAdditions.m in Sources */, - 25B6E9AB14CF829400B1E881 /* NSNotificationCenter+OCMAdditions.m in Sources */, - 25B6E9AD14CF829400B1E881 /* OCClassMockObject.m in Sources */, - 25B6E9AF14CF829400B1E881 /* OCMArg.m in Sources */, - 25B6E9B114CF829400B1E881 /* OCMBlockCaller.m in Sources */, - 25B6E9B314CF829400B1E881 /* OCMBoxedReturnValueProvider.m in Sources */, - 25B6E9B514CF829400B1E881 /* OCMConstraint.m in Sources */, - 25B6E9B714CF829400B1E881 /* OCMExceptionReturnValueProvider.m in Sources */, - 25B6E9B914CF829400B1E881 /* OCMIndirectReturnValueProvider.m in Sources */, - 25B6E9BB14CF829400B1E881 /* OCMNotificationPoster.m in Sources */, - 25B6E9BD14CF829400B1E881 /* OCMObserverRecorder.m in Sources */, - 25B6E9C114CF829400B1E881 /* OCMockObject.m in Sources */, - 25B6E9C314CF829400B1E881 /* OCMockRecorder.m in Sources */, - 25B6E9C514CF829400B1E881 /* OCMPassByRefSetter.m in Sources */, - 25B6E9C714CF829400B1E881 /* OCMRealObjectForwarder.m in Sources */, - 25B6E9C914CF829400B1E881 /* OCMReturnValueProvider.m in Sources */, - 25B6E9CB14CF829400B1E881 /* OCObserverMockObject.m in Sources */, - 25B6E9CD14CF829400B1E881 /* OCPartialMockObject.m in Sources */, - 25B6E9CF14CF829400B1E881 /* OCPartialMockRecorder.m in Sources */, - 25B6E9D114CF829400B1E881 /* OCProtocolMockObject.m in Sources */, 25B6E9DC14CF912500B1E881 /* RKSearchable.m in Sources */, 25B6E9DE14CF912500B1E881 /* RKTestAddress.m in Sources */, 25B6E9E014CF912500B1E881 /* RKTestUser.m in Sources */, @@ -2579,8 +2377,6 @@ 25DB7509151BD551009F01AF /* NSManagedObjectContext+RKAdditionsTest.m in Sources */, 259D985B1550C6BE008C90F5 /* RKEntityByAttributeCacheTest.m in Sources */, 259D986515521B20008C90F5 /* RKEntityCacheTest.m in Sources */, - 25AE61C715ADE9E500B319C8 /* OCClassMockRecorder.m in Sources */, - 25AE61C915ADE9E500B319C8 /* OCMockClassObject.m in Sources */, 2520290A1577C78600076FB4 /* RKRouteSetTest.m in Sources */, 2519764415823BA1004FE9DD /* RKObjectAttributeMappingTest.m in Sources */, 2519764915824455004FE9DD /* RKObjectRelationshipMappingTest.m in Sources */, @@ -2611,17 +2407,6 @@ }; /* End PBXTargetDependency section */ -/* Begin PBXVariantGroup section */ - 25B6E97B14CF829400B1E881 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 25B6E97C14CF829400B1E881 /* en */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - /* Begin XCBuildConfiguration section */ 25160D3814564E820060A5C5 /* Debug */ = { isa = XCBuildConfiguration; @@ -2703,20 +2488,13 @@ }; 25160D3E14564E820060A5C5 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = C4123D3CDB2C42AE86B273D7 /* Pods.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_OBJCPP_ARC_ABI = YES; - FRAMEWORK_SEARCH_PATHS = ( - "\"$(SDKROOT)/Developer/Library/Frameworks\"", - "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"", - "\"$(SRCROOT)/Tests/Vendor\"", - "\"$(SRCROOT)/Tests/Vendor/OCHamcrest\"", - ); GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Code/Support/RestKit-Prefix.pch"; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/Tests/Vendor/OCMock\""; INFOPLIST_FILE = "Resources/PLISTs/RestKitTests-Info.plist"; - LIBRARY_SEARCH_PATHS = "${CONFIGURATION_BUILD_DIR}"; OBJROOT = "$(SRCROOT)/Build"; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -2727,20 +2505,13 @@ }; 25160D3F14564E820060A5C5 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = C4123D3CDB2C42AE86B273D7 /* Pods.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_OBJCPP_ARC_ABI = YES; - FRAMEWORK_SEARCH_PATHS = ( - "\"$(SDKROOT)/Developer/Library/Frameworks\"", - "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"", - "\"$(SRCROOT)/Tests/Vendor\"", - "\"$(SRCROOT)/Tests/Vendor/OCHamcrest\"", - ); GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Code/Support/RestKit-Prefix.pch"; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/Tests/Vendor/OCMock\""; INFOPLIST_FILE = "Resources/PLISTs/RestKitTests-Info.plist"; - LIBRARY_SEARCH_PATHS = "${CONFIGURATION_BUILD_DIR}"; OBJROOT = "$(SRCROOT)/Build"; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -2807,25 +2578,16 @@ }; 25160E8B145651060060A5C5 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = C4123D3CDB2C42AE86B273D7 /* Pods.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_ARC = YES; COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"", - "\"$(SRCROOT)/Tests/Vendor\"", - "\"$(SRCROOT)/Tests/Vendor/OCHamcrest\"", - ); GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Code/Support/RestKit-Prefix.pch"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/Tests/Vendor/OCMock\""; INFOPLIST_FILE = "Resources/PLISTs/RestKitFrameworkTests-Info.plist"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/Tests/Vendor/OCMock\"", - ); MACOSX_DEPLOYMENT_TARGET = 10.7; ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -2836,26 +2598,17 @@ }; 25160E8C145651060060A5C5 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = C4123D3CDB2C42AE86B273D7 /* Pods.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_ARC = YES; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FRAMEWORK_SEARCH_PATHS = ( - "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"", - "\"$(SRCROOT)/Tests/Vendor\"", - "\"$(SRCROOT)/Tests/Vendor/OCHamcrest\"", - ); GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Code/Support/RestKit-Prefix.pch"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/Tests/Vendor/OCMock\""; INFOPLIST_FILE = "Resources/PLISTs/RestKitFrameworkTests-Info.plist"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/Tests/Vendor/OCMock\"", - ); MACOSX_DEPLOYMENT_TARGET = 10.7; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; diff --git a/RestKit.xcworkspace/contents.xcworkspacedata b/RestKit.xcworkspace/contents.xcworkspacedata index cbd15a17d7..f6370608cb 100644 --- a/RestKit.xcworkspace/contents.xcworkspacedata +++ b/RestKit.xcworkspace/contents.xcworkspacedata @@ -1,33 +1 @@ - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/Tests/RKTestEnvironment.h b/Tests/RKTestEnvironment.h index 757db808c9..92bf16dc6a 100644 --- a/Tests/RKTestEnvironment.h +++ b/Tests/RKTestEnvironment.h @@ -22,7 +22,7 @@ #import #define HC_SHORTHAND -#import +#import "OCHamcrest.h" #import #import "RestKit.h" diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Headers b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Headers deleted file mode 120000 index a177d2a6b9..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/OCHamcrest b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/OCHamcrest deleted file mode 120000 index 7d4d801eb5..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/OCHamcrest +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/OCHamcrest \ No newline at end of file diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Resources b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Resources deleted file mode 120000 index 953ee36f3b..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCAllOf.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCAllOf.h deleted file mode 100644 index aa8458b08f..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCAllOf.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OCHamcrest - HCAllOf.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCAllOf : HCBaseMatcher -{ - NSArray *matchers; -} - -+ (id)allOf:(NSArray *)theMatchers; -- (id)initWithMatchers:(NSArray *)theMatchers; - -@end - - -OBJC_EXPORT id HC_allOf(id match, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - allOf(firstMatcher, ...) - - Matches if all of the given matchers evaluate to @c YES. - - @param firstMatcher,... A comma-separated list of matchers ending with @c nil. - - The matchers are evaluated from left to right using short-circuit evaluation, so evaluation - stops as soon as a matcher returns @c NO. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_allOf instead.) - - @ingroup logical_matchers - */ -#ifdef HC_SHORTHAND - #define allOf HC_allOf -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCAnyOf.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCAnyOf.h deleted file mode 100644 index 7043dc65f5..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCAnyOf.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OCHamcrest - HCAnyOf.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCAnyOf : HCBaseMatcher -{ - NSArray *matchers; -} - -+ (id)anyOf:(NSArray *)theMatchers; -- (id)initWithMatchers:(NSArray *)theMatchers; - -@end - - -OBJC_EXPORT id HC_anyOf(id match, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - anyOf(firstMatcher, ...) - - Matches if any of the given matchers evaluate to @c YES. - - @param firstMatcher,... A comma-separated list of matchers ending with @c nil. - - The matchers are evaluated from left to right using short-circuit evaluation, so evaluation - stops as soon as a matcher returns @c YES. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_anyOf instead.) - - @ingroup logical_matchers - */ -#ifdef HC_SHORTHAND - #define anyOf HC_anyOf -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCAssertThat.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCAssertThat.h deleted file mode 100644 index ea50cab095..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCAssertThat.h +++ /dev/null @@ -1,40 +0,0 @@ -// -// OCHamcrest - HCAssertThat.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - -@protocol HCMatcher; - - -OBJC_EXPORT void HC_assertThatWithLocation(id testCase, id actual, id matcher, - const char *fileName, int lineNumber); - -#define HC_assertThat(actual, matcher) \ - HC_assertThatWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThat(actual, matcher) - - Asserts that actual value satisfies matcher. - - @param actual The object to evaluate as the actual value. - @param matcher The matcher to satisfy as the expected condition. - - @c assertThat passes the actual value to the matcher for evaluation. If the matcher is not - satisfied, an exception is thrown describing the mismatch. - - @c assertThat is designed to integrate well with OCUnit and other unit testing frameworks. - Unmet assertions are reported as test failures. In Xcode, these failures can be clicked to - reveal the line of the assertion. - - In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThat instead. - - @ingroup integration - */ -#ifdef HC_SHORTHAND - #define assertThat HC_assertThat -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCBaseDescription.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCBaseDescription.h deleted file mode 100644 index e702fd5897..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCBaseDescription.h +++ /dev/null @@ -1,31 +0,0 @@ -// -// OCHamcrest - HCBaseDescription.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import -#import - - -/** - Base class for all HCDescription implementations. - - @ingroup core - */ -@interface HCBaseDescription : NSObject -@end - - -/** - Methods that must be provided by subclasses of HCBaseDescription. - */ -@interface HCBaseDescription (SubclassMustImplement) - -/** - Append the string @a str to the description. - */ -- (void)append:(NSString *)str; - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCBaseMatcher.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCBaseMatcher.h deleted file mode 100644 index f57bf64940..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCBaseMatcher.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// OCHamcrest - HCBaseMatcher.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import -#import - -#import // Convenience header, to provide OBJC_EXPORT - - -/** - Base class for all HCMatcher implementations. - - Most implementations can just implement @c -matches: and let - -matches:describingMismatchTo: call it. But if it makes more sense to generate the - mismatch description during the matching, override -matches:describingMismatchTo: - and have @c -matches: call it with a @c nil description. - - @ingroup core - */ -@interface HCBaseMatcher : NSObject -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCBoxNumber.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCBoxNumber.h deleted file mode 100644 index e97134fe62..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCBoxNumber.h +++ /dev/null @@ -1,88 +0,0 @@ -// -// OCHamcrest - HCBoxNumber.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#ifdef __cplusplus - -namespace hamcrest { - -/** - Boxes a scalar value in an NSNumber, specialized per type. - @ingroup number_matchers - */ -template -inline -NSNumber *boxNumber(T value) - { return nil; } - -template <> -inline -NSNumber *boxNumber(BOOL value) - { return [NSNumber numberWithBool:value]; } - -template <> -inline -NSNumber *boxNumber(char value) - { return [NSNumber numberWithChar:value]; } - -template <> -inline -NSNumber *boxNumber(double value) - { return [NSNumber numberWithDouble:value]; } - -template <> -inline -NSNumber *boxNumber(float value) - { return [NSNumber numberWithFloat:value]; } - -template <> -inline -NSNumber *boxNumber(int value) - { return [NSNumber numberWithInt:value]; } - -template <> -inline -NSNumber *boxNumber(long value) - { return [NSNumber numberWithLong:value]; } - -template <> -inline -NSNumber *boxNumber(long long value) - { return [NSNumber numberWithLongLong:value]; } - -template <> -inline -NSNumber *boxNumber(short value) - { return [NSNumber numberWithShort:value]; } - -template <> -inline -NSNumber *boxNumber(unsigned char value) - { return [NSNumber numberWithUnsignedChar:value]; } - -template <> -inline -NSNumber *boxNumber(unsigned int value) - { return [NSNumber numberWithUnsignedInt:value]; } - -template <> -inline -NSNumber *boxNumber(unsigned long value) - { return [NSNumber numberWithUnsignedLong:value]; } - -template <> -inline -NSNumber *boxNumber(unsigned long long value) - { return [NSNumber numberWithUnsignedLongLong:value]; } - -template <> -inline -NSNumber *boxNumber(unsigned short value) - { return [NSNumber numberWithUnsignedShort:value]; } - -} // namespace hamcrest - -#endif // __cplusplus diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCCollectMatchers.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCCollectMatchers.h deleted file mode 100644 index c1a9a038e1..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCCollectMatchers.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// OCHamcrest - HCCollectMatchers.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import -#import - -#import - -@protocol HCMatcher; - - -/** - Returns an array of matchers from a variable-length comma-separated list terminated by @c nil. - - @ingroup helpers -*/ -OBJC_EXPORT NSMutableArray *HCCollectMatchers(id item1, va_list args); diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCDescribedAs.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCDescribedAs.h deleted file mode 100644 index 717d173160..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCDescribedAs.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// OCHamcrest - HCDescribedAs.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCDescribedAs : HCBaseMatcher -{ - NSString *descriptionTemplate; - id matcher; - NSArray *values; -} - -+ (id)describedAs:(NSString *)description - forMatcher:(id)aMatcher - overValues:(NSArray *)templateValues; - -- (id)initWithDescription:(NSString *)description - forMatcher:(id)aMatcher - overValues:(NSArray *)templateValues; - -@end - - -OBJC_EXPORT id HC_describedAs(NSString *description, id matcher, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - describedAs(description, matcher, ...) - - Adds custom failure description to a given matcher. - - @param description Overrides the matcher's description. - @param matcher,... The matcher to satisfy, followed by a comma-separated list of substitution values ending with @c nil. - - The description may contain substitution placeholders \%0, \%1, etc. These will be replaced by - any values that follow the matcher. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_describedAs instead.) - - @ingroup decorator_matchers - */ -#ifdef HC_SHORTHAND - #define describedAs HC_describedAs -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCDescription.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCDescription.h deleted file mode 100644 index 26296d38bf..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCDescription.h +++ /dev/null @@ -1,55 +0,0 @@ -// -// OCHamcrest - HCDescription.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -/** - A description of an HCMatcher. - - An HCMatcher will describe itself to a description which can later be used for reporting. - - @ingroup core - */ -@protocol HCDescription - -/** - Appends some plain text to the description. - - @return @c self, for chaining. - */ -- (id)appendText:(NSString *)text; - -/** - Appends description of given value to @c self. - - If the value implements the @ref HCSelfDescribing protocol, then it will be used. - - @return @c self, for chaining. - */ -- (id)appendDescriptionOf:(id)value; - -/** - Appends an arbitary value to the description. - - @b Deprecated: Call @ref appendDescriptionOf: instead. - - @return @c self, for chaining. - */ -- (id)appendValue:(id)value __attribute__((deprecated)); - -/** - Appends a list of objects to the description. - - @return @c self, for chaining. - */ -- (id)appendList:(NSArray *)values - start:(NSString *)start - separator:(NSString *)separator - end:(NSString *)end; - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCHasCount.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCHasCount.h deleted file mode 100644 index 292b0fa973..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCHasCount.h +++ /dev/null @@ -1,61 +0,0 @@ -// -// OCHamcrest - HCHasCount.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCHasCount : HCBaseMatcher -{ - id countMatcher; -} - -+ (id)hasCount:(id)matcher; -- (id)initWithCount:(id)matcher; - -@end - - -OBJC_EXPORT id HC_hasCount(id matcher); - -/** - hasCount(aMatcher) - - Matches if object's @c -count satisfies a given matcher. - - @param aMatcher The matcher to satisfy. - - This matcher invokes @c -count on the evaluated object to get the number of elements it - contains, passing the result to @a aMatcher for evaluation. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasCount instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasCount HC_hasCount -#endif - - -OBJC_EXPORT id HC_hasCountOf(NSUInteger count); - -/** - hasCountOf(value) - - Matches if object's @c -count equals a given value. - - @param value @c NSUInteger value to compare against as the expected value. - - This matcher invokes @c -count on the evaluated object to get the number of elements it - contains, comparing the result to @a value for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasCountOf instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasCountOf HC_hasCountOf -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCHasDescription.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCHasDescription.h deleted file mode 100644 index 2a2295ea87..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCHasDescription.h +++ /dev/null @@ -1,42 +0,0 @@ -// -// OCHamcrest - HCHasDescription.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCHasDescription : HCInvocationMatcher - -+ (id)hasDescription:(id)descriptionMatcher; -- (id)initWithDescription:(id)descriptionMatcher; - -@end - - -OBJC_EXPORT id HC_hasDescription(id match); - -/** - hasDescription(aMatcher) - - Matches if object's @c -description satisfies a given matcher. - - @param aMatcher The matcher to satisfy, or an expected value for @ref equalTo matching. - - This matcher invokes @c -description on the evaluated object to get its description, passing the - result to a given matcher for evaluation. If the @a aMatcher argument is not a matcher, it is - implicitly wrapped in an @ref equalTo matcher to check for equality. - - Examples: - @li @ref hasDescription(@ref startsWith(\@"foo")) - @li @ref hasDescription(\@"bar") - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasDescription instead.) - - @ingroup object_matchers - */ -#ifdef HC_SHORTHAND - #define hasDescription HC_hasDescription -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCHasProperty.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCHasProperty.h deleted file mode 100644 index cd1bbd465e..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCHasProperty.h +++ /dev/null @@ -1,49 +0,0 @@ -// -// OCHamcrest - HCHasProperty.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Justin Shacklette -// - -#import - - -@interface HCHasProperty : HCBaseMatcher -{ - NSString *propertyName; - id valueMatcher; -} - -+ (id)hasProperty:(NSString *)property value:(id)aValueMatcher; -- (id)initWithProperty:(NSString *)property value:(id)aValueMatcher; - -@end - - -OBJC_EXPORT id HC_hasProperty(NSString *name, id valueMatch); - -/** - hasProperty(name, valueMatcher) - - Matches if object has a method of a given name whose return value satisfies a given matcher. - - @param name The name of a method without arguments that returns an object. - @param valueMatcher The matcher to satisfy for the return value, or an expected value for @ref equalTo matching. - - This matcher first checks if the evaluated object has a method with a name matching the given - @c name. If so, it invokes the method and sees if the returned value satisfies @c valueMatcher. - - While this matcher is called "hasProperty", it's useful for checking the results of any simple - methods, not just properties. - - Examples: - @li @ref hasProperty(@"firstName", @"Joe") - @li @ref hasProperty(@"firstName", startsWith(@"J")) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasProperty instead.) - - @ingroup object_matchers - */ -#ifdef HC_SHORTHAND - #define hasProperty HC_hasProperty -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCInvocationMatcher.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCInvocationMatcher.h deleted file mode 100755 index b9604ecb1a..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCInvocationMatcher.h +++ /dev/null @@ -1,62 +0,0 @@ -// -// OCHamcrest - HCInvocationMatcher.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -/** - Supporting class for matching a feature of an object. - - Tests whether the result of passing a given invocation to the value satisfies a given matcher. - - @ingroup helpers - */ -@interface HCInvocationMatcher : HCBaseMatcher -{ - NSInvocation *invocation; - id subMatcher; - BOOL shortMismatchDescription; -} - -/** - Determines whether a mismatch will be described in short form. - - Default is long form, which describes the object, the name of the invocation, and the - sub-matcher's mismatch diagnosis. Short form only has the sub-matcher's mismatch diagnosis. - */ -@property(nonatomic, assign) BOOL shortMismatchDescription; - -/** - Helper method for creating an invocation. - - A class is specified only so we can determine the method signature. - */ -+ (NSInvocation *)invocationForSelector:(SEL)selector onClass:(Class)aClass; - -/** - Helper method for creating an invocation. - - @b Deprecated: Use new name +invocationForSelector:onClass: - */ -+ (NSInvocation *)createInvocationForSelector:(SEL)selector onClass:(Class)aClass __attribute__((deprecated)); - -/** - Returns an HCInvocationMatcher object initialized with an invocation and a matcher. - */ -- (id)initWithInvocation:(NSInvocation *)anInvocation matching:(id)aMatcher; - -/** - Invokes stored invocation on given item and returns the result. - */ -- (id)invokeOn:(id)item; - -/** - Returns string representation of the invocation's selector. - */ -- (NSString *)stringFromSelector; - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIs.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIs.h deleted file mode 100644 index 21d14a57e5..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIs.h +++ /dev/null @@ -1,52 +0,0 @@ -// -// OCHamcrest - HCIs.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIs : HCBaseMatcher -{ - id matcher; -} - -+ (id)is:(id)aMatcher; -- (id)initWithMatcher:(id)aMatcher; - -@end - - -OBJC_EXPORT id HC_is(id match); - -/** - is(aMatcher) - - Decorates another matcher, or provides a shortcut to the frequently used @ref is(equalTo(x)). - - @param aMatcher The matcher to satisfy, or an expected value for @ref equalTo matching. - - This matcher compares the evaluated object to the given matcher. - - If the @a aMatcher argument is a matcher, its behavior is retained, but the test may be more - expressive. For example: - @li @ref assertThatInt(value, equalToInt(5)) - @li @ref assertThatInt(value, is(equalToInt(5))) - - If the @a aMatcher argument is not a matcher, it is wrapped in an @ref equalTo matcher. This - makes the following statements equivalent: - @li @ref assertThat(cheese, equalTo(smelly)) - @li @ref assertThat(cheese, is(equalTo(smelly))) - @li @ref assertThat(cheese, is(smelly)) - - Choose the style that makes your expression most readable. This will vary depending on context. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_is instead.) - - @ingroup decorator_matchers - */ -#ifdef HC_SHORTHAND - #define is HC_is -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsAnything.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsAnything.h deleted file mode 100644 index 2b39f7e736..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsAnything.h +++ /dev/null @@ -1,61 +0,0 @@ -// -// OCHamcrest - HCIsAnything.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsAnything : HCBaseMatcher -{ - NSString *description; -} - -+ (id)isAnything; -+ (id)isAnythingWithDescription:(NSString *)aDescription; - -- (id)init; -- (id)initWithDescription:(NSString *)aDescription; - -@end - - -OBJC_EXPORT id HC_anything(); - -/** - Matches anything. - - This matcher always evaluates to @c YES. Specify this in composite matchers when the value of a - particular element is unimportant. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_anything instead.) - - @ingroup logical_matchers - */ -#ifdef HC_SHORTHAND - #define anything() HC_anything() -#endif - - -OBJC_EXPORT id HC_anythingWithDescription(NSString *aDescription); - -/** - anythingWithDescription(description) - - Matches anything. - - @param description A string used to describe this matcher. - - This matcher always evaluates to @c YES. Specify this in collection matchers when the value of a - particular element in a collection is unimportant. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_anything instead.) - - @ingroup logical_matchers - */ -#ifdef HC_SHORTHAND - #define anythingWithDescription HC_anythingWithDescription -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCloseTo.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCloseTo.h deleted file mode 100644 index 8e26d155c1..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCloseTo.h +++ /dev/null @@ -1,45 +0,0 @@ -// -// OCHamcrest - HCIsCloseTo.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsCloseTo : HCBaseMatcher -{ - double value; - double delta; -} - -+ (id)isCloseTo:(double)aValue within:(double)aDelta; -- (id)initWithValue:(double)aValue delta:(double)aDelta; - -@end - - -OBJC_EXPORT id HC_closeTo(double aValue, double aDelta); - -/** - closeTo(aValue, aDelta) - - Matches if object is a number close to a given value, within a given delta. - - @param aValue The @c double value to compare against as the expected value. - @param aDelta The @c double maximum delta between the values for which the numbers are considered close. - - This matcher invokes @c -doubleValue on the evaluated object to get its value as a @c double. - The result is compared against @a aValue to see if the difference is within a positive @a aDelta. - - Example: - @li @ref closeTo(3.0, 0.25) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_closeTo instead.) - - @ingroup number_matchers - */ -#ifdef HC_SHORTHAND - #define closeTo HC_closeTo -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContaining.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContaining.h deleted file mode 100644 index a08d59b05d..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContaining.h +++ /dev/null @@ -1,67 +0,0 @@ -// -// OCHamcrest - HCIsCollectionContaining.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsCollectionContaining : HCBaseMatcher -{ - id elementMatcher; -} - -+ (id)isCollectionContaining:(id)anElementMatcher; -- (id)initWithMatcher:(id)anElementMatcher; - -@end - - -OBJC_EXPORT id HC_hasItem(id itemMatch); - -/** - hasItem(aMatcher) - - Matches if any element of collection satisfies a given matcher. - - @param aMatcher The matcher to satisfy, or an expected value for @ref equalTo matching. - - This matcher iterates the evaluated collection, searching for any element that satisfies a - given matcher. If a matching element is found, @c hasItem is satisfied. - - If the @a aMatcher argument is not a matcher, it is implicitly wrapped in an @ref equalTo - matcher to check for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasItem instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasItem HC_hasItem -#endif - - -OBJC_EXPORT id HC_hasItems(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - hasItems(firstMatcher, ...) - - Matches if all of the given matchers are satisfied by any elements of the collection. - - @param firstMatcher,... A comma-separated list of matchers ending with @c nil. - - This matcher iterates the given matchers, searching for any elements in the evaluated collection - that satisfy them. If each matcher is satisfied, then @c hasItems is satisfied. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c hasItems instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasItems HC_hasItems -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContainingInAnyOrder.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContainingInAnyOrder.h deleted file mode 100644 index 9e7219671e..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContainingInAnyOrder.h +++ /dev/null @@ -1,45 +0,0 @@ -// -// OCHamcrest - HCIsCollectionContainingInAnyOrder.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsCollectionContainingInAnyOrder : HCBaseMatcher -{ - NSMutableArray *matchers; -} - -+ (id)isCollectionContainingInAnyOrder:(NSMutableArray *)itemMatchers; -- (id)initWithMatchers:(NSMutableArray *)itemMatchers; - -@end - - -OBJC_EXPORT id HC_containsInAnyOrder(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - containsInAnyOrder(firstMatcher, ...) - - Matches if collection's elements, in any order, satisfy a given list of matchers. - - @param firstMatcher,... A comma-separated list of matchers ending with @c nil. - - This matcher iterates the evaluated collection, seeing if each element satisfies any of the - given matchers. The matchers are tried from left to right, and when a satisfied matcher is - found, it is no longer a candidate for the remaining elements. If a one-to-one correspondence is - established between elements and matchers, @c containsInAnyOrder is satisfied. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_containsInAnyOrder instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define containsInAnyOrder HC_containsInAnyOrder -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContainingInOrder.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContainingInOrder.h deleted file mode 100644 index 37f8b4719d..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContainingInOrder.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OCHamcrest - HCIsCollectionContainingInOrder.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsCollectionContainingInOrder : HCBaseMatcher -{ - NSArray *matchers; -} - -+ (id)isCollectionContainingInOrder:(NSArray *)itemMatchers; -- (id)initWithMatchers:(NSArray *)itemMatchers; - -@end - - -OBJC_EXPORT id HC_contains(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - contains(firstMatcher, ...) - - Matches if collection's elements satisfy a given list of matchers, in order. - - @param firstMatcher,... A comma-separated list of matchers ending with @c nil. - - This matcher iterates the evaluated collection and a given list of matchers, seeing if each - element satisfies its corresponding matcher. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_contains instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define contains HC_contains -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionOnlyContaining.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionOnlyContaining.h deleted file mode 100644 index aa20d49236..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionOnlyContaining.h +++ /dev/null @@ -1,50 +0,0 @@ -// -// OCHamcrest - HCIsCollectionOnlyContaining.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsCollectionOnlyContaining : HCBaseMatcher -{ - id matcher; -} - -+ (id)isCollectionOnlyContaining:(id)aMatcher; -- (id)initWithMatcher:(id)aMatcher; - -@end - - -OBJC_EXPORT id HC_onlyContains(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - onlyContains(firstMatcher, ...) - - Matches if each element of collection satisfies any of the given matchers. - - @param firstMatcher,... A comma-separated list of matchers ending with @c nil. - - This matcher iterates the evaluated collection, confirming whether each element satisfies any of - the given matchers. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - Example: - - @par - @ref onlyContains(startsWith(@"Jo"), nil) - - will match a collection [@"Jon", @"John", @"Johann"]. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_onlyContains instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define onlyContains HC_onlyContains -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContaining.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContaining.h deleted file mode 100644 index 5639b8e336..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContaining.h +++ /dev/null @@ -1,52 +0,0 @@ -// -// OCHamcrest - HCIsDictionaryContaining.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsDictionaryContaining : HCBaseMatcher -{ - id keyMatcher; - id valueMatcher; -} - -+ (id)isDictionaryContainingKey:(id)aKeyMatcher - value:(id)aValueMatcher; - -- (id)initWithKeyMatcher:(id)aKeyMatcher - valueMatcher:(id)aValueMatcher; - -@end - - -OBJC_EXPORT id HC_hasEntry(id keyMatch, id valueMatch); - -/** - hasEntry(keyMatcher, valueMatcher) - - Matches if dictionary contains key-value entry satisfying a given pair of matchers. - - @param keyMatcher The matcher to satisfy for the key, or an expected value for @ref equalTo matching. - @param valueMatcher The matcher to satisfy for the value, or an expected value for @ref equalTo matching. - - This matcher iterates the evaluated dictionary, searching for any key-value entry that satisfies - @a keyMatcher and @a valueMatcher. If a matching entry is found, @c hasEntry is satisfied. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - Examples: - @li @ref hasEntry(@ref equalTo(@"foo"), equalTo(@"bar")) - @li @ref hasEntry(@"foo", @"bar") - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasEntry instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasEntry HC_hasEntry -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingEntries.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingEntries.h deleted file mode 100644 index 475b5bb197..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingEntries.h +++ /dev/null @@ -1,51 +0,0 @@ -// -// OCHamcrest - HCIsDictionaryContainingEntries.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsDictionaryContainingEntries : HCBaseMatcher -{ - NSArray *keys; - NSArray *valueMatchers; -} - -+ (id)isDictionaryContainingKeys:(NSArray *)theKeys - valueMatchers:(NSArray *)theValueMatchers; - -- (id)initWithKeys:(NSArray *)theKeys - valueMatchers:(NSArray *)theValueMatchers; - -@end - - -OBJC_EXPORT id HC_hasEntries(id keysAndValueMatch, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - hasEntries(firstKey, valueMatcher, ...) - - Matches if dictionary contains entries satisfying a list of alternating keys and their value - matchers. - - @param firstKey A key (not a matcher) to look up. - @param valueMatcher,... The matcher to satisfy for the value, or an expected value for @ref equalTo matching. - - Note that the keys must be actual keys, not matchers. Any value argument that is not a matcher - is implicitly wrapped in an @ref equalTo matcher to check for equality. The list must end with - @c nil. - - Examples: - @li @ref hasEntries(@"first", equalTo(@"Jon"), @"last", equalTo(@"Reid"), nil) - @li @ref hasEntries(@"first", @"Jon", @"last", @"Reid", nil) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasEntry instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasEntries HC_hasEntries -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingKey.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingKey.h deleted file mode 100644 index ea876365c5..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingKey.h +++ /dev/null @@ -1,47 +0,0 @@ -// -// OCHamcrest - HCIsDictionaryContainingKey.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsDictionaryContainingKey : HCBaseMatcher -{ - id keyMatcher; -} - -+ (id)isDictionaryContainingKey:(id)theKeyMatcher; -- (id)initWithKeyMatcher:(id)theKeyMatcher; - -@end - - -OBJC_EXPORT id HC_hasKey(id keyMatch); - -/** - hasKey(keyMatcher) - - Matches if dictionary contains an entry whose key satisfies a given matcher. - - @param keyMatcher The matcher to satisfy for the key, or an expected value for @ref equalTo matching. - - This matcher iterates the evaluated dictionary, searching for any key-value entry whose key - satisfies the given matcher. If a matching entry is found, @c hasKey is satisfied. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasKey instead.) - - Examples: - @li @ref hasEntry(equalTo(@"foo")) - @li @ref hasEntry(@"foo") - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasKey HC_hasKey -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingValue.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingValue.h deleted file mode 100644 index e2e8afc84b..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingValue.h +++ /dev/null @@ -1,47 +0,0 @@ -// -// OCHamcrest - HCIsDictionaryContainingValue.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsDictionaryContainingValue : HCBaseMatcher -{ - id valueMatcher; -} - -+ (id)isDictionaryContainingValue:(id)theValueMatcher; -- (id)initWithValueMatcher:(id)theValueMatcher; - -@end - - -OBJC_EXPORT id HC_hasValue(id valueMatch); - -/** - hasValue(valueMatcher) - - Matches if dictionary contains an entry whose value satisfies a given matcher. - - @param valueMatcher The matcher to satisfy for the value, or an expected value for @ref equalTo matching. - - This matcher iterates the evaluated dictionary, searching for any key-value entry whose value - satisfies the given matcher. If a matching entry is found, @c hasValue is satisfied. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - Examples: - @li @ref hasValue(equalTo(@"bar")) - @li @ref hasValue(@"bar") - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasValue instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasValue HC_hasValue -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEmptyCollection.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEmptyCollection.h deleted file mode 100644 index c6e13c6904..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEmptyCollection.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// OCHamcrest - HCIsEmptyCollection.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsEmptyCollection : HCHasCount - -+ (id)isEmptyCollection; -- (id)init; - -@end - - -OBJC_EXPORT id HC_empty(); - -/** - Matches empty collection. - - This matcher invokes @c -count on the evaluated object to determine if the number of elements it - contains is zero. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_empty instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define empty() HC_empty() -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqual.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqual.h deleted file mode 100644 index 6644f666e0..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqual.h +++ /dev/null @@ -1,42 +0,0 @@ -// -// OCHamcrest - HCIsEqual.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsEqual : HCBaseMatcher -{ - id object; -} - -+ (id)isEqualTo:(id)anObject; -- (id)initEqualTo:(id)anObject; - -@end - - -OBJC_EXPORT id HC_equalTo(id object); - -/** - equalTo(anObject) - - Matches if object is equal to a given object. - - @param anObject The object to compare against as the expected value. - - This matcher compares the evaluated object to @a anObject for equality, as determined by the - @c -isEqual: method. - - If @a anObject is @c nil, the matcher will successfully match @c nil. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalTo instead.) - - @ingroup object_matchers - */ -#ifdef HC_SHORTHAND - #define equalTo HC_equalTo -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqualIgnoringCase.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqualIgnoringCase.h deleted file mode 100644 index 5f55214030..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqualIgnoringCase.h +++ /dev/null @@ -1,47 +0,0 @@ -// -// OCHamcrest - HCIsEqualIgnoringCase.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsEqualIgnoringCase : HCBaseMatcher -{ - NSString *string; -} - -+ (id)isEqualIgnoringCase:(NSString *)aString; -- (id)initWithString:(NSString *)aString; - -@end - - -OBJC_EXPORT id HC_equalToIgnoringCase(NSString *aString); - -/** - equalToIgnoringCase(aString) - - Matches if object is a string equal to a given string, ignoring case differences. - - @param aString The string to compare against as the expected value. This value must not be @c nil. - - This matcher first checks whether the evaluated object is a string. If so, it compares it with - @a aString, ignoring differences of case. - - Example: - - @par - @ref equalToIgnoringCase(@"hello world") - - will match "heLLo WorlD". - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToIgnoringCase instead.) - - @ingroup text_matchers - */ -#ifdef HC_SHORTHAND - #define equalToIgnoringCase HC_equalToIgnoringCase -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqualIgnoringWhiteSpace.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqualIgnoringWhiteSpace.h deleted file mode 100644 index 0a0735dbfa..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqualIgnoringWhiteSpace.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// OCHamcrest - HCIsEqualIgnoringWhiteSpace.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsEqualIgnoringWhiteSpace : HCBaseMatcher -{ - NSString *originalString; - NSString *strippedString; -} - -+ (id)isEqualIgnoringWhiteSpace:(NSString *)aString; -- (id)initWithString:(NSString *)aString; - -@end - - -OBJC_EXPORT id HC_equalToIgnoringWhiteSpace(NSString *aString); - -/** - equalToIgnoringWhiteSpace(aString) - - Matches if object is a string equal to a given string, ignoring differences in whitespace. - - @param aString The string to compare against as the expected value. This value must not be @c nil. - - This matcher first checks whether the evaluated object is a string. If so, it compares it with - @a aString, ignoring differences in runs of whitespace. - - Example: - - @par - @ref equalToIgnoringWhiteSpace(@"hello world") - - will match @verbatim "hello world" @endverbatim - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToIgnoringWhiteSpace instead.) - - @ingroup text_matchers - */ -#ifdef HC_SHORTHAND - #define equalToIgnoringWhiteSpace HC_equalToIgnoringWhiteSpace -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqualToNumber.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqualToNumber.h deleted file mode 100644 index 74a70c6b40..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsEqualToNumber.h +++ /dev/null @@ -1,323 +0,0 @@ -// -// OCHamcrest - HCIsEqualToNumber.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -OBJC_EXPORT id HC_equalToBool(BOOL value); - -/** - equalToBool(value) - - Matches if object is equal to @c NSNumber created from a @c BOOL. - - @param value The @c BOOL value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a @c BOOL @a value and compares the evaluated - object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToBool instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToBool HC_equalToBool -#endif - - -OBJC_EXPORT id HC_equalToChar(char value); - -/** - equalToChar(value) - - Matches if object is equal to @c NSNumber created from a @c char. - - @param value The @c char value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a @c char @a value and compares the evaluated - object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToChar instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToChar HC_equalToChar -#endif - - -OBJC_EXPORT id HC_equalToDouble(double value); - -/** - equalToDouble(value) - - Matches if object is equal to @c NSNumber created from a @c double. - - @param value The @c double value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a @c double @a value and compares the evaluated - object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToDouble instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToDouble HC_equalToDouble -#endif - - -OBJC_EXPORT id HC_equalToFloat(float value); - -/** - equalToFloat(value) - - Matches if object is equal to @c NSNumber created from a @c float. - - @param value The @c float value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a @c float @a value and compares the evaluated - object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToFloat instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToFloat HC_equalToFloat -#endif - - -OBJC_EXPORT id HC_equalToInt(int value); - -/** - equalToInt(value) - - Matches if object is equal to @c NSNumber created from an @c int. - - @param value The @c int value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a @c int @a value and compares the evaluated - object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToInt instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToInt HC_equalToInt -#endif - - -OBJC_EXPORT id HC_equalToLong(long value); - -/** - equalToLong(value) - - Matches if object is equal to @c NSNumber created from a @c long. - - @param value The @c long value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a @c long @a value and compares the evaluated - object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToLong instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToLong HC_equalToLong -#endif - - -OBJC_EXPORT id HC_equalToLongLong(long long value); - -/** - equalToLongLong(value) - - Matches if object is equal to @c NSNumber created from a long long. - - @param value The long long value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a long long @a value and compares - the evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToLongLong instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToLongLong HC_equalToLongLong -#endif - - -OBJC_EXPORT id HC_equalToShort(short value); - -/** - equalToShort(value) - - Matches if object is equal to @c NSNumber created from a @c short. - - @param value The @c short value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a @c short @a value and compares the evaluated - object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToShort instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToShort HC_equalToShort -#endif - - -OBJC_EXPORT id HC_equalToUnsignedChar(unsigned char value); - -/** - equalToUnsignedChar(value) - - Matches if object is equal to @c NSNumber created from an unsigned char. - - @param value The unsigned char value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from an unsigned char @a value and - compares the evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToUnsignedChar instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToUnsignedChar HC_equalToUnsignedChar -#endif - - -OBJC_EXPORT id HC_equalToUnsignedInt(unsigned int value); - -/** - equalToUnsignedInt(value) - - Matches if object is equal to @c NSNumber created from an unsigned int. - - @param value The unsigned int value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from an unsigned int @a value and - compares the evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToUnsignedInt instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToUnsignedInt HC_equalToUnsignedInt -#endif - - -OBJC_EXPORT id HC_equalToUnsignedLong(unsigned long value); - -/** - equalToUnsignedLong(value) - - Matches if object is equal to @c NSNumber created from an unsigned long. - - @param value The unsigned long value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from an unsigned long @a value and - compares the evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToUnsignedLong instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToUnsignedLong HC_equalToUnsignedLong -#endif - - -OBJC_EXPORT id HC_equalToUnsignedLongLong(unsigned long long value); - -/** - equalToUnsignedLongLong(value) - - Matches if object is equal to @c NSNumber created from an unsigned long long. - - @param value The unsigned long long value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from an unsigned long long @a value and - compares the evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToUnsignedLongLong instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToUnsignedLongLong HC_equalToUnsignedLongLong -#endif - - -OBJC_EXPORT id HC_equalToUnsignedShort(unsigned short value); - -/** - equalToUnsignedShort(value) - - Matches if object is equal to @c NSNumber created from an unsigned short. - - @param value The unsigned short value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from an unsigned short @a value and - compares the evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToUnsignedShort instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToUnsignedShort HC_equalToUnsignedShort -#endif - - -OBJC_EXPORT id HC_equalToInteger(NSInteger value); - -/** - equalToInteger(value) - - Matches if object is equal to @c NSNumber created from an @c NSInteger. - - @param value The @c NSInteger value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from an @c NSInteger @a value and compares the - evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToInteger instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToInteger HC_equalToInteger -#endif - - -OBJC_EXPORT id HC_equalToUnsignedInteger(NSUInteger value); - -/** - equalToUnsignedInteger(value) - - Matches if object is equal to @c NSNumber created from an @c NSUInteger. - - @param value The @c NSUInteger value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from an @c NSUInteger @a value and compares the - evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToUnsignedInteger instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToUnsignedInteger HC_equalToUnsignedInteger -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsIn.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsIn.h deleted file mode 100644 index 2200a2e1fe..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsIn.h +++ /dev/null @@ -1,40 +0,0 @@ -// -// OCHamcrest - HCIsIn.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsIn : HCBaseMatcher -{ - id collection; -} - -+ (id)isInCollection:(id)aCollection; -- (id)initWithCollection:(id)aCollection; - -@end - - -OBJC_EXPORT id HC_isIn(id aCollection); - -/** - isIn(aCollection) - - Matches if evaluated object is present in a given collection. - - @param aCollection The collection to search. - - This matcher invokes @c -containsObject: on @a aCollection to determine if the evaluated object - is an element of the collection. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_isIn instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define isIn HC_isIn -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsInstanceOf.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsInstanceOf.h deleted file mode 100644 index 87b3065ac3..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsInstanceOf.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OCHamcrest - HCIsInstanceOf.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsInstanceOf : HCBaseMatcher -{ - Class theClass; -} - -+ (id)isInstanceOf:(Class)type; -- (id)initWithType:(Class)type; - -@end - - -OBJC_EXPORT id HC_instanceOf(Class aClass); - -/** - instanceOf(aClass) - - Matches if object is an instance of, or inherits from, a given class. - - @param aClass The class to compare against as the expected class. - - This matcher checks whether the evaluated object is an instance of @a aClass or an instance of - any class that inherits from @a aClass. - - Example: - @li @ref instanceOf([NSString class]) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_instanceOf instead.) - - @ingroup object_matchers - */ -#ifdef HC_SHORTHAND - #define instanceOf HC_instanceOf -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsNil.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsNil.h deleted file mode 100644 index 0e6ed27397..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsNil.h +++ /dev/null @@ -1,45 +0,0 @@ -// -// OCHamcrest - HCIsNil.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsNil : HCBaseMatcher - -+ (id)isNil; - -@end - - -OBJC_EXPORT id HC_nilValue(); - -/** - Matches if object is @c nil. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_nilValue instead.) - - @ingroup object_matchers - */ -#ifdef HC_SHORTHAND - #define nilValue() HC_nilValue() -#endif - - -OBJC_EXPORT id HC_notNilValue(); - -/** - Matches if object is not @c nil. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_notNilValue instead.) - - @ingroup object_matchers - */ -#ifdef HC_SHORTHAND - #define notNilValue() HC_notNilValue() -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsNot.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsNot.h deleted file mode 100644 index dde5e3de8f..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsNot.h +++ /dev/null @@ -1,45 +0,0 @@ -// -// OCHamcrest - HCIsNot.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsNot : HCBaseMatcher -{ - id matcher; -} - -+ (id)isNot:(id)aMatcher; -- (id)initNot:(id)aMatcher; - -@end - - -OBJC_EXPORT id HC_isNot(id aMatcher); - -/** - isNot(aMatcher) - - Inverts the given matcher to its logical negation. - - @param aMatcher The matcher to negate. - - This matcher compares the evaluated object to the negation of the given matcher. If the - @a aMatcher argument is not a matcher, it is implicitly wrapped in an @ref equalTo matcher to - check for equality, and thus matches for inequality. - - Examples: - @li @ref assertThat(cheese, isNot(equalTo(smelly))) - @li @ref assertThat(cheese, isNot(smelly)) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_isNot instead.) - - @ingroup logical_matchers - */ -#ifdef HC_SHORTHAND - #define isNot HC_isNot -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsSame.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsSame.h deleted file mode 100644 index fecc0099a1..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCIsSame.h +++ /dev/null @@ -1,40 +0,0 @@ -// -// OCHamcrest - HCIsSame.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsSame : HCBaseMatcher -{ - id object; -} - -+ (id)isSameAs:(id)anObject; -- (id)initSameAs:(id)anObject; - -@end - - -OBJC_EXPORT id HC_sameInstance(id object); - -/** - sameInstance(anObject) - - Matches if evaluated object is the same instance as a given object. - - @param anObject The object to compare against as the expected value. - - This matcher compares the address of the evaluated object to determine if it is the same object - as @a anObject. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_sameInstance instead.) - - @ingroup object_matchers - */ -#ifdef HC_SHORTHAND - #define sameInstance HC_sameInstance -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCMatcher.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCMatcher.h deleted file mode 100644 index 85d3417e6b..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCMatcher.h +++ /dev/null @@ -1,54 +0,0 @@ -// -// OCHamcrest - HCMatcher.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -/** - A matcher over acceptable values. - - A matcher is able to describe itself to give feedback when it fails. - - HCMatcher implementations should @b not directly implement this protocol. - Instead, @b extend the HCBaseMatcher class, which will ensure that the HCMatcher API can grow - to support new features and remain compatible with all HCMatcher implementations. - - @ingroup core - */ -@protocol HCMatcher - -/** - Evaluates the matcher for argument @a item. - - @param item The object against which the matcher is evaluated. - @return @c YES if @a item matches, otherwise @c NO. - */ -- (BOOL)matches:(id)item; - -/** - Evaluates the matcher for argument @a item. - - @param item The object against which the matcher is evaluated. - @param mismatchDescription The description to be built or appended to if @a item does not match. - @return @c YES if @a item matches, otherwise @c NO. - */ -- (BOOL)matches:(id)item describingMismatchTo:(id)mismatchDescription; - -/** - Generates a description of why the matcher has not accepted the item. - - The description will be part of a larger description of why a matching failed, so it should be - concise. - - This method assumes that @c matches:item is false, but will not check this. - - @param item The item that the HCMatcher has rejected. - @param mismatchDescription The description to be built or appended to. - */ -- (void)describeMismatchOf:(id)item to:(id)mismatchDescription; - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCNumberAssert.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCNumberAssert.h deleted file mode 100644 index f9165fccdd..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCNumberAssert.h +++ /dev/null @@ -1,385 +0,0 @@ -// -// OCHamcrest - HCNumberAssert.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - -@protocol HCMatcher; - - -OBJC_EXPORT void HC_assertThatBoolWithLocation(id testCase, BOOL actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatBool(actual, matcher) \ - HC_assertThatBoolWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatBool(actual, matcher) - - Asserts that @c BOOL actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c BOOL value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatBool instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatBool HC_assertThatBool -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatCharWithLocation(id testCase, char actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatChar(actual, matcher) \ - HC_assertThatCharWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatChar(actual, matcher) - - Asserts that @c char actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c char value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatChar instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatChar HC_assertThatChar -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatDoubleWithLocation(id testCase, double actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatDouble(actual, matcher) \ - HC_assertThatDoubleWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - HC_assertThatDouble(actual, matcher) - - Asserts that @c double actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c double value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatDouble instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatDouble HC_assertThatDouble -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatFloatWithLocation(id testCase, float actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatFloat(actual, matcher) \ - HC_assertThatFloatWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatFloat(actual, matcher) - - Asserts that @c float actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c float value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatFloat instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatFloat HC_assertThatFloat -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatIntWithLocation(id testCase, int actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatInt(actual, matcher) \ - HC_assertThatIntWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatInt(actual, matcher) - - Asserts that @c int actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c int value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatInt instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatInt HC_assertThatInt -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatLongWithLocation(id testCase, long actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatLong(actual, matcher) \ - HC_assertThatLongWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatLong(actual, matcher) - - Asserts that @c long actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c long value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatLong instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatLong HC_assertThatLong -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatLongLongWithLocation(id testCase, long long actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatLongLong(actual, matcher) \ - HC_assertThatLongLongWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatLongLong(actual, matcher) - - Asserts that long long actual value, converted to an @c NSNumber, satisfies - matcher. - - @param actual The long long value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatLongLong instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatLongLong HC_assertThatLongLong -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatShortWithLocation(id testCase, short actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatShort(actual, matcher) \ - HC_assertThatShortWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatShort(actual, matcher) - - Asserts that @c short actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c short value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatShort instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatShort HC_assertThatShort -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatUnsignedCharWithLocation(id testCase, unsigned char actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatUnsignedChar(actual, matcher) \ - HC_assertThatUnsignedCharWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatUnsignedChar(actual, matcher) - - Asserts that unsigned char actual value, converted to an @c NSNumber, satisfies - matcher. - - @param actual The unsigned char value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatUnsignedChar instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatUnsignedChar HC_assertThatUnsignedChar -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatUnsignedIntWithLocation(id testCase, unsigned int actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatUnsignedInt(actual, matcher) \ - HC_assertThatUnsignedIntWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatUnsignedInt(actual, matcher) - - Asserts that unsigned int actual value, converted to an @c NSNumber, satisfies - matcher. - - @param actual The unsigned int value to convert to an @c NSNumber for evaluation @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatUnsignedInt instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatUnsignedInt HC_assertThatUnsignedInt -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatUnsignedLongWithLocation(id testCase, unsigned long actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatUnsignedLong(actual, matcher) \ - HC_assertThatUnsignedLongWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatUnsignedLong(actual, matcher) - - Asserts that unsigned long actual value, converted to an @c NSNumber, satisfies - matcher. - - @param actual The unsigned long value to convert to an @c NSNumber for evaluation @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatUnsignedLong instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatUnsignedLong HC_assertThatUnsignedLong -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatUnsignedLongLongWithLocation(id testCase, unsigned long long actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatUnsignedLongLong(actual, matcher) \ - HC_assertThatUnsignedLongLongWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatUnsignedLongLong(actual, matcher) - - Asserts that unsigned long long actual value, converted to an @c NSNumber, - satisfies matcher. - - @param actual The unsigned long long value to convert to an @c NSNumber for evaluation @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatUnsignedLongLong instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatUnsignedLongLong HC_assertThatUnsignedLongLong -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatUnsignedShortWithLocation(id testCase, unsigned short actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatUnsignedShort(actual, matcher) \ - HC_assertThatUnsignedShortWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatUnsignedShort(actual, matcher) - - Asserts that unsigned short actual value, converted to an @c NSNumber, satisfies - matcher. - - @param actual The unsigned short value to convert to an @c NSNumber for evaluation @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatUnsignedShort instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatUnsignedShort HC_assertThatUnsignedShort -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatIntegerWithLocation(id testCase, NSInteger actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatInteger(actual, matcher) \ - HC_assertThatIntegerWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatInteger(actual, matcher) - - Asserts that @c NSInteger actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c NSInteger value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatInteger instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatInteger HC_assertThatInteger -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatUnsignedIntegerWithLocation(id testCase, NSUInteger actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatUnsignedInteger(actual, matcher) \ - HC_assertThatUnsignedIntegerWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatUnsignedInteger(actual, matcher) - - Asserts that @c NSUInteger actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c NSUInteger value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatUnsignedInteger instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatUnsignedInteger HC_assertThatUnsignedInteger -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCOrderingComparison.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCOrderingComparison.h deleted file mode 100644 index efd85f6b0a..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCOrderingComparison.h +++ /dev/null @@ -1,113 +0,0 @@ -// -// OCHamcrest - HCOrderingComparison.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCOrderingComparison : HCBaseMatcher -{ - id expected; - NSComparisonResult minCompare; - NSComparisonResult maxCompare; - NSString *comparisonDescription; -} - -+ (id)compare:(id)expectedValue - minCompare:(NSComparisonResult)min - maxCompare:(NSComparisonResult)max - comparisonDescription:(NSString *)comparisonDescription; - -- (id)initComparing:(id)expectedValue - minCompare:(NSComparisonResult)min - maxCompare:(NSComparisonResult)max - comparisonDescription:(NSString *)comparisonDescription; - -@end - - -OBJC_EXPORT id HC_greaterThan(id expected); - -/** - greaterThan(aNumber) - - Matches if object is greater than a given number. - - @param aNumber The @c NSNumber to compare against. - - Example: - @li @ref greaterThan([NSNumber numberWithInt:5]) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_greaterThan instead.) - - @ingroup number_matchers - */ -#ifdef HC_SHORTHAND - #define greaterThan HC_greaterThan -#endif - - -OBJC_EXPORT id HC_greaterThanOrEqualTo(id expected); - -/** - greaterThanOrEqualTo(aNumber) - - Matches if object is greater than or equal to a given number. - - @param aNumber The @c NSNumber to compare against. - - Example: - @li @ref greaterThanOrEqualTo([NSNumber numberWithInt:5]) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_greaterThanOrEqualTo instead.) - - @ingroup number_matchers - */ -#ifdef HC_SHORTHAND - #define greaterThanOrEqualTo HC_greaterThanOrEqualTo -#endif - - -OBJC_EXPORT id HC_lessThan(id expected); - -/** - lessThan(aNumber) - - Matches if object is less than a given number. - - @param aNumber The @c NSNumber to compare against. - - Example: - @li @ref lessThan([NSNumber numberWithInt:5]) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_lessThan instead.) - - @ingroup number_matchers - */ -#ifdef HC_SHORTHAND - #define lessThan HC_lessThan -#endif - - -OBJC_EXPORT id HC_lessThanOrEqualTo(id expected); - -/** - lessThanOrEqualTo(aNumber) - - Matches if object is less than or equal to a given number. - - @param aNumber The @c NSNumber to compare against. - - Example: - @li @ref lessThanOrEqualTo([NSNumber numberWithInt:5]) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_lessThanOrEqualTo instead.) - - @ingroup number_matchers - */ -#ifdef HC_SHORTHAND - #define lessThanOrEqualTo HC_lessThanOrEqualTo -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCRequireNonNilObject.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCRequireNonNilObject.h deleted file mode 100644 index 2ec9b94258..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCRequireNonNilObject.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// OCHamcrest - HCRequireNonNilObject.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import -#import - - -/** - Throws an NSException if @a obj is @c nil. - - @ingroup helpers -*/ -OBJC_EXPORT void HCRequireNonNilObject(id obj); diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCRequireNonNilString.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCRequireNonNilString.h deleted file mode 100644 index ee1aa723fc..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCRequireNonNilString.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// OCHamcrest - HCRequireNonNilString.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import -#import - - -/** - Throws an NSException if @a string is @c nil. - - @b Deprecated: Use @ref HCRequireNonNilObject instead. - - @ingroup helpers -*/ -OBJC_EXPORT void HCRequireNonNilString(NSString *string) __attribute__((deprecated)); diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCSelfDescribing.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCSelfDescribing.h deleted file mode 100644 index 31059edac8..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCSelfDescribing.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// OCHamcrest - HCSelfDescribing.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - -@protocol HCDescription; - - -/** - The ability of an object to describe itself. - - @ingroup core - */ -@protocol HCSelfDescribing - -/** - Generates a description of the object. - - The description may be part of a description of a larger object of which this is just a - component, so it should be worded appropriately. - - @param description The description to be built or appended to. - */ -- (void)describeTo:(id)description; - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringContains.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringContains.h deleted file mode 100644 index 72e50b47ff..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringContains.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OCHamcrest - HCStringContains.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCStringContains : HCSubstringMatcher - -+ (id)stringContains:(NSString *)aSubstring; - -@end - - -OBJC_EXPORT id HC_containsString(NSString *aSubstring); - -/** - containsString(aString) - - Matches if object is a string containing a given string. - - @param aString The string to search for. This value must not be @c nil. - - This matcher first checks whether the evaluated object is a string. If so, it checks whether it - contains @a aString. - - Example: - - @par - @ref containsString(@"def") - - will match "abcdefg". - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_containsString instead.) - - @ingroup text_matchers - */ -#ifdef HC_SHORTHAND - #define containsString HC_containsString -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringContainsInOrder.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringContainsInOrder.h deleted file mode 100644 index fe75bb0e76..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringContainsInOrder.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// OCHamcrest - HCStringContainsInOrder.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCStringContainsInOrder : HCBaseMatcher -{ - NSArray *substrings; -} - -+ (id)containsInOrder:(NSArray *)substringList; -- (id)initWithSubstrings:(NSArray *)substringList; - -@end - - -OBJC_EXPORT id HC_stringContainsInOrder(NSString *substring, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - stringContainsInOrder(firstString, ...) - - Matches if object is a string containing a given list of substrings in relative order. - - @param firstString,... A comma-separated list of strings ending with @c nil. - - This matcher first checks whether the evaluated object is a string. If so, it checks whether it - contains a given list of strings, in relative order to each other. The searches are performed - starting from the beginning of the evaluated string. - - Example: - - @par - @ref stringContainsInOrder(@"bc", @"fg", @"jkl", nil) - - will match "abcdefghijklm". - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_stringContainsInOrder instead.) - - @ingroup text_matchers - */ -#ifdef HC_SHORTHAND - #define stringContainsInOrder HC_stringContainsInOrder -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringDescription.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringDescription.h deleted file mode 100644 index e57023be6c..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringDescription.h +++ /dev/null @@ -1,41 +0,0 @@ -// -// OCHamcrest - HCStringDescription.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - -@protocol HCSelfDescribing; - - -/** - An HCDescription that is stored as a string. - - @ingroup core - */ -@interface HCStringDescription : HCBaseDescription -{ - NSMutableString *accumulator; -} - -/** - Returns the description of an HCSelfDescribing object as a string. - - @param selfDescribing The object to be described. - @return The description of the object. - */ -+ (NSString *)stringFrom:(id)selfDescribing; - -/** - Returns an empty description. - */ -+ (HCStringDescription *)stringDescription; - -/** - Returns an initialized HCStringDescription object that is empty. - */ -- (id)init; - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringEndsWith.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringEndsWith.h deleted file mode 100644 index 39bfbda6c4..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringEndsWith.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OCHamcrest - HCStringEndsWith.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCStringEndsWith : HCSubstringMatcher - -+ (id)stringEndsWith:(NSString *)aSubstring; - -@end - - -OBJC_EXPORT id HC_endsWith(NSString *aSubstring); - -/** - endsWith(aString) - - Matches if object is a string ending with a given string. - - @param aString The string to search for. This value must not be @c nil. - - This matcher first checks whether the evaluated object is a string. If so, it checks if - @a aString matches the ending characters of the evaluated object. - - Example: - - @par - @ref endsWith(@"bar") - - will match "foobar". - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_endsWith instead.) - - @ingroup text_matchers - */ -#ifdef HC_SHORTHAND - #define endsWith HC_endsWith -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringStartsWith.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringStartsWith.h deleted file mode 100644 index 2620d84c86..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCStringStartsWith.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OCHamcrest - HCStringStartsWith.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCStringStartsWith : HCSubstringMatcher - -+ (id)stringStartsWith:(NSString *)aSubstring; - -@end - - -OBJC_EXPORT id HC_startsWith(NSString *aSubstring); - -/** - startsWith(aString) - - Matches if object is a string starting with a given string. - - @param aString The string to search for. This value must not be @c nil. - - This matcher first checks whether the evaluated object is a string. If so, it checks if - @a aString matches the beginning characters of the evaluated object. - - Example: - - @par - @ref endsWith(@"foo") - - will match "foobar". - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_startsWith instead.) - - @ingroup text_matchers - */ -#ifdef HC_SHORTHAND - #define startsWith HC_startsWith -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCSubstringMatcher.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCSubstringMatcher.h deleted file mode 100644 index 8fa9ac44f3..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCSubstringMatcher.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// OCHamcrest - HCSubstringMatcher.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCSubstringMatcher : HCBaseMatcher -{ - NSString *substring; -} - -- (id)initWithSubstring:(NSString *)aString; - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCWrapInMatcher.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCWrapInMatcher.h deleted file mode 100644 index b120ee71f7..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/HCWrapInMatcher.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// OCHamcrest - HCWrapInMatcher.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - -@protocol HCMatcher; - - -/** - Wraps argument in a matcher, if necessary. - - @return The argument as-if if it is already a matcher, otherwise wrapped in an @ref equalTo matcher. - - @ingroup helpers - */ -OBJC_EXPORT id HCWrapInMatcher(id matcherOrValue); diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/NSObject+HCSelfDescribingValue.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/NSObject+HCSelfDescribingValue.h deleted file mode 100644 index 6e8ab74d2e..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/NSObject+HCSelfDescribingValue.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// OCHamcrest - NSObject+HCSelfDescribingValue.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - -@protocol HCDescription; - -/** - This category allows any object to satisfy the HCSelfDescribing protocol. - - @b Deprecated: No longer needed now that @ref appendDescriptionOf: handles all types of objects. - - @ingroup core - */ -@interface NSObject (HCSelfDescribingValue) - -/** - Generates a description of the object. - - @param description The description to be appended to. - */ -- (void)describeTo:(id)description __attribute__((deprecated)); - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/OCHamcrest.h b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/OCHamcrest.h deleted file mode 100644 index 50042f72bd..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/Headers/OCHamcrest.h +++ /dev/null @@ -1,134 +0,0 @@ -// -// OCHamcrest - OCHamcrest.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -/** - @defgroup library Matcher Library - - Library of Matcher implementations. - */ - -/** - @defgroup object_matchers Object Matchers - - Matchers that inspect objects. - - @ingroup library - */ -#import -#import -#import -#import -#import -#import - -/** - @defgroup collection_matchers Collection Matchers - - Matchers of collections. - - @ingroup library - */ -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import - -/** - @defgroup number_matchers Number Matchers - - Matchers that perform numeric comparisons. - - @ingroup library - */ -#import -#import - -/** - @defgroup primitive_number_matchers Primitive Number Matchers - - Matchers for testing equality against primitive numeric types. - - @ingroup number_matchers - */ -#import - -/** - @defgroup text_matchers Text Matchers - - Matchers that perform text comparisons. - - @ingroup library - */ -#import -#import -#import -#import -#import -#import - -/** - @defgroup logical_matchers Logical Matchers - - Boolean logic using other matchers. - - @ingroup library - */ -#import -#import -#import -#import - -/** - @defgroup decorator_matchers Decorator Matchers - - Matchers that decorate other matchers for better expression. - - @ingroup library - */ -#import -#import - -/** - @defgroup integration Unit Test Integration - */ -#import - -/** - @defgroup integration_numeric Unit Tests of Primitive Numbers - - Unit test integration for primitive numbers. - - The @c assertThat<Type> macros convert the primitive actual value to an @c NSNumber, - passing that to the matcher for evaluation. If the matcher is not satisfied, an exception is - thrown describing the mismatch. - - This family of macros is designed to integrate well with OCUnit and other unit testing - frameworks. Unmet assertions are reported as test failures. In Xcode, they can be clicked to - reveal the line of the assertion. - - @ingroup integration - */ -#import - -/** - @defgroup core Core API - */ - -/** - @defgroup helpers Helpers - - Utilities for writing Matchers. - - @ingroup core - */ diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/OCHamcrest b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/A/OCHamcrest deleted file mode 100755 index 835c645e8038e44182e7628352346e8174131cc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321204 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

_slUUE?*hlljvhbb~k0yGPvT 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

bm^MiB{pb#9 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 - - - - BuildMachineOSBuild - 10K549 - CFBundleDevelopmentRegion - English - CFBundleExecutable - OCHamcrest - CFBundleIdentifier - org.hamcrest.OCHamcrest - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - OCHamcrest - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.6 - CFBundleSignature - ???? - CFBundleVersion - 1.6 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 4B110f - DTPlatformVersion - GM - DTSDKBuild - 4B110f - DTSDKName - macosx10.6 - DTXcode - 0410 - DTXcodeBuild - 4B110f - NSHumanReadableCopyright - Copyright © 2011 hamcrest.org - - diff --git a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/Current b/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/Current deleted file mode 120000 index 8c7e5a667f..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrest.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Headers b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Headers deleted file mode 120000 index a177d2a6b9..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/OCHamcrestIOS b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/OCHamcrestIOS deleted file mode 120000 index d03098854b..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/OCHamcrestIOS +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/OCHamcrestIOS \ No newline at end of file diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Resources b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Resources deleted file mode 120000 index 953ee36f3b..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCAllOf.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCAllOf.h deleted file mode 100644 index e0a717c359..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCAllOf.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OCHamcrest - HCAllOf.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCAllOf : HCBaseMatcher -{ - NSArray *matchers; -} - -+ (id)allOf:(NSArray *)theMatchers; -- (id)initWithMatchers:(NSArray *)theMatchers; - -@end - - -OBJC_EXPORT id HC_allOf(id match, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - allOf(firstMatcher, ...) - - Matches if all of the given matchers evaluate to @c YES. - - @param firstMatcher,... A comma-separated list of matchers ending with @c nil. - - The matchers are evaluated from left to right using short-circuit evaluation, so evaluation - stops as soon as a matcher returns @c NO. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_allOf instead.) - - @ingroup logical_matchers - */ -#ifdef HC_SHORTHAND - #define allOf HC_allOf -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCAnyOf.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCAnyOf.h deleted file mode 100644 index f0ae84b78d..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCAnyOf.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OCHamcrest - HCAnyOf.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCAnyOf : HCBaseMatcher -{ - NSArray *matchers; -} - -+ (id)anyOf:(NSArray *)theMatchers; -- (id)initWithMatchers:(NSArray *)theMatchers; - -@end - - -OBJC_EXPORT id HC_anyOf(id match, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - anyOf(firstMatcher, ...) - - Matches if any of the given matchers evaluate to @c YES. - - @param firstMatcher,... A comma-separated list of matchers ending with @c nil. - - The matchers are evaluated from left to right using short-circuit evaluation, so evaluation - stops as soon as a matcher returns @c YES. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_anyOf instead.) - - @ingroup logical_matchers - */ -#ifdef HC_SHORTHAND - #define anyOf HC_anyOf -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCAssertThat.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCAssertThat.h deleted file mode 100644 index ea50cab095..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCAssertThat.h +++ /dev/null @@ -1,40 +0,0 @@ -// -// OCHamcrest - HCAssertThat.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - -@protocol HCMatcher; - - -OBJC_EXPORT void HC_assertThatWithLocation(id testCase, id actual, id matcher, - const char *fileName, int lineNumber); - -#define HC_assertThat(actual, matcher) \ - HC_assertThatWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThat(actual, matcher) - - Asserts that actual value satisfies matcher. - - @param actual The object to evaluate as the actual value. - @param matcher The matcher to satisfy as the expected condition. - - @c assertThat passes the actual value to the matcher for evaluation. If the matcher is not - satisfied, an exception is thrown describing the mismatch. - - @c assertThat is designed to integrate well with OCUnit and other unit testing frameworks. - Unmet assertions are reported as test failures. In Xcode, these failures can be clicked to - reveal the line of the assertion. - - In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThat instead. - - @ingroup integration - */ -#ifdef HC_SHORTHAND - #define assertThat HC_assertThat -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCBaseDescription.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCBaseDescription.h deleted file mode 100644 index 298076c870..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCBaseDescription.h +++ /dev/null @@ -1,31 +0,0 @@ -// -// OCHamcrest - HCBaseDescription.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import -#import - - -/** - Base class for all HCDescription implementations. - - @ingroup core - */ -@interface HCBaseDescription : NSObject -@end - - -/** - Methods that must be provided by subclasses of HCBaseDescription. - */ -@interface HCBaseDescription (SubclassMustImplement) - -/** - Append the string @a str to the description. - */ -- (void)append:(NSString *)str; - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCBaseMatcher.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCBaseMatcher.h deleted file mode 100644 index 2367702f8a..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCBaseMatcher.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// OCHamcrest - HCBaseMatcher.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import -#import - -#import // Convenience header, to provide OBJC_EXPORT - - -/** - Base class for all HCMatcher implementations. - - Most implementations can just implement @c -matches: and let - -matches:describingMismatchTo: call it. But if it makes more sense to generate the - mismatch description during the matching, override -matches:describingMismatchTo: - and have @c -matches: call it with a @c nil description. - - @ingroup core - */ -@interface HCBaseMatcher : NSObject -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCBoxNumber.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCBoxNumber.h deleted file mode 100644 index e97134fe62..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCBoxNumber.h +++ /dev/null @@ -1,88 +0,0 @@ -// -// OCHamcrest - HCBoxNumber.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#ifdef __cplusplus - -namespace hamcrest { - -/** - Boxes a scalar value in an NSNumber, specialized per type. - @ingroup number_matchers - */ -template -inline -NSNumber *boxNumber(T value) - { return nil; } - -template <> -inline -NSNumber *boxNumber(BOOL value) - { return [NSNumber numberWithBool:value]; } - -template <> -inline -NSNumber *boxNumber(char value) - { return [NSNumber numberWithChar:value]; } - -template <> -inline -NSNumber *boxNumber(double value) - { return [NSNumber numberWithDouble:value]; } - -template <> -inline -NSNumber *boxNumber(float value) - { return [NSNumber numberWithFloat:value]; } - -template <> -inline -NSNumber *boxNumber(int value) - { return [NSNumber numberWithInt:value]; } - -template <> -inline -NSNumber *boxNumber(long value) - { return [NSNumber numberWithLong:value]; } - -template <> -inline -NSNumber *boxNumber(long long value) - { return [NSNumber numberWithLongLong:value]; } - -template <> -inline -NSNumber *boxNumber(short value) - { return [NSNumber numberWithShort:value]; } - -template <> -inline -NSNumber *boxNumber(unsigned char value) - { return [NSNumber numberWithUnsignedChar:value]; } - -template <> -inline -NSNumber *boxNumber(unsigned int value) - { return [NSNumber numberWithUnsignedInt:value]; } - -template <> -inline -NSNumber *boxNumber(unsigned long value) - { return [NSNumber numberWithUnsignedLong:value]; } - -template <> -inline -NSNumber *boxNumber(unsigned long long value) - { return [NSNumber numberWithUnsignedLongLong:value]; } - -template <> -inline -NSNumber *boxNumber(unsigned short value) - { return [NSNumber numberWithUnsignedShort:value]; } - -} // namespace hamcrest - -#endif // __cplusplus diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCCollectMatchers.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCCollectMatchers.h deleted file mode 100644 index c1a9a038e1..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCCollectMatchers.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// OCHamcrest - HCCollectMatchers.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import -#import - -#import - -@protocol HCMatcher; - - -/** - Returns an array of matchers from a variable-length comma-separated list terminated by @c nil. - - @ingroup helpers -*/ -OBJC_EXPORT NSMutableArray *HCCollectMatchers(id item1, va_list args); diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCDescribedAs.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCDescribedAs.h deleted file mode 100644 index eadee62530..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCDescribedAs.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// OCHamcrest - HCDescribedAs.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCDescribedAs : HCBaseMatcher -{ - NSString *descriptionTemplate; - id matcher; - NSArray *values; -} - -+ (id)describedAs:(NSString *)description - forMatcher:(id)aMatcher - overValues:(NSArray *)templateValues; - -- (id)initWithDescription:(NSString *)description - forMatcher:(id)aMatcher - overValues:(NSArray *)templateValues; - -@end - - -OBJC_EXPORT id HC_describedAs(NSString *description, id matcher, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - describedAs(description, matcher, ...) - - Adds custom failure description to a given matcher. - - @param description Overrides the matcher's description. - @param matcher,... The matcher to satisfy, followed by a comma-separated list of substitution values ending with @c nil. - - The description may contain substitution placeholders \%0, \%1, etc. These will be replaced by - any values that follow the matcher. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_describedAs instead.) - - @ingroup decorator_matchers - */ -#ifdef HC_SHORTHAND - #define describedAs HC_describedAs -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCDescription.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCDescription.h deleted file mode 100644 index 26296d38bf..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCDescription.h +++ /dev/null @@ -1,55 +0,0 @@ -// -// OCHamcrest - HCDescription.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -/** - A description of an HCMatcher. - - An HCMatcher will describe itself to a description which can later be used for reporting. - - @ingroup core - */ -@protocol HCDescription - -/** - Appends some plain text to the description. - - @return @c self, for chaining. - */ -- (id)appendText:(NSString *)text; - -/** - Appends description of given value to @c self. - - If the value implements the @ref HCSelfDescribing protocol, then it will be used. - - @return @c self, for chaining. - */ -- (id)appendDescriptionOf:(id)value; - -/** - Appends an arbitary value to the description. - - @b Deprecated: Call @ref appendDescriptionOf: instead. - - @return @c self, for chaining. - */ -- (id)appendValue:(id)value __attribute__((deprecated)); - -/** - Appends a list of objects to the description. - - @return @c self, for chaining. - */ -- (id)appendList:(NSArray *)values - start:(NSString *)start - separator:(NSString *)separator - end:(NSString *)end; - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCHasCount.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCHasCount.h deleted file mode 100644 index 0dfc0aaa17..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCHasCount.h +++ /dev/null @@ -1,61 +0,0 @@ -// -// OCHamcrest - HCHasCount.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCHasCount : HCBaseMatcher -{ - id countMatcher; -} - -+ (id)hasCount:(id)matcher; -- (id)initWithCount:(id)matcher; - -@end - - -OBJC_EXPORT id HC_hasCount(id matcher); - -/** - hasCount(aMatcher) - - Matches if object's @c -count satisfies a given matcher. - - @param aMatcher The matcher to satisfy. - - This matcher invokes @c -count on the evaluated object to get the number of elements it - contains, passing the result to @a aMatcher for evaluation. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasCount instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasCount HC_hasCount -#endif - - -OBJC_EXPORT id HC_hasCountOf(NSUInteger count); - -/** - hasCountOf(value) - - Matches if object's @c -count equals a given value. - - @param value @c NSUInteger value to compare against as the expected value. - - This matcher invokes @c -count on the evaluated object to get the number of elements it - contains, comparing the result to @a value for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasCountOf instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasCountOf HC_hasCountOf -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCHasDescription.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCHasDescription.h deleted file mode 100644 index de453b3701..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCHasDescription.h +++ /dev/null @@ -1,42 +0,0 @@ -// -// OCHamcrest - HCHasDescription.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCHasDescription : HCInvocationMatcher - -+ (id)hasDescription:(id)descriptionMatcher; -- (id)initWithDescription:(id)descriptionMatcher; - -@end - - -OBJC_EXPORT id HC_hasDescription(id match); - -/** - hasDescription(aMatcher) - - Matches if object's @c -description satisfies a given matcher. - - @param aMatcher The matcher to satisfy, or an expected value for @ref equalTo matching. - - This matcher invokes @c -description on the evaluated object to get its description, passing the - result to a given matcher for evaluation. If the @a aMatcher argument is not a matcher, it is - implicitly wrapped in an @ref equalTo matcher to check for equality. - - Examples: - @li @ref hasDescription(@ref startsWith(\@"foo")) - @li @ref hasDescription(\@"bar") - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasDescription instead.) - - @ingroup object_matchers - */ -#ifdef HC_SHORTHAND - #define hasDescription HC_hasDescription -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCHasProperty.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCHasProperty.h deleted file mode 100644 index a1cce28268..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCHasProperty.h +++ /dev/null @@ -1,49 +0,0 @@ -// -// OCHamcrest - HCHasProperty.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Justin Shacklette -// - -#import - - -@interface HCHasProperty : HCBaseMatcher -{ - NSString *propertyName; - id valueMatcher; -} - -+ (id)hasProperty:(NSString *)property value:(id)aValueMatcher; -- (id)initWithProperty:(NSString *)property value:(id)aValueMatcher; - -@end - - -OBJC_EXPORT id HC_hasProperty(NSString *name, id valueMatch); - -/** - hasProperty(name, valueMatcher) - - Matches if object has a method of a given name whose return value satisfies a given matcher. - - @param name The name of a method without arguments that returns an object. - @param valueMatcher The matcher to satisfy for the return value, or an expected value for @ref equalTo matching. - - This matcher first checks if the evaluated object has a method with a name matching the given - @c name. If so, it invokes the method and sees if the returned value satisfies @c valueMatcher. - - While this matcher is called "hasProperty", it's useful for checking the results of any simple - methods, not just properties. - - Examples: - @li @ref hasProperty(@"firstName", @"Joe") - @li @ref hasProperty(@"firstName", startsWith(@"J")) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasProperty instead.) - - @ingroup object_matchers - */ -#ifdef HC_SHORTHAND - #define hasProperty HC_hasProperty -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCInvocationMatcher.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCInvocationMatcher.h deleted file mode 100755 index 5158137fa6..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCInvocationMatcher.h +++ /dev/null @@ -1,62 +0,0 @@ -// -// OCHamcrest - HCInvocationMatcher.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -/** - Supporting class for matching a feature of an object. - - Tests whether the result of passing a given invocation to the value satisfies a given matcher. - - @ingroup helpers - */ -@interface HCInvocationMatcher : HCBaseMatcher -{ - NSInvocation *invocation; - id subMatcher; - BOOL shortMismatchDescription; -} - -/** - Determines whether a mismatch will be described in short form. - - Default is long form, which describes the object, the name of the invocation, and the - sub-matcher's mismatch diagnosis. Short form only has the sub-matcher's mismatch diagnosis. - */ -@property(nonatomic, assign) BOOL shortMismatchDescription; - -/** - Helper method for creating an invocation. - - A class is specified only so we can determine the method signature. - */ -+ (NSInvocation *)invocationForSelector:(SEL)selector onClass:(Class)aClass; - -/** - Helper method for creating an invocation. - - @b Deprecated: Use new name +invocationForSelector:onClass: - */ -+ (NSInvocation *)createInvocationForSelector:(SEL)selector onClass:(Class)aClass __attribute__((deprecated)); - -/** - Returns an HCInvocationMatcher object initialized with an invocation and a matcher. - */ -- (id)initWithInvocation:(NSInvocation *)anInvocation matching:(id)aMatcher; - -/** - Invokes stored invocation on given item and returns the result. - */ -- (id)invokeOn:(id)item; - -/** - Returns string representation of the invocation's selector. - */ -- (NSString *)stringFromSelector; - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIs.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIs.h deleted file mode 100644 index 9f93e9dc07..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIs.h +++ /dev/null @@ -1,52 +0,0 @@ -// -// OCHamcrest - HCIs.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIs : HCBaseMatcher -{ - id matcher; -} - -+ (id)is:(id)aMatcher; -- (id)initWithMatcher:(id)aMatcher; - -@end - - -OBJC_EXPORT id HC_is(id match); - -/** - is(aMatcher) - - Decorates another matcher, or provides a shortcut to the frequently used @ref is(equalTo(x)). - - @param aMatcher The matcher to satisfy, or an expected value for @ref equalTo matching. - - This matcher compares the evaluated object to the given matcher. - - If the @a aMatcher argument is a matcher, its behavior is retained, but the test may be more - expressive. For example: - @li @ref assertThatInt(value, equalToInt(5)) - @li @ref assertThatInt(value, is(equalToInt(5))) - - If the @a aMatcher argument is not a matcher, it is wrapped in an @ref equalTo matcher. This - makes the following statements equivalent: - @li @ref assertThat(cheese, equalTo(smelly)) - @li @ref assertThat(cheese, is(equalTo(smelly))) - @li @ref assertThat(cheese, is(smelly)) - - Choose the style that makes your expression most readable. This will vary depending on context. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_is instead.) - - @ingroup decorator_matchers - */ -#ifdef HC_SHORTHAND - #define is HC_is -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsAnything.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsAnything.h deleted file mode 100644 index 8d5eabe8a2..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsAnything.h +++ /dev/null @@ -1,61 +0,0 @@ -// -// OCHamcrest - HCIsAnything.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsAnything : HCBaseMatcher -{ - NSString *description; -} - -+ (id)isAnything; -+ (id)isAnythingWithDescription:(NSString *)aDescription; - -- (id)init; -- (id)initWithDescription:(NSString *)aDescription; - -@end - - -OBJC_EXPORT id HC_anything(); - -/** - Matches anything. - - This matcher always evaluates to @c YES. Specify this in composite matchers when the value of a - particular element is unimportant. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_anything instead.) - - @ingroup logical_matchers - */ -#ifdef HC_SHORTHAND - #define anything() HC_anything() -#endif - - -OBJC_EXPORT id HC_anythingWithDescription(NSString *aDescription); - -/** - anythingWithDescription(description) - - Matches anything. - - @param description A string used to describe this matcher. - - This matcher always evaluates to @c YES. Specify this in collection matchers when the value of a - particular element in a collection is unimportant. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_anything instead.) - - @ingroup logical_matchers - */ -#ifdef HC_SHORTHAND - #define anythingWithDescription HC_anythingWithDescription -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCloseTo.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCloseTo.h deleted file mode 100644 index 61ce97ce32..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCloseTo.h +++ /dev/null @@ -1,45 +0,0 @@ -// -// OCHamcrest - HCIsCloseTo.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsCloseTo : HCBaseMatcher -{ - double value; - double delta; -} - -+ (id)isCloseTo:(double)aValue within:(double)aDelta; -- (id)initWithValue:(double)aValue delta:(double)aDelta; - -@end - - -OBJC_EXPORT id HC_closeTo(double aValue, double aDelta); - -/** - closeTo(aValue, aDelta) - - Matches if object is a number close to a given value, within a given delta. - - @param aValue The @c double value to compare against as the expected value. - @param aDelta The @c double maximum delta between the values for which the numbers are considered close. - - This matcher invokes @c -doubleValue on the evaluated object to get its value as a @c double. - The result is compared against @a aValue to see if the difference is within a positive @a aDelta. - - Example: - @li @ref closeTo(3.0, 0.25) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_closeTo instead.) - - @ingroup number_matchers - */ -#ifdef HC_SHORTHAND - #define closeTo HC_closeTo -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionContaining.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionContaining.h deleted file mode 100644 index 2ba3ef7266..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionContaining.h +++ /dev/null @@ -1,67 +0,0 @@ -// -// OCHamcrest - HCIsCollectionContaining.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsCollectionContaining : HCBaseMatcher -{ - id elementMatcher; -} - -+ (id)isCollectionContaining:(id)anElementMatcher; -- (id)initWithMatcher:(id)anElementMatcher; - -@end - - -OBJC_EXPORT id HC_hasItem(id itemMatch); - -/** - hasItem(aMatcher) - - Matches if any element of collection satisfies a given matcher. - - @param aMatcher The matcher to satisfy, or an expected value for @ref equalTo matching. - - This matcher iterates the evaluated collection, searching for any element that satisfies a - given matcher. If a matching element is found, @c hasItem is satisfied. - - If the @a aMatcher argument is not a matcher, it is implicitly wrapped in an @ref equalTo - matcher to check for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasItem instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasItem HC_hasItem -#endif - - -OBJC_EXPORT id HC_hasItems(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - hasItems(firstMatcher, ...) - - Matches if all of the given matchers are satisfied by any elements of the collection. - - @param firstMatcher,... A comma-separated list of matchers ending with @c nil. - - This matcher iterates the given matchers, searching for any elements in the evaluated collection - that satisfy them. If each matcher is satisfied, then @c hasItems is satisfied. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c hasItems instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasItems HC_hasItems -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionContainingInAnyOrder.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionContainingInAnyOrder.h deleted file mode 100644 index 7be62ebb45..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionContainingInAnyOrder.h +++ /dev/null @@ -1,45 +0,0 @@ -// -// OCHamcrest - HCIsCollectionContainingInAnyOrder.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsCollectionContainingInAnyOrder : HCBaseMatcher -{ - NSMutableArray *matchers; -} - -+ (id)isCollectionContainingInAnyOrder:(NSMutableArray *)itemMatchers; -- (id)initWithMatchers:(NSMutableArray *)itemMatchers; - -@end - - -OBJC_EXPORT id HC_containsInAnyOrder(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - containsInAnyOrder(firstMatcher, ...) - - Matches if collection's elements, in any order, satisfy a given list of matchers. - - @param firstMatcher,... A comma-separated list of matchers ending with @c nil. - - This matcher iterates the evaluated collection, seeing if each element satisfies any of the - given matchers. The matchers are tried from left to right, and when a satisfied matcher is - found, it is no longer a candidate for the remaining elements. If a one-to-one correspondence is - established between elements and matchers, @c containsInAnyOrder is satisfied. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_containsInAnyOrder instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define containsInAnyOrder HC_containsInAnyOrder -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionContainingInOrder.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionContainingInOrder.h deleted file mode 100644 index bbe8ea3225..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionContainingInOrder.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OCHamcrest - HCIsCollectionContainingInOrder.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsCollectionContainingInOrder : HCBaseMatcher -{ - NSArray *matchers; -} - -+ (id)isCollectionContainingInOrder:(NSArray *)itemMatchers; -- (id)initWithMatchers:(NSArray *)itemMatchers; - -@end - - -OBJC_EXPORT id HC_contains(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - contains(firstMatcher, ...) - - Matches if collection's elements satisfy a given list of matchers, in order. - - @param firstMatcher,... A comma-separated list of matchers ending with @c nil. - - This matcher iterates the evaluated collection and a given list of matchers, seeing if each - element satisfies its corresponding matcher. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_contains instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define contains HC_contains -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionOnlyContaining.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionOnlyContaining.h deleted file mode 100644 index 5012143fb7..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsCollectionOnlyContaining.h +++ /dev/null @@ -1,50 +0,0 @@ -// -// OCHamcrest - HCIsCollectionOnlyContaining.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsCollectionOnlyContaining : HCBaseMatcher -{ - id matcher; -} - -+ (id)isCollectionOnlyContaining:(id)aMatcher; -- (id)initWithMatcher:(id)aMatcher; - -@end - - -OBJC_EXPORT id HC_onlyContains(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - onlyContains(firstMatcher, ...) - - Matches if each element of collection satisfies any of the given matchers. - - @param firstMatcher,... A comma-separated list of matchers ending with @c nil. - - This matcher iterates the evaluated collection, confirming whether each element satisfies any of - the given matchers. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - Example: - - @par - @ref onlyContains(startsWith(@"Jo"), nil) - - will match a collection [@"Jon", @"John", @"Johann"]. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_onlyContains instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define onlyContains HC_onlyContains -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContaining.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContaining.h deleted file mode 100644 index 3000fe36ab..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContaining.h +++ /dev/null @@ -1,52 +0,0 @@ -// -// OCHamcrest - HCIsDictionaryContaining.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsDictionaryContaining : HCBaseMatcher -{ - id keyMatcher; - id valueMatcher; -} - -+ (id)isDictionaryContainingKey:(id)aKeyMatcher - value:(id)aValueMatcher; - -- (id)initWithKeyMatcher:(id)aKeyMatcher - valueMatcher:(id)aValueMatcher; - -@end - - -OBJC_EXPORT id HC_hasEntry(id keyMatch, id valueMatch); - -/** - hasEntry(keyMatcher, valueMatcher) - - Matches if dictionary contains key-value entry satisfying a given pair of matchers. - - @param keyMatcher The matcher to satisfy for the key, or an expected value for @ref equalTo matching. - @param valueMatcher The matcher to satisfy for the value, or an expected value for @ref equalTo matching. - - This matcher iterates the evaluated dictionary, searching for any key-value entry that satisfies - @a keyMatcher and @a valueMatcher. If a matching entry is found, @c hasEntry is satisfied. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - Examples: - @li @ref hasEntry(@ref equalTo(@"foo"), equalTo(@"bar")) - @li @ref hasEntry(@"foo", @"bar") - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasEntry instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasEntry HC_hasEntry -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContainingEntries.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContainingEntries.h deleted file mode 100644 index f08ea5fe84..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContainingEntries.h +++ /dev/null @@ -1,51 +0,0 @@ -// -// OCHamcrest - HCIsDictionaryContainingEntries.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsDictionaryContainingEntries : HCBaseMatcher -{ - NSArray *keys; - NSArray *valueMatchers; -} - -+ (id)isDictionaryContainingKeys:(NSArray *)theKeys - valueMatchers:(NSArray *)theValueMatchers; - -- (id)initWithKeys:(NSArray *)theKeys - valueMatchers:(NSArray *)theValueMatchers; - -@end - - -OBJC_EXPORT id HC_hasEntries(id keysAndValueMatch, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - hasEntries(firstKey, valueMatcher, ...) - - Matches if dictionary contains entries satisfying a list of alternating keys and their value - matchers. - - @param firstKey A key (not a matcher) to look up. - @param valueMatcher,... The matcher to satisfy for the value, or an expected value for @ref equalTo matching. - - Note that the keys must be actual keys, not matchers. Any value argument that is not a matcher - is implicitly wrapped in an @ref equalTo matcher to check for equality. The list must end with - @c nil. - - Examples: - @li @ref hasEntries(@"first", equalTo(@"Jon"), @"last", equalTo(@"Reid"), nil) - @li @ref hasEntries(@"first", @"Jon", @"last", @"Reid", nil) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasEntry instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasEntries HC_hasEntries -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContainingKey.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContainingKey.h deleted file mode 100644 index 91e2edc303..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContainingKey.h +++ /dev/null @@ -1,47 +0,0 @@ -// -// OCHamcrest - HCIsDictionaryContainingKey.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsDictionaryContainingKey : HCBaseMatcher -{ - id keyMatcher; -} - -+ (id)isDictionaryContainingKey:(id)theKeyMatcher; -- (id)initWithKeyMatcher:(id)theKeyMatcher; - -@end - - -OBJC_EXPORT id HC_hasKey(id keyMatch); - -/** - hasKey(keyMatcher) - - Matches if dictionary contains an entry whose key satisfies a given matcher. - - @param keyMatcher The matcher to satisfy for the key, or an expected value for @ref equalTo matching. - - This matcher iterates the evaluated dictionary, searching for any key-value entry whose key - satisfies the given matcher. If a matching entry is found, @c hasKey is satisfied. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasKey instead.) - - Examples: - @li @ref hasEntry(equalTo(@"foo")) - @li @ref hasEntry(@"foo") - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasKey HC_hasKey -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContainingValue.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContainingValue.h deleted file mode 100644 index 4dcd75f8bd..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsDictionaryContainingValue.h +++ /dev/null @@ -1,47 +0,0 @@ -// -// OCHamcrest - HCIsDictionaryContainingValue.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsDictionaryContainingValue : HCBaseMatcher -{ - id valueMatcher; -} - -+ (id)isDictionaryContainingValue:(id)theValueMatcher; -- (id)initWithValueMatcher:(id)theValueMatcher; - -@end - - -OBJC_EXPORT id HC_hasValue(id valueMatch); - -/** - hasValue(valueMatcher) - - Matches if dictionary contains an entry whose value satisfies a given matcher. - - @param valueMatcher The matcher to satisfy for the value, or an expected value for @ref equalTo matching. - - This matcher iterates the evaluated dictionary, searching for any key-value entry whose value - satisfies the given matcher. If a matching entry is found, @c hasValue is satisfied. - - Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for - equality. - - Examples: - @li @ref hasValue(equalTo(@"bar")) - @li @ref hasValue(@"bar") - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_hasValue instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define hasValue HC_hasValue -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEmptyCollection.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEmptyCollection.h deleted file mode 100644 index 8df8140bad..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEmptyCollection.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// OCHamcrest - HCIsEmptyCollection.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsEmptyCollection : HCHasCount - -+ (id)isEmptyCollection; -- (id)init; - -@end - - -OBJC_EXPORT id HC_empty(); - -/** - Matches empty collection. - - This matcher invokes @c -count on the evaluated object to determine if the number of elements it - contains is zero. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_empty instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define empty() HC_empty() -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqual.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqual.h deleted file mode 100644 index 67cc183872..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqual.h +++ /dev/null @@ -1,42 +0,0 @@ -// -// OCHamcrest - HCIsEqual.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsEqual : HCBaseMatcher -{ - id object; -} - -+ (id)isEqualTo:(id)anObject; -- (id)initEqualTo:(id)anObject; - -@end - - -OBJC_EXPORT id HC_equalTo(id object); - -/** - equalTo(anObject) - - Matches if object is equal to a given object. - - @param anObject The object to compare against as the expected value. - - This matcher compares the evaluated object to @a anObject for equality, as determined by the - @c -isEqual: method. - - If @a anObject is @c nil, the matcher will successfully match @c nil. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalTo instead.) - - @ingroup object_matchers - */ -#ifdef HC_SHORTHAND - #define equalTo HC_equalTo -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqualIgnoringCase.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqualIgnoringCase.h deleted file mode 100644 index 724334e563..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqualIgnoringCase.h +++ /dev/null @@ -1,47 +0,0 @@ -// -// OCHamcrest - HCIsEqualIgnoringCase.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsEqualIgnoringCase : HCBaseMatcher -{ - NSString *string; -} - -+ (id)isEqualIgnoringCase:(NSString *)aString; -- (id)initWithString:(NSString *)aString; - -@end - - -OBJC_EXPORT id HC_equalToIgnoringCase(NSString *aString); - -/** - equalToIgnoringCase(aString) - - Matches if object is a string equal to a given string, ignoring case differences. - - @param aString The string to compare against as the expected value. This value must not be @c nil. - - This matcher first checks whether the evaluated object is a string. If so, it compares it with - @a aString, ignoring differences of case. - - Example: - - @par - @ref equalToIgnoringCase(@"hello world") - - will match "heLLo WorlD". - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToIgnoringCase instead.) - - @ingroup text_matchers - */ -#ifdef HC_SHORTHAND - #define equalToIgnoringCase HC_equalToIgnoringCase -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqualIgnoringWhiteSpace.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqualIgnoringWhiteSpace.h deleted file mode 100644 index a2715c04cd..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqualIgnoringWhiteSpace.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// OCHamcrest - HCIsEqualIgnoringWhiteSpace.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsEqualIgnoringWhiteSpace : HCBaseMatcher -{ - NSString *originalString; - NSString *strippedString; -} - -+ (id)isEqualIgnoringWhiteSpace:(NSString *)aString; -- (id)initWithString:(NSString *)aString; - -@end - - -OBJC_EXPORT id HC_equalToIgnoringWhiteSpace(NSString *aString); - -/** - equalToIgnoringWhiteSpace(aString) - - Matches if object is a string equal to a given string, ignoring differences in whitespace. - - @param aString The string to compare against as the expected value. This value must not be @c nil. - - This matcher first checks whether the evaluated object is a string. If so, it compares it with - @a aString, ignoring differences in runs of whitespace. - - Example: - - @par - @ref equalToIgnoringWhiteSpace(@"hello world") - - will match @verbatim "hello world" @endverbatim - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToIgnoringWhiteSpace instead.) - - @ingroup text_matchers - */ -#ifdef HC_SHORTHAND - #define equalToIgnoringWhiteSpace HC_equalToIgnoringWhiteSpace -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqualToNumber.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqualToNumber.h deleted file mode 100644 index 356e4a118e..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsEqualToNumber.h +++ /dev/null @@ -1,323 +0,0 @@ -// -// OCHamcrest - HCIsEqualToNumber.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -OBJC_EXPORT id HC_equalToBool(BOOL value); - -/** - equalToBool(value) - - Matches if object is equal to @c NSNumber created from a @c BOOL. - - @param value The @c BOOL value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a @c BOOL @a value and compares the evaluated - object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToBool instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToBool HC_equalToBool -#endif - - -OBJC_EXPORT id HC_equalToChar(char value); - -/** - equalToChar(value) - - Matches if object is equal to @c NSNumber created from a @c char. - - @param value The @c char value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a @c char @a value and compares the evaluated - object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToChar instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToChar HC_equalToChar -#endif - - -OBJC_EXPORT id HC_equalToDouble(double value); - -/** - equalToDouble(value) - - Matches if object is equal to @c NSNumber created from a @c double. - - @param value The @c double value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a @c double @a value and compares the evaluated - object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToDouble instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToDouble HC_equalToDouble -#endif - - -OBJC_EXPORT id HC_equalToFloat(float value); - -/** - equalToFloat(value) - - Matches if object is equal to @c NSNumber created from a @c float. - - @param value The @c float value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a @c float @a value and compares the evaluated - object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToFloat instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToFloat HC_equalToFloat -#endif - - -OBJC_EXPORT id HC_equalToInt(int value); - -/** - equalToInt(value) - - Matches if object is equal to @c NSNumber created from an @c int. - - @param value The @c int value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a @c int @a value and compares the evaluated - object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToInt instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToInt HC_equalToInt -#endif - - -OBJC_EXPORT id HC_equalToLong(long value); - -/** - equalToLong(value) - - Matches if object is equal to @c NSNumber created from a @c long. - - @param value The @c long value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a @c long @a value and compares the evaluated - object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToLong instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToLong HC_equalToLong -#endif - - -OBJC_EXPORT id HC_equalToLongLong(long long value); - -/** - equalToLongLong(value) - - Matches if object is equal to @c NSNumber created from a long long. - - @param value The long long value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a long long @a value and compares - the evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToLongLong instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToLongLong HC_equalToLongLong -#endif - - -OBJC_EXPORT id HC_equalToShort(short value); - -/** - equalToShort(value) - - Matches if object is equal to @c NSNumber created from a @c short. - - @param value The @c short value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from a @c short @a value and compares the evaluated - object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToShort instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToShort HC_equalToShort -#endif - - -OBJC_EXPORT id HC_equalToUnsignedChar(unsigned char value); - -/** - equalToUnsignedChar(value) - - Matches if object is equal to @c NSNumber created from an unsigned char. - - @param value The unsigned char value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from an unsigned char @a value and - compares the evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToUnsignedChar instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToUnsignedChar HC_equalToUnsignedChar -#endif - - -OBJC_EXPORT id HC_equalToUnsignedInt(unsigned int value); - -/** - equalToUnsignedInt(value) - - Matches if object is equal to @c NSNumber created from an unsigned int. - - @param value The unsigned int value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from an unsigned int @a value and - compares the evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToUnsignedInt instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToUnsignedInt HC_equalToUnsignedInt -#endif - - -OBJC_EXPORT id HC_equalToUnsignedLong(unsigned long value); - -/** - equalToUnsignedLong(value) - - Matches if object is equal to @c NSNumber created from an unsigned long. - - @param value The unsigned long value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from an unsigned long @a value and - compares the evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToUnsignedLong instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToUnsignedLong HC_equalToUnsignedLong -#endif - - -OBJC_EXPORT id HC_equalToUnsignedLongLong(unsigned long long value); - -/** - equalToUnsignedLongLong(value) - - Matches if object is equal to @c NSNumber created from an unsigned long long. - - @param value The unsigned long long value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from an unsigned long long @a value and - compares the evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToUnsignedLongLong instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToUnsignedLongLong HC_equalToUnsignedLongLong -#endif - - -OBJC_EXPORT id HC_equalToUnsignedShort(unsigned short value); - -/** - equalToUnsignedShort(value) - - Matches if object is equal to @c NSNumber created from an unsigned short. - - @param value The unsigned short value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from an unsigned short @a value and - compares the evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToUnsignedShort instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToUnsignedShort HC_equalToUnsignedShort -#endif - - -OBJC_EXPORT id HC_equalToInteger(NSInteger value); - -/** - equalToInteger(value) - - Matches if object is equal to @c NSNumber created from an @c NSInteger. - - @param value The @c NSInteger value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from an @c NSInteger @a value and compares the - evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToInteger instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToInteger HC_equalToInteger -#endif - - -OBJC_EXPORT id HC_equalToUnsignedInteger(NSUInteger value); - -/** - equalToUnsignedInteger(value) - - Matches if object is equal to @c NSNumber created from an @c NSUInteger. - - @param value The @c NSUInteger value from which to create an @c NSNumber. - - This matcher creates an @c NSNumber object from an @c NSUInteger @a value and compares the - evaluated object to it for equality. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_equalToUnsignedInteger instead.) - - @ingroup primitive_number_matchers - */ -#ifdef HC_SHORTHAND - #define equalToUnsignedInteger HC_equalToUnsignedInteger -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsIn.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsIn.h deleted file mode 100644 index 653105358c..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsIn.h +++ /dev/null @@ -1,40 +0,0 @@ -// -// OCHamcrest - HCIsIn.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsIn : HCBaseMatcher -{ - id collection; -} - -+ (id)isInCollection:(id)aCollection; -- (id)initWithCollection:(id)aCollection; - -@end - - -OBJC_EXPORT id HC_isIn(id aCollection); - -/** - isIn(aCollection) - - Matches if evaluated object is present in a given collection. - - @param aCollection The collection to search. - - This matcher invokes @c -containsObject: on @a aCollection to determine if the evaluated object - is an element of the collection. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_isIn instead.) - - @ingroup collection_matchers - */ -#ifdef HC_SHORTHAND - #define isIn HC_isIn -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsInstanceOf.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsInstanceOf.h deleted file mode 100644 index 6c11704219..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsInstanceOf.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OCHamcrest - HCIsInstanceOf.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsInstanceOf : HCBaseMatcher -{ - Class theClass; -} - -+ (id)isInstanceOf:(Class)type; -- (id)initWithType:(Class)type; - -@end - - -OBJC_EXPORT id HC_instanceOf(Class aClass); - -/** - instanceOf(aClass) - - Matches if object is an instance of, or inherits from, a given class. - - @param aClass The class to compare against as the expected class. - - This matcher checks whether the evaluated object is an instance of @a aClass or an instance of - any class that inherits from @a aClass. - - Example: - @li @ref instanceOf([NSString class]) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_instanceOf instead.) - - @ingroup object_matchers - */ -#ifdef HC_SHORTHAND - #define instanceOf HC_instanceOf -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsNil.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsNil.h deleted file mode 100644 index bc13159c6b..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsNil.h +++ /dev/null @@ -1,45 +0,0 @@ -// -// OCHamcrest - HCIsNil.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsNil : HCBaseMatcher - -+ (id)isNil; - -@end - - -OBJC_EXPORT id HC_nilValue(); - -/** - Matches if object is @c nil. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_nilValue instead.) - - @ingroup object_matchers - */ -#ifdef HC_SHORTHAND - #define nilValue() HC_nilValue() -#endif - - -OBJC_EXPORT id HC_notNilValue(); - -/** - Matches if object is not @c nil. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_notNilValue instead.) - - @ingroup object_matchers - */ -#ifdef HC_SHORTHAND - #define notNilValue() HC_notNilValue() -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsNot.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsNot.h deleted file mode 100644 index 02078ae05d..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsNot.h +++ /dev/null @@ -1,45 +0,0 @@ -// -// OCHamcrest - HCIsNot.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsNot : HCBaseMatcher -{ - id matcher; -} - -+ (id)isNot:(id)aMatcher; -- (id)initNot:(id)aMatcher; - -@end - - -OBJC_EXPORT id HC_isNot(id aMatcher); - -/** - isNot(aMatcher) - - Inverts the given matcher to its logical negation. - - @param aMatcher The matcher to negate. - - This matcher compares the evaluated object to the negation of the given matcher. If the - @a aMatcher argument is not a matcher, it is implicitly wrapped in an @ref equalTo matcher to - check for equality, and thus matches for inequality. - - Examples: - @li @ref assertThat(cheese, isNot(equalTo(smelly))) - @li @ref assertThat(cheese, isNot(smelly)) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_isNot instead.) - - @ingroup logical_matchers - */ -#ifdef HC_SHORTHAND - #define isNot HC_isNot -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsSame.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsSame.h deleted file mode 100644 index 476f0ebe05..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCIsSame.h +++ /dev/null @@ -1,40 +0,0 @@ -// -// OCHamcrest - HCIsSame.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCIsSame : HCBaseMatcher -{ - id object; -} - -+ (id)isSameAs:(id)anObject; -- (id)initSameAs:(id)anObject; - -@end - - -OBJC_EXPORT id HC_sameInstance(id object); - -/** - sameInstance(anObject) - - Matches if evaluated object is the same instance as a given object. - - @param anObject The object to compare against as the expected value. - - This matcher compares the address of the evaluated object to determine if it is the same object - as @a anObject. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_sameInstance instead.) - - @ingroup object_matchers - */ -#ifdef HC_SHORTHAND - #define sameInstance HC_sameInstance -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCMatcher.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCMatcher.h deleted file mode 100644 index 010c8c6d43..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCMatcher.h +++ /dev/null @@ -1,54 +0,0 @@ -// -// OCHamcrest - HCMatcher.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -/** - A matcher over acceptable values. - - A matcher is able to describe itself to give feedback when it fails. - - HCMatcher implementations should @b not directly implement this protocol. - Instead, @b extend the HCBaseMatcher class, which will ensure that the HCMatcher API can grow - to support new features and remain compatible with all HCMatcher implementations. - - @ingroup core - */ -@protocol HCMatcher - -/** - Evaluates the matcher for argument @a item. - - @param item The object against which the matcher is evaluated. - @return @c YES if @a item matches, otherwise @c NO. - */ -- (BOOL)matches:(id)item; - -/** - Evaluates the matcher for argument @a item. - - @param item The object against which the matcher is evaluated. - @param mismatchDescription The description to be built or appended to if @a item does not match. - @return @c YES if @a item matches, otherwise @c NO. - */ -- (BOOL)matches:(id)item describingMismatchTo:(id)mismatchDescription; - -/** - Generates a description of why the matcher has not accepted the item. - - The description will be part of a larger description of why a matching failed, so it should be - concise. - - This method assumes that @c matches:item is false, but will not check this. - - @param item The item that the HCMatcher has rejected. - @param mismatchDescription The description to be built or appended to. - */ -- (void)describeMismatchOf:(id)item to:(id)mismatchDescription; - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCNumberAssert.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCNumberAssert.h deleted file mode 100644 index f9165fccdd..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCNumberAssert.h +++ /dev/null @@ -1,385 +0,0 @@ -// -// OCHamcrest - HCNumberAssert.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - -@protocol HCMatcher; - - -OBJC_EXPORT void HC_assertThatBoolWithLocation(id testCase, BOOL actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatBool(actual, matcher) \ - HC_assertThatBoolWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatBool(actual, matcher) - - Asserts that @c BOOL actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c BOOL value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatBool instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatBool HC_assertThatBool -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatCharWithLocation(id testCase, char actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatChar(actual, matcher) \ - HC_assertThatCharWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatChar(actual, matcher) - - Asserts that @c char actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c char value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatChar instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatChar HC_assertThatChar -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatDoubleWithLocation(id testCase, double actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatDouble(actual, matcher) \ - HC_assertThatDoubleWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - HC_assertThatDouble(actual, matcher) - - Asserts that @c double actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c double value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatDouble instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatDouble HC_assertThatDouble -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatFloatWithLocation(id testCase, float actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatFloat(actual, matcher) \ - HC_assertThatFloatWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatFloat(actual, matcher) - - Asserts that @c float actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c float value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatFloat instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatFloat HC_assertThatFloat -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatIntWithLocation(id testCase, int actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatInt(actual, matcher) \ - HC_assertThatIntWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatInt(actual, matcher) - - Asserts that @c int actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c int value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatInt instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatInt HC_assertThatInt -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatLongWithLocation(id testCase, long actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatLong(actual, matcher) \ - HC_assertThatLongWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatLong(actual, matcher) - - Asserts that @c long actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c long value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatLong instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatLong HC_assertThatLong -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatLongLongWithLocation(id testCase, long long actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatLongLong(actual, matcher) \ - HC_assertThatLongLongWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatLongLong(actual, matcher) - - Asserts that long long actual value, converted to an @c NSNumber, satisfies - matcher. - - @param actual The long long value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatLongLong instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatLongLong HC_assertThatLongLong -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatShortWithLocation(id testCase, short actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatShort(actual, matcher) \ - HC_assertThatShortWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatShort(actual, matcher) - - Asserts that @c short actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c short value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatShort instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatShort HC_assertThatShort -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatUnsignedCharWithLocation(id testCase, unsigned char actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatUnsignedChar(actual, matcher) \ - HC_assertThatUnsignedCharWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatUnsignedChar(actual, matcher) - - Asserts that unsigned char actual value, converted to an @c NSNumber, satisfies - matcher. - - @param actual The unsigned char value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatUnsignedChar instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatUnsignedChar HC_assertThatUnsignedChar -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatUnsignedIntWithLocation(id testCase, unsigned int actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatUnsignedInt(actual, matcher) \ - HC_assertThatUnsignedIntWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatUnsignedInt(actual, matcher) - - Asserts that unsigned int actual value, converted to an @c NSNumber, satisfies - matcher. - - @param actual The unsigned int value to convert to an @c NSNumber for evaluation @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatUnsignedInt instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatUnsignedInt HC_assertThatUnsignedInt -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatUnsignedLongWithLocation(id testCase, unsigned long actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatUnsignedLong(actual, matcher) \ - HC_assertThatUnsignedLongWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatUnsignedLong(actual, matcher) - - Asserts that unsigned long actual value, converted to an @c NSNumber, satisfies - matcher. - - @param actual The unsigned long value to convert to an @c NSNumber for evaluation @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatUnsignedLong instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatUnsignedLong HC_assertThatUnsignedLong -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatUnsignedLongLongWithLocation(id testCase, unsigned long long actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatUnsignedLongLong(actual, matcher) \ - HC_assertThatUnsignedLongLongWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatUnsignedLongLong(actual, matcher) - - Asserts that unsigned long long actual value, converted to an @c NSNumber, - satisfies matcher. - - @param actual The unsigned long long value to convert to an @c NSNumber for evaluation @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatUnsignedLongLong instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatUnsignedLongLong HC_assertThatUnsignedLongLong -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatUnsignedShortWithLocation(id testCase, unsigned short actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatUnsignedShort(actual, matcher) \ - HC_assertThatUnsignedShortWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatUnsignedShort(actual, matcher) - - Asserts that unsigned short actual value, converted to an @c NSNumber, satisfies - matcher. - - @param actual The unsigned short value to convert to an @c NSNumber for evaluation @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatUnsignedShort instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatUnsignedShort HC_assertThatUnsignedShort -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatIntegerWithLocation(id testCase, NSInteger actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatInteger(actual, matcher) \ - HC_assertThatIntegerWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatInteger(actual, matcher) - - Asserts that @c NSInteger actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c NSInteger value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatInteger instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatInteger HC_assertThatInteger -#endif - - -#pragma mark - - -OBJC_EXPORT void HC_assertThatUnsignedIntegerWithLocation(id testCase, NSUInteger actual, - id matcher, const char* fileName, int lineNumber); - -#define HC_assertThatUnsignedInteger(actual, matcher) \ - HC_assertThatUnsignedIntegerWithLocation(self, actual, matcher, __FILE__, __LINE__) - -/** - assertThatUnsignedInteger(actual, matcher) - - Asserts that @c NSUInteger actual value, converted to an @c NSNumber, satisfies matcher. - - @param actual The @c NSUInteger value to convert to an @c NSNumber for evaluation. - @param matcher The matcher to satisfy as the expected condition. - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_assertThatUnsignedInteger instead.) - - @ingroup integration_numeric - */ -#ifdef HC_SHORTHAND - #define assertThatUnsignedInteger HC_assertThatUnsignedInteger -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCOrderingComparison.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCOrderingComparison.h deleted file mode 100644 index e338649cb7..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCOrderingComparison.h +++ /dev/null @@ -1,113 +0,0 @@ -// -// OCHamcrest - HCOrderingComparison.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCOrderingComparison : HCBaseMatcher -{ - id expected; - NSComparisonResult minCompare; - NSComparisonResult maxCompare; - NSString *comparisonDescription; -} - -+ (id)compare:(id)expectedValue - minCompare:(NSComparisonResult)min - maxCompare:(NSComparisonResult)max - comparisonDescription:(NSString *)comparisonDescription; - -- (id)initComparing:(id)expectedValue - minCompare:(NSComparisonResult)min - maxCompare:(NSComparisonResult)max - comparisonDescription:(NSString *)comparisonDescription; - -@end - - -OBJC_EXPORT id HC_greaterThan(id expected); - -/** - greaterThan(aNumber) - - Matches if object is greater than a given number. - - @param aNumber The @c NSNumber to compare against. - - Example: - @li @ref greaterThan([NSNumber numberWithInt:5]) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_greaterThan instead.) - - @ingroup number_matchers - */ -#ifdef HC_SHORTHAND - #define greaterThan HC_greaterThan -#endif - - -OBJC_EXPORT id HC_greaterThanOrEqualTo(id expected); - -/** - greaterThanOrEqualTo(aNumber) - - Matches if object is greater than or equal to a given number. - - @param aNumber The @c NSNumber to compare against. - - Example: - @li @ref greaterThanOrEqualTo([NSNumber numberWithInt:5]) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_greaterThanOrEqualTo instead.) - - @ingroup number_matchers - */ -#ifdef HC_SHORTHAND - #define greaterThanOrEqualTo HC_greaterThanOrEqualTo -#endif - - -OBJC_EXPORT id HC_lessThan(id expected); - -/** - lessThan(aNumber) - - Matches if object is less than a given number. - - @param aNumber The @c NSNumber to compare against. - - Example: - @li @ref lessThan([NSNumber numberWithInt:5]) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_lessThan instead.) - - @ingroup number_matchers - */ -#ifdef HC_SHORTHAND - #define lessThan HC_lessThan -#endif - - -OBJC_EXPORT id HC_lessThanOrEqualTo(id expected); - -/** - lessThanOrEqualTo(aNumber) - - Matches if object is less than or equal to a given number. - - @param aNumber The @c NSNumber to compare against. - - Example: - @li @ref lessThanOrEqualTo([NSNumber numberWithInt:5]) - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_lessThanOrEqualTo instead.) - - @ingroup number_matchers - */ -#ifdef HC_SHORTHAND - #define lessThanOrEqualTo HC_lessThanOrEqualTo -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCRequireNonNilObject.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCRequireNonNilObject.h deleted file mode 100644 index 2ec9b94258..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCRequireNonNilObject.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// OCHamcrest - HCRequireNonNilObject.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import -#import - - -/** - Throws an NSException if @a obj is @c nil. - - @ingroup helpers -*/ -OBJC_EXPORT void HCRequireNonNilObject(id obj); diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCRequireNonNilString.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCRequireNonNilString.h deleted file mode 100644 index ee1aa723fc..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCRequireNonNilString.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// OCHamcrest - HCRequireNonNilString.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import -#import - - -/** - Throws an NSException if @a string is @c nil. - - @b Deprecated: Use @ref HCRequireNonNilObject instead. - - @ingroup helpers -*/ -OBJC_EXPORT void HCRequireNonNilString(NSString *string) __attribute__((deprecated)); diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCSelfDescribing.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCSelfDescribing.h deleted file mode 100644 index 31059edac8..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCSelfDescribing.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// OCHamcrest - HCSelfDescribing.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - -@protocol HCDescription; - - -/** - The ability of an object to describe itself. - - @ingroup core - */ -@protocol HCSelfDescribing - -/** - Generates a description of the object. - - The description may be part of a description of a larger object of which this is just a - component, so it should be worded appropriately. - - @param description The description to be built or appended to. - */ -- (void)describeTo:(id)description; - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringContains.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringContains.h deleted file mode 100644 index 694ba22d63..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringContains.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OCHamcrest - HCStringContains.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCStringContains : HCSubstringMatcher - -+ (id)stringContains:(NSString *)aSubstring; - -@end - - -OBJC_EXPORT id HC_containsString(NSString *aSubstring); - -/** - containsString(aString) - - Matches if object is a string containing a given string. - - @param aString The string to search for. This value must not be @c nil. - - This matcher first checks whether the evaluated object is a string. If so, it checks whether it - contains @a aString. - - Example: - - @par - @ref containsString(@"def") - - will match "abcdefg". - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_containsString instead.) - - @ingroup text_matchers - */ -#ifdef HC_SHORTHAND - #define containsString HC_containsString -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringContainsInOrder.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringContainsInOrder.h deleted file mode 100644 index 4a618cee1b..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringContainsInOrder.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// OCHamcrest - HCStringContainsInOrder.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCStringContainsInOrder : HCBaseMatcher -{ - NSArray *substrings; -} - -+ (id)containsInOrder:(NSArray *)substringList; -- (id)initWithSubstrings:(NSArray *)substringList; - -@end - - -OBJC_EXPORT id HC_stringContainsInOrder(NSString *substring, ...) NS_REQUIRES_NIL_TERMINATION; - -/** - stringContainsInOrder(firstString, ...) - - Matches if object is a string containing a given list of substrings in relative order. - - @param firstString,... A comma-separated list of strings ending with @c nil. - - This matcher first checks whether the evaluated object is a string. If so, it checks whether it - contains a given list of strings, in relative order to each other. The searches are performed - starting from the beginning of the evaluated string. - - Example: - - @par - @ref stringContainsInOrder(@"bc", @"fg", @"jkl", nil) - - will match "abcdefghijklm". - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_stringContainsInOrder instead.) - - @ingroup text_matchers - */ -#ifdef HC_SHORTHAND - #define stringContainsInOrder HC_stringContainsInOrder -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringDescription.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringDescription.h deleted file mode 100644 index 1254bee545..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringDescription.h +++ /dev/null @@ -1,41 +0,0 @@ -// -// OCHamcrest - HCStringDescription.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - -@protocol HCSelfDescribing; - - -/** - An HCDescription that is stored as a string. - - @ingroup core - */ -@interface HCStringDescription : HCBaseDescription -{ - NSMutableString *accumulator; -} - -/** - Returns the description of an HCSelfDescribing object as a string. - - @param selfDescribing The object to be described. - @return The description of the object. - */ -+ (NSString *)stringFrom:(id)selfDescribing; - -/** - Returns an empty description. - */ -+ (HCStringDescription *)stringDescription; - -/** - Returns an initialized HCStringDescription object that is empty. - */ -- (id)init; - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringEndsWith.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringEndsWith.h deleted file mode 100644 index 9d9292d6c4..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringEndsWith.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OCHamcrest - HCStringEndsWith.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCStringEndsWith : HCSubstringMatcher - -+ (id)stringEndsWith:(NSString *)aSubstring; - -@end - - -OBJC_EXPORT id HC_endsWith(NSString *aSubstring); - -/** - endsWith(aString) - - Matches if object is a string ending with a given string. - - @param aString The string to search for. This value must not be @c nil. - - This matcher first checks whether the evaluated object is a string. If so, it checks if - @a aString matches the ending characters of the evaluated object. - - Example: - - @par - @ref endsWith(@"bar") - - will match "foobar". - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_endsWith instead.) - - @ingroup text_matchers - */ -#ifdef HC_SHORTHAND - #define endsWith HC_endsWith -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringStartsWith.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringStartsWith.h deleted file mode 100644 index 816bf1fcea..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCStringStartsWith.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// OCHamcrest - HCStringStartsWith.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCStringStartsWith : HCSubstringMatcher - -+ (id)stringStartsWith:(NSString *)aSubstring; - -@end - - -OBJC_EXPORT id HC_startsWith(NSString *aSubstring); - -/** - startsWith(aString) - - Matches if object is a string starting with a given string. - - @param aString The string to search for. This value must not be @c nil. - - This matcher first checks whether the evaluated object is a string. If so, it checks if - @a aString matches the beginning characters of the evaluated object. - - Example: - - @par - @ref endsWith(@"foo") - - will match "foobar". - - (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym - @c HC_startsWith instead.) - - @ingroup text_matchers - */ -#ifdef HC_SHORTHAND - #define startsWith HC_startsWith -#endif diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCSubstringMatcher.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCSubstringMatcher.h deleted file mode 100644 index 4bee8df756..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCSubstringMatcher.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// OCHamcrest - HCSubstringMatcher.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - - -@interface HCSubstringMatcher : HCBaseMatcher -{ - NSString *substring; -} - -- (id)initWithSubstring:(NSString *)aString; - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCWrapInMatcher.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCWrapInMatcher.h deleted file mode 100644 index b120ee71f7..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/HCWrapInMatcher.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// OCHamcrest - HCWrapInMatcher.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - -@protocol HCMatcher; - - -/** - Wraps argument in a matcher, if necessary. - - @return The argument as-if if it is already a matcher, otherwise wrapped in an @ref equalTo matcher. - - @ingroup helpers - */ -OBJC_EXPORT id HCWrapInMatcher(id matcherOrValue); diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/NSObject+HCSelfDescribingValue.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/NSObject+HCSelfDescribingValue.h deleted file mode 100644 index 6e8ab74d2e..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/NSObject+HCSelfDescribingValue.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// OCHamcrest - NSObject+HCSelfDescribingValue.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -#import - -@protocol HCDescription; - -/** - This category allows any object to satisfy the HCSelfDescribing protocol. - - @b Deprecated: No longer needed now that @ref appendDescriptionOf: handles all types of objects. - - @ingroup core - */ -@interface NSObject (HCSelfDescribingValue) - -/** - Generates a description of the object. - - @param description The description to be appended to. - */ -- (void)describeTo:(id)description __attribute__((deprecated)); - -@end diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/OCHamcrestIOS.h b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/OCHamcrestIOS.h deleted file mode 100644 index 358b2bc542..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Headers/OCHamcrestIOS.h +++ /dev/null @@ -1,134 +0,0 @@ -// -// OCHamcrest - OCHamcrest.h -// Copyright 2011 hamcrest.org. See LICENSE.txt -// -// Created by: Jon Reid -// - -/** - @defgroup library Matcher Library - - Library of Matcher implementations. - */ - -/** - @defgroup object_matchers Object Matchers - - Matchers that inspect objects. - - @ingroup library - */ -#import -#import -#import -#import -#import -#import - -/** - @defgroup collection_matchers Collection Matchers - - Matchers of collections. - - @ingroup library - */ -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import - -/** - @defgroup number_matchers Number Matchers - - Matchers that perform numeric comparisons. - - @ingroup library - */ -#import -#import - -/** - @defgroup primitive_number_matchers Primitive Number Matchers - - Matchers for testing equality against primitive numeric types. - - @ingroup number_matchers - */ -#import - -/** - @defgroup text_matchers Text Matchers - - Matchers that perform text comparisons. - - @ingroup library - */ -#import -#import -#import -#import -#import -#import - -/** - @defgroup logical_matchers Logical Matchers - - Boolean logic using other matchers. - - @ingroup library - */ -#import -#import -#import -#import - -/** - @defgroup decorator_matchers Decorator Matchers - - Matchers that decorate other matchers for better expression. - - @ingroup library - */ -#import -#import - -/** - @defgroup integration Unit Test Integration - */ -#import - -/** - @defgroup integration_numeric Unit Tests of Primitive Numbers - - Unit test integration for primitive numbers. - - The @c assertThat<Type> macros convert the primitive actual value to an @c NSNumber, - passing that to the matcher for evaluation. If the matcher is not satisfied, an exception is - thrown describing the mismatch. - - This family of macros is designed to integrate well with OCUnit and other unit testing - frameworks. Unmet assertions are reported as test failures. In Xcode, they can be clicked to - reveal the line of the assertion. - - @ingroup integration - */ -#import - -/** - @defgroup core Core API - */ - -/** - @defgroup helpers Helpers - - Utilities for writing Matchers. - - @ingroup core - */ diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/OCHamcrestIOS b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/OCHamcrestIOS deleted file mode 100644 index 69bd70c8c6efd51cfd7b8655ee5fc094036174f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1284524 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 z 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

  • HHZ|+HE>Xab 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 diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Resources/Info.plist b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Resources/Info.plist deleted file mode 100644 index e67665ddec..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,42 +0,0 @@ - - - - - BuildMachineOSBuild - 10K549 - CFBundleDevelopmentRegion - English - CFBundleExecutable - OCHamcrest - CFBundleIdentifier - org.hamcrest.OCHamcrest - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - OCHamcrest - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.6 - CFBundleSignature - ???? - CFBundleVersion - 1.6 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 4B110f - DTPlatformVersion - GM - DTSDKBuild - 4B110f - DTSDKName - macosx10.6 - DTXcode - 0410 - DTXcodeBuild - 4B110f - NSHumanReadableCopyright - Copyright © 2011 hamcrest.org - - diff --git a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/Current b/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/Current deleted file mode 120000 index 8c7e5a667f..0000000000 --- a/Tests/Vendor/OCHamcrest/OCHamcrestIOS.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/Tests/Vendor/OCMock/OCMock/NSInvocation+OCMAdditions.h b/Tests/Vendor/OCMock/OCMock/NSInvocation+OCMAdditions.h deleted file mode 100644 index 04f22cd6f0..0000000000 --- a/Tests/Vendor/OCMock/OCMock/NSInvocation+OCMAdditions.h +++ /dev/null @@ -1,34 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2006-2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface NSInvocation(OCMAdditions) - -- (id)getArgumentAtIndexAsObject:(int)argIndex; - -- (NSString *)invocationDescription; - -- (NSString *)argumentDescriptionAtIndex:(int)argIndex; - -- (NSString *)objectDescriptionAtIndex:(int)anInt; -- (NSString *)charDescriptionAtIndex:(int)anInt; -- (NSString *)unsignedCharDescriptionAtIndex:(int)anInt; -- (NSString *)intDescriptionAtIndex:(int)anInt; -- (NSString *)unsignedIntDescriptionAtIndex:(int)anInt; -- (NSString *)shortDescriptionAtIndex:(int)anInt; -- (NSString *)unsignedShortDescriptionAtIndex:(int)anInt; -- (NSString *)longDescriptionAtIndex:(int)anInt; -- (NSString *)unsignedLongDescriptionAtIndex:(int)anInt; -- (NSString *)longLongDescriptionAtIndex:(int)anInt; -- (NSString *)unsignedLongLongDescriptionAtIndex:(int)anInt; -- (NSString *)doubleDescriptionAtIndex:(int)anInt; -- (NSString *)floatDescriptionAtIndex:(int)anInt; -- (NSString *)structDescriptionAtIndex:(int)anInt; -- (NSString *)pointerDescriptionAtIndex:(int)anInt; -- (NSString *)cStringDescriptionAtIndex:(int)anInt; -- (NSString *)selectorDescriptionAtIndex:(int)anInt; - -@end diff --git a/Tests/Vendor/OCMock/OCMock/NSInvocation+OCMAdditions.m b/Tests/Vendor/OCMock/OCMock/NSInvocation+OCMAdditions.m deleted file mode 100644 index 41579583a4..0000000000 --- a/Tests/Vendor/OCMock/OCMock/NSInvocation+OCMAdditions.m +++ /dev/null @@ -1,337 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2006-2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "NSInvocation+OCMAdditions.h" - - -@implementation NSInvocation(OCMAdditions) - -- (id)getArgumentAtIndexAsObject:(int)argIndex -{ - const char* argType; - - argType = [[self methodSignature] getArgumentTypeAtIndex:argIndex]; - while(strchr("rnNoORV", argType[0]) != NULL) - argType += 1; - - if((strlen(argType) > 1) && (strchr("{^", argType[0]) == NULL) && (strcmp("@?", argType) != 0)) - [NSException raise:NSInvalidArgumentException format:@"Cannot handle argument type '%s'.", argType]; - - switch (argType[0]) - { - case '#': - case '@': - { - id value; - [self getArgument:&value atIndex:argIndex]; - return value; - } - case ':': - { - SEL s = (SEL)0; - [self getArgument:&s atIndex:argIndex]; - id value = NSStringFromSelector(s); - return value; - } - case 'i': - { - int value; - [self getArgument:&value atIndex:argIndex]; - return [NSNumber numberWithInt:value]; - } - case 's': - { - short value; - [self getArgument:&value atIndex:argIndex]; - return [NSNumber numberWithShort:value]; - } - case 'l': - { - long value; - [self getArgument:&value atIndex:argIndex]; - return [NSNumber numberWithLong:value]; - } - case 'q': - { - long long value; - [self getArgument:&value atIndex:argIndex]; - return [NSNumber numberWithLongLong:value]; - } - case 'c': - { - char value; - [self getArgument:&value atIndex:argIndex]; - return [NSNumber numberWithChar:value]; - } - case 'C': - { - unsigned char value; - [self getArgument:&value atIndex:argIndex]; - return [NSNumber numberWithUnsignedChar:value]; - } - case 'I': - { - unsigned int value; - [self getArgument:&value atIndex:argIndex]; - return [NSNumber numberWithUnsignedInt:value]; - } - case 'S': - { - unsigned short value; - [self getArgument:&value atIndex:argIndex]; - return [NSNumber numberWithUnsignedShort:value]; - } - case 'L': - { - unsigned long value; - [self getArgument:&value atIndex:argIndex]; - return [NSNumber numberWithUnsignedLong:value]; - } - case 'Q': - { - unsigned long long value; - [self getArgument:&value atIndex:argIndex]; - return [NSNumber numberWithUnsignedLongLong:value]; - } - case 'f': - { - float value; - [self getArgument:&value atIndex:argIndex]; - return [NSNumber numberWithFloat:value]; - } - case 'd': - { - double value; - [self getArgument:&value atIndex:argIndex]; - return [NSNumber numberWithDouble:value]; - } - case 'B': - { - bool value; - [self getArgument:&value atIndex:argIndex]; - return [NSNumber numberWithBool:value]; - } - case '^': - { - void *value = NULL; - [self getArgument:&value atIndex:argIndex]; - return [NSValue valueWithPointer:value]; - } - case '{': // structure - { - NSUInteger maxArgSize = [[self methodSignature] frameLength]; - NSMutableData *argumentData = [[[NSMutableData alloc] initWithLength:maxArgSize] autorelease]; - [self getArgument:[argumentData mutableBytes] atIndex:argIndex]; - return [NSValue valueWithBytes:[argumentData bytes] objCType:argType]; - } - - } - [NSException raise:NSInvalidArgumentException format:@"Argument type '%s' not supported", argType]; - return nil; -} - -- (NSString *)invocationDescription -{ - NSMethodSignature *methodSignature = [self methodSignature]; - NSUInteger numberOfArgs = [methodSignature numberOfArguments]; - - if (numberOfArgs == 2) - return NSStringFromSelector([self selector]); - - NSArray *selectorParts = [NSStringFromSelector([self selector]) componentsSeparatedByString:@":"]; - NSMutableString *description = [[NSMutableString alloc] init]; - unsigned int i; - for(i = 2; i < numberOfArgs; i++) - { - [description appendFormat:@"%@%@:", (i > 2 ? @" " : @""), [selectorParts objectAtIndex:(i - 2)]]; - [description appendString:[self argumentDescriptionAtIndex:i]]; - } - - return [description autorelease]; -} - -- (NSString *)argumentDescriptionAtIndex:(int)argIndex -{ - const char *argType = [[self methodSignature] getArgumentTypeAtIndex:argIndex]; - if(strchr("rnNoORV", argType[0]) != NULL) - argType += 1; - - switch(*argType) - { - case '@': return [self objectDescriptionAtIndex:argIndex]; - case 'c': return [self charDescriptionAtIndex:argIndex]; - case 'C': return [self unsignedCharDescriptionAtIndex:argIndex]; - case 'i': return [self intDescriptionAtIndex:argIndex]; - case 'I': return [self unsignedIntDescriptionAtIndex:argIndex]; - case 's': return [self shortDescriptionAtIndex:argIndex]; - case 'S': return [self unsignedShortDescriptionAtIndex:argIndex]; - case 'l': return [self longDescriptionAtIndex:argIndex]; - case 'L': return [self unsignedLongDescriptionAtIndex:argIndex]; - case 'q': return [self longLongDescriptionAtIndex:argIndex]; - case 'Q': return [self unsignedLongLongDescriptionAtIndex:argIndex]; - case 'd': return [self doubleDescriptionAtIndex:argIndex]; - case 'f': return [self floatDescriptionAtIndex:argIndex]; - // Why does this throw EXC_BAD_ACCESS when appending the string? - // case NSObjCStructType: return [self structDescriptionAtIndex:index]; - case '^': return [self pointerDescriptionAtIndex:argIndex]; - case '*': return [self cStringDescriptionAtIndex:argIndex]; - case ':': return [self selectorDescriptionAtIndex:argIndex]; - default: return [@""]; // avoid confusion with trigraphs... - } - -} - - -- (NSString *)objectDescriptionAtIndex:(int)anInt -{ - id object; - - [self getArgument:&object atIndex:anInt]; - if (object == nil) - return @"nil"; - else if(![object isProxy] && [object isKindOfClass:[NSString class]]) - return [NSString stringWithFormat:@"@\"%@\"", [object description]]; - else - return [object description]; -} - -- (NSString *)charDescriptionAtIndex:(int)anInt -{ - unsigned char buffer[128]; - memset(buffer, 0x0, 128); - - [self getArgument:&buffer atIndex:anInt]; - - // If there's only one character in the buffer, and it's 0 or 1, then we have a BOOL - if (buffer[1] == '\0' && (buffer[0] == 0 || buffer[0] == 1)) - return [NSString stringWithFormat:@"%@", (buffer[0] == 1 ? @"YES" : @"NO")]; - else - return [NSString stringWithFormat:@"'%c'", *buffer]; -} - -- (NSString *)unsignedCharDescriptionAtIndex:(int)anInt -{ - unsigned char buffer[128]; - memset(buffer, 0x0, 128); - - [self getArgument:&buffer atIndex:anInt]; - return [NSString stringWithFormat:@"'%c'", *buffer]; -} - -- (NSString *)intDescriptionAtIndex:(int)anInt -{ - int intValue; - - [self getArgument:&intValue atIndex:anInt]; - return [NSString stringWithFormat:@"%d", intValue]; -} - -- (NSString *)unsignedIntDescriptionAtIndex:(int)anInt -{ - unsigned int intValue; - - [self getArgument:&intValue atIndex:anInt]; - return [NSString stringWithFormat:@"%d", intValue]; -} - -- (NSString *)shortDescriptionAtIndex:(int)anInt -{ - short shortValue; - - [self getArgument:&shortValue atIndex:anInt]; - return [NSString stringWithFormat:@"%hi", shortValue]; -} - -- (NSString *)unsignedShortDescriptionAtIndex:(int)anInt -{ - unsigned short shortValue; - - [self getArgument:&shortValue atIndex:anInt]; - return [NSString stringWithFormat:@"%hu", shortValue]; -} - -- (NSString *)longDescriptionAtIndex:(int)anInt -{ - long longValue; - - [self getArgument:&longValue atIndex:anInt]; - return [NSString stringWithFormat:@"%ld", longValue]; -} - -- (NSString *)unsignedLongDescriptionAtIndex:(int)anInt -{ - unsigned long longValue; - - [self getArgument:&longValue atIndex:anInt]; - return [NSString stringWithFormat:@"%lu", longValue]; -} - -- (NSString *)longLongDescriptionAtIndex:(int)anInt -{ - long long longLongValue; - - [self getArgument:&longLongValue atIndex:anInt]; - return [NSString stringWithFormat:@"%qi", longLongValue]; -} - -- (NSString *)unsignedLongLongDescriptionAtIndex:(int)anInt -{ - unsigned long long longLongValue; - - [self getArgument:&longLongValue atIndex:anInt]; - return [NSString stringWithFormat:@"%qu", longLongValue]; -} - -- (NSString *)doubleDescriptionAtIndex:(int)anInt; -{ - double doubleValue; - - [self getArgument:&doubleValue atIndex:anInt]; - return [NSString stringWithFormat:@"%f", doubleValue]; -} - -- (NSString *)floatDescriptionAtIndex:(int)anInt -{ - float floatValue; - - [self getArgument:&floatValue atIndex:anInt]; - return [NSString stringWithFormat:@"%f", floatValue]; -} - -- (NSString *)structDescriptionAtIndex:(int)anInt; -{ - void *buffer; - - [self getArgument:&buffer atIndex:anInt]; - return [NSString stringWithFormat:@":(struct)%p", buffer]; -} - -- (NSString *)pointerDescriptionAtIndex:(int)anInt -{ - void *buffer; - - [self getArgument:&buffer atIndex:anInt]; - return [NSString stringWithFormat:@"%p", buffer]; -} - -- (NSString *)cStringDescriptionAtIndex:(int)anInt -{ - char buffer[128]; - - memset(buffer, 0x0, 128); - - [self getArgument:&buffer atIndex:anInt]; - return [NSString stringWithFormat:@"\"%s\"", buffer]; -} - -- (NSString *)selectorDescriptionAtIndex:(int)anInt -{ - SEL selectorValue; - - [self getArgument:&selectorValue atIndex:anInt]; - return [NSString stringWithFormat:@"@selector(%@)", NSStringFromSelector(selectorValue)]; -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/NSMethodSignature+OCMAdditions.h b/Tests/Vendor/OCMock/OCMock/NSMethodSignature+OCMAdditions.h deleted file mode 100644 index 23741e3bbf..0000000000 --- a/Tests/Vendor/OCMock/OCMock/NSMethodSignature+OCMAdditions.h +++ /dev/null @@ -1,18 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface NSMethodSignature(PrivateAPI) - -+ (id)signatureWithObjCTypes:(const char *)types; - -@end - -@interface NSMethodSignature(OCMAdditions) - -- (const char *)methodReturnTypeWithoutQualifiers; - -@end diff --git a/Tests/Vendor/OCMock/OCMock/NSMethodSignature+OCMAdditions.m b/Tests/Vendor/OCMock/OCMock/NSMethodSignature+OCMAdditions.m deleted file mode 100644 index a69bb143b6..0000000000 --- a/Tests/Vendor/OCMock/OCMock/NSMethodSignature+OCMAdditions.m +++ /dev/null @@ -1,19 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "NSMethodSignature+OCMAdditions.h" - - -@implementation NSMethodSignature(OCMAdditions) - -- (const char *)methodReturnTypeWithoutQualifiers -{ - const char *returnType = [self methodReturnType]; - while(strchr("rnNoORV", returnType[0]) != NULL) - returnType += 1; - return returnType; -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/NSNotificationCenter+OCMAdditions.h b/Tests/Vendor/OCMock/OCMock/NSNotificationCenter+OCMAdditions.h deleted file mode 100644 index ab4832bbfb..0000000000 --- a/Tests/Vendor/OCMock/OCMock/NSNotificationCenter+OCMAdditions.h +++ /dev/null @@ -1,15 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@class OCMockObserver; - - -@interface NSNotificationCenter(OCMAdditions) - -- (void)addMockObserver:(OCMockObserver *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; - -@end diff --git a/Tests/Vendor/OCMock/OCMock/NSNotificationCenter+OCMAdditions.m b/Tests/Vendor/OCMock/OCMock/NSNotificationCenter+OCMAdditions.m deleted file mode 100644 index 286cb685b1..0000000000 --- a/Tests/Vendor/OCMock/OCMock/NSNotificationCenter+OCMAdditions.m +++ /dev/null @@ -1,17 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "NSNotificationCenter+OCMAdditions.h" -#import "OCObserverMockObject.h" - - -@implementation NSNotificationCenter(OCMAdditions) - -- (void)addMockObserver:(OCMockObserver *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender -{ - [self addObserver:notificationObserver selector:@selector(handleNotification:) name:notificationName object:notificationSender]; -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCClassMockObject.h b/Tests/Vendor/OCMock/OCMock/OCClassMockObject.h deleted file mode 100644 index 69945b2199..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCClassMockObject.h +++ /dev/null @@ -1,17 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2005-2008 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCClassMockObject : OCMockObject -{ - Class mockedClass; -} - -- (id)initWithClass:(Class)aClass; - -- (Class)mockedClass; - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCClassMockObject.m b/Tests/Vendor/OCMock/OCMock/OCClassMockObject.m deleted file mode 100644 index 65b8fdf02d..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCClassMockObject.m +++ /dev/null @@ -1,43 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2005-2008 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "OCClassMockObject.h" - - -@implementation OCClassMockObject - -#pragma mark Initialisers, description, accessors, etc. - -- (id)initWithClass:(Class)aClass -{ - [super init]; - mockedClass = aClass; - return self; -} - -- (NSString *)description -{ - return [NSString stringWithFormat:@"OCMockObject[%@]", NSStringFromClass(mockedClass)]; -} - -- (Class)mockedClass -{ - return mockedClass; -} - - -#pragma mark Proxy API - -- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector -{ - return [mockedClass instanceMethodSignatureForSelector:aSelector]; -} - -- (BOOL)respondsToSelector:(SEL)selector -{ - return [mockedClass instancesRespondToSelector:selector]; -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCClassMockRecorder.h b/Tests/Vendor/OCMock/OCMock/OCClassMockRecorder.h deleted file mode 100644 index be11b4d473..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCClassMockRecorder.h +++ /dev/null @@ -1,12 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2012 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "OCMockRecorder.h" - -@interface OCClassMockRecorder : OCMockRecorder -{ -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCClassMockRecorder.m b/Tests/Vendor/OCMock/OCMock/OCClassMockRecorder.m deleted file mode 100644 index 27fdcafb4e..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCClassMockRecorder.m +++ /dev/null @@ -1,26 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2012 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "OCMockClassObject.h" -#import "OCClassMockRecorder.h" - - -@implementation OCClassMockRecorder -/* -- (id)andForwardToRealObject -{ - [invocationHandlers addObject:[[[OCMRealObjectForwarder alloc] init] autorelease]]; - return self; -} -*/ - -- (void)forwardInvocation:(NSInvocation *)anInvocation -{ - [super forwardInvocation:anInvocation]; - // not as clean as I'd wish... - [(OCMockClassObject *)signatureResolver setupForwarderForSelector:[anInvocation selector]]; -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMArg.h b/Tests/Vendor/OCMock/OCMock/OCMArg.h deleted file mode 100644 index 669c094878..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMArg.h +++ /dev/null @@ -1,33 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009-2010 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCMArg : NSObject - -// constraining arguments - -+ (id)any; -+ (void *)anyPointer; -+ (id)isNil; -+ (id)isNotNil; -+ (id)isNotEqual:(id)value; -+ (id)checkWithSelector:(SEL)selector onObject:(id)anObject; -#if NS_BLOCKS_AVAILABLE -+ (id)checkWithBlock:(BOOL (^)(id))block; -#endif - -// manipulating arguments - -+ (id *)setTo:(id)value; - -// internal use only - -+ (id)resolveSpecialValues:(NSValue *)value; - -@end - -#define OCMOCK_ANY [OCMArg any] -#define OCMOCK_VALUE(variable) [NSValue value:&variable withObjCType:@encode(__typeof__(variable))] diff --git a/Tests/Vendor/OCMock/OCMock/OCMArg.m b/Tests/Vendor/OCMock/OCMock/OCMArg.m deleted file mode 100644 index a73e3dfaf4..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMArg.m +++ /dev/null @@ -1,74 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009-2010 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import -#import -#import -#import "OCMPassByRefSetter.h" -#import "OCMConstraint.h" - -@implementation OCMArg - -+ (id)any -{ - return [OCMAnyConstraint constraint]; -} - -+ (void *)anyPointer -{ - return (void *)0x01234567; -} - -+ (id)isNil -{ - return [OCMIsNilConstraint constraint]; -} - -+ (id)isNotNil -{ - return [OCMIsNotNilConstraint constraint]; -} - -+ (id)isNotEqual:(id)value -{ - OCMIsNotEqualConstraint *constraint = [OCMIsNotEqualConstraint constraint]; - constraint->testValue = value; - return constraint; -} - -+ (id)checkWithSelector:(SEL)selector onObject:(id)anObject -{ - return [OCMConstraint constraintWithSelector:selector onObject:anObject]; -} - -#if NS_BLOCKS_AVAILABLE - -+ (id)checkWithBlock:(BOOL (^)(id))block -{ - return [[[OCMBlockConstraint alloc] initWithConstraintBlock:block] autorelease]; -} - -#endif - -+ (id *)setTo:(id)value -{ - return (id *)[[[OCMPassByRefSetter alloc] initWithValue:value] autorelease]; -} - -+ (id)resolveSpecialValues:(NSValue *)value -{ - const char *type = [value objCType]; - if(type[0] == '^') - { - void *pointer = [value pointerValue]; - if(pointer == (void *)0x01234567) - return [OCMArg any]; - if((pointer != NULL) && (object_getClass((id)pointer) == [OCMPassByRefSetter class])) - return (id)pointer; - } - return value; -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMBlockCaller.h b/Tests/Vendor/OCMock/OCMock/OCMBlockCaller.h deleted file mode 100644 index 652acc3471..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMBlockCaller.h +++ /dev/null @@ -1,21 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2010 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -#if NS_BLOCKS_AVAILABLE - -@interface OCMBlockCaller : NSObject -{ - void (^block)(NSInvocation *); -} - -- (id)initWithCallBlock:(void (^)(NSInvocation *))theBlock; - -- (void)handleInvocation:(NSInvocation *)anInvocation; - -@end - -#endif diff --git a/Tests/Vendor/OCMock/OCMock/OCMBlockCaller.m b/Tests/Vendor/OCMock/OCMock/OCMBlockCaller.m deleted file mode 100644 index 439d885d37..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMBlockCaller.m +++ /dev/null @@ -1,32 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2010 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "OCMBlockCaller.h" - -#if NS_BLOCKS_AVAILABLE - -@implementation OCMBlockCaller - --(id)initWithCallBlock:(void (^)(NSInvocation *))theBlock -{ - self = [super init]; - block = [theBlock copy]; - return self; -} - --(void)dealloc -{ - [block release]; - [super dealloc]; -} - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - block(anInvocation); -} - -@end - -#endif diff --git a/Tests/Vendor/OCMock/OCMock/OCMBoxedReturnValueProvider.h b/Tests/Vendor/OCMock/OCMock/OCMBoxedReturnValueProvider.h deleted file mode 100644 index f2d9c919d9..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMBoxedReturnValueProvider.h +++ /dev/null @@ -1,12 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "OCMReturnValueProvider.h" - -@interface OCMBoxedReturnValueProvider : OCMReturnValueProvider -{ -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMBoxedReturnValueProvider.m b/Tests/Vendor/OCMock/OCMock/OCMBoxedReturnValueProvider.m deleted file mode 100644 index 04fda55a3a..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMBoxedReturnValueProvider.m +++ /dev/null @@ -1,21 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "OCMBoxedReturnValueProvider.h" - - -@implementation OCMBoxedReturnValueProvider - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - if(strcmp([[anInvocation methodSignature] methodReturnType], [(NSValue *)returnValue objCType]) != 0) - @throw [NSException exceptionWithName:NSInvalidArgumentException reason:@"Return value does not match method signature." userInfo:nil]; - void *buffer = malloc([[anInvocation methodSignature] methodReturnLength]); - [returnValue getValue:buffer]; - [anInvocation setReturnValue:buffer]; - free(buffer); -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMConstraint.h b/Tests/Vendor/OCMock/OCMock/OCMConstraint.h deleted file mode 100644 index 3ae1264603..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMConstraint.h +++ /dev/null @@ -1,64 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2007-2010 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - - -@interface OCMConstraint : NSObject - -+ (id)constraint; -- (BOOL)evaluate:(id)value; - -// if you are looking for any, isNil, etc, they have moved to OCMArg - -// try to use [OCMArg checkWith...] instead of the constraintWith... methods below - -+ (id)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; -+ (id)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; - - -@end - -@interface OCMAnyConstraint : OCMConstraint -@end - -@interface OCMIsNilConstraint : OCMConstraint -@end - -@interface OCMIsNotNilConstraint : OCMConstraint -@end - -@interface OCMIsNotEqualConstraint : OCMConstraint -{ - @public - id testValue; -} - -@end - -@interface OCMInvocationConstraint : OCMConstraint -{ - @public - NSInvocation *invocation; -} - -@end - -#if NS_BLOCKS_AVAILABLE - -@interface OCMBlockConstraint : OCMConstraint -{ - BOOL (^block)(id); -} - -- (id)initWithConstraintBlock:(BOOL (^)(id))block; - -@end - -#endif - - -#define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] -#define CONSTRAINTV(aSelector, aValue) [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] diff --git a/Tests/Vendor/OCMock/OCMock/OCMConstraint.m b/Tests/Vendor/OCMock/OCMock/OCMConstraint.m deleted file mode 100644 index e70e25981d..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMConstraint.m +++ /dev/null @@ -1,136 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2007-2010 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - - -@implementation OCMConstraint - -+ (id)constraint -{ - return [[[self alloc] init] autorelease]; -} - -- (BOOL)evaluate:(id)value -{ - return NO; -} - - -+ (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; -} - -+ (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; -} - - -@end - - - -#pragma mark - - -@implementation OCMAnyConstraint - -- (BOOL)evaluate:(id)value -{ - return YES; -} - -@end - - - -#pragma mark - - -@implementation OCMIsNilConstraint - -- (BOOL)evaluate:(id)value -{ - return value == nil; -} - -@end - - - -#pragma mark - - -@implementation OCMIsNotNilConstraint - -- (BOOL)evaluate:(id)value -{ - return value != nil; -} - -@end - - - -#pragma mark - - -@implementation OCMIsNotEqualConstraint - -- (BOOL)evaluate:(id)value -{ - return ![value isEqual:testValue]; -} - -@end - - - -#pragma mark - - -@implementation OCMInvocationConstraint - -- (BOOL)evaluate:(id)value -{ - [invocation setArgument:&value atIndex:2]; // should test if constraint takes arg - [invocation invoke]; - BOOL returnValue; - [invocation getReturnValue:&returnValue]; - return returnValue; -} - -@end - -#pragma mark - - -#if NS_BLOCKS_AVAILABLE - -@implementation OCMBlockConstraint - -- (id)initWithConstraintBlock:(BOOL (^)(id))aBlock; -{ - self = [super init]; - block = aBlock; - return self; -} - -- (BOOL)evaluate:(id)value -{ - return block(value); -} - -@end - -#endif diff --git a/Tests/Vendor/OCMock/OCMock/OCMExceptionReturnValueProvider.h b/Tests/Vendor/OCMock/OCMock/OCMExceptionReturnValueProvider.h deleted file mode 100644 index 8e97469d48..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMExceptionReturnValueProvider.h +++ /dev/null @@ -1,12 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "OCMReturnValueProvider.h" - -@interface OCMExceptionReturnValueProvider : OCMReturnValueProvider -{ -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMExceptionReturnValueProvider.m b/Tests/Vendor/OCMock/OCMock/OCMExceptionReturnValueProvider.m deleted file mode 100644 index 784d1a79da..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMExceptionReturnValueProvider.m +++ /dev/null @@ -1,16 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "OCMExceptionReturnValueProvider.h" - - -@implementation OCMExceptionReturnValueProvider - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - @throw returnValue; -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMIndirectReturnValueProvider.h b/Tests/Vendor/OCMock/OCMock/OCMIndirectReturnValueProvider.h deleted file mode 100644 index 4efeacb1e9..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMIndirectReturnValueProvider.h +++ /dev/null @@ -1,18 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCMIndirectReturnValueProvider : NSObject -{ - id provider; - SEL selector; -} - -- (id)initWithProvider:(id)aProvider andSelector:(SEL)aSelector; - -- (void)handleInvocation:(NSInvocation *)anInvocation; - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMIndirectReturnValueProvider.m b/Tests/Vendor/OCMock/OCMock/OCMIndirectReturnValueProvider.m deleted file mode 100644 index c8b734d7c9..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMIndirectReturnValueProvider.m +++ /dev/null @@ -1,33 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "NSMethodSignature+OCMAdditions.h" -#import "OCMIndirectReturnValueProvider.h" - - -@implementation OCMIndirectReturnValueProvider - -- (id)initWithProvider:(id)aProvider andSelector:(SEL)aSelector -{ - self = [super init]; - provider = [aProvider retain]; - selector = aSelector; - return self; -} - -- (void)dealloc -{ - [provider release]; - [super dealloc]; -} - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - [anInvocation setTarget:provider]; - [anInvocation setSelector:selector]; - [anInvocation invoke]; -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMNotificationPoster.h b/Tests/Vendor/OCMock/OCMock/OCMNotificationPoster.h deleted file mode 100644 index 817da78034..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMNotificationPoster.h +++ /dev/null @@ -1,17 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCMNotificationPoster : NSObject -{ - NSNotification *notification; -} - -- (id)initWithNotification:(id)aNotification; - -- (void)handleInvocation:(NSInvocation *)anInvocation; - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMNotificationPoster.m b/Tests/Vendor/OCMock/OCMock/OCMNotificationPoster.m deleted file mode 100644 index 64973a2ae3..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMNotificationPoster.m +++ /dev/null @@ -1,30 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "OCMNotificationPoster.h" - - -@implementation OCMNotificationPoster - -- (id)initWithNotification:(id)aNotification -{ - self = [super init]; - notification = [aNotification retain]; - return self; -} - -- (void)dealloc -{ - [notification release]; - [super dealloc]; -} - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - [[NSNotificationCenter defaultCenter] postNotification:notification]; -} - - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMObserverRecorder.h b/Tests/Vendor/OCMock/OCMock/OCMObserverRecorder.h deleted file mode 100644 index 556da3c00e..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMObserverRecorder.h +++ /dev/null @@ -1,19 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCMObserverRecorder : NSObject -{ - NSNotification *recordedNotification; -} - -- (void)notificationWithName:(NSString *)name object:(id)sender; - -- (BOOL)matchesNotification:(NSNotification *)aNotification; - -- (BOOL)argument:(id)expectedArg matchesArgument:(id)observedArg; - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMObserverRecorder.m b/Tests/Vendor/OCMock/OCMock/OCMObserverRecorder.m deleted file mode 100644 index e50be50c2a..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMObserverRecorder.m +++ /dev/null @@ -1,75 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import -#import -#import "NSInvocation+OCMAdditions.h" -#import "OCMObserverRecorder.h" - -@interface NSObject(HCMatcherDummy) -- (BOOL)matches:(id)item; -@end - -#pragma mark - - - -@implementation OCMObserverRecorder - -#pragma mark Initialisers, description, accessors, etc. - -- (void)dealloc -{ - [recordedNotification release]; - [super dealloc]; -} - - -#pragma mark Recording - -- (void)notificationWithName:(NSString *)name object:(id)sender -{ - recordedNotification = [[NSNotification notificationWithName:name object:sender] retain]; -} - -- (void)notificationWithName:(NSString *)name object:(id)sender userInfo:(NSDictionary *)userInfo -{ - recordedNotification = [[NSNotification notificationWithName:name object:sender userInfo:userInfo] retain]; -} - - -#pragma mark Verification - -- (BOOL)matchesNotification:(NSNotification *)aNotification -{ - return [self argument:[recordedNotification name] matchesArgument:[aNotification name]] && - [self argument:[recordedNotification object] matchesArgument:[aNotification object]] && - [self argument:[recordedNotification userInfo] matchesArgument:[aNotification userInfo]]; -} - -- (BOOL)argument:(id)expectedArg matchesArgument:(id)observedArg -{ - if([expectedArg isKindOfClass:[OCMConstraint class]]) - { - if([expectedArg evaluate:observedArg] == NO) - return NO; - } - else if([expectedArg conformsToProtocol:objc_getProtocol("HCMatcher")]) - { - if([expectedArg matches:observedArg] == NO) - return NO; - } - else - { - if([expectedArg class] != [observedArg class]) - return NO; - if(([expectedArg isEqual:observedArg] == NO) && - !((expectedArg == nil) && (observedArg == nil))) - return NO; - } - return YES; -} - - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMPassByRefSetter.h b/Tests/Vendor/OCMock/OCMock/OCMPassByRefSetter.h deleted file mode 100644 index 12b99e3521..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMPassByRefSetter.h +++ /dev/null @@ -1,17 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCMPassByRefSetter : NSObject -{ - id value; -} - -- (id)initWithValue:(id)value; - -- (id)value; - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMPassByRefSetter.m b/Tests/Vendor/OCMock/OCMock/OCMPassByRefSetter.m deleted file mode 100644 index 919b81ae47..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMPassByRefSetter.m +++ /dev/null @@ -1,29 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "OCMPassByRefSetter.h" - - -@implementation OCMPassByRefSetter - -- (id)initWithValue:(id)aValue -{ - self = [super init]; - value = [aValue retain]; - return self; -} - -- (void)dealloc -{ - [value release]; - [super dealloc]; -} - -- (id)value -{ - return value; -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMRealObjectForwarder.h b/Tests/Vendor/OCMock/OCMock/OCMRealObjectForwarder.h deleted file mode 100644 index 9357a42244..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMRealObjectForwarder.h +++ /dev/null @@ -1,14 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2010 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCMRealObjectForwarder : NSObject -{ -} - -- (void)handleInvocation:(NSInvocation *)anInvocation; - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMRealObjectForwarder.m b/Tests/Vendor/OCMock/OCMock/OCMRealObjectForwarder.m deleted file mode 100644 index 7c0a7db14e..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMRealObjectForwarder.m +++ /dev/null @@ -1,29 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2010 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import -#import "OCPartialMockObject.h" -#import "OCMRealObjectForwarder.h" - - -@implementation OCMRealObjectForwarder - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - id invocationTarget = [anInvocation target]; - SEL invocationSelector = [anInvocation selector]; - SEL aliasedSelector = NSSelectorFromString([OCMRealMethodAliasPrefix stringByAppendingString:NSStringFromSelector(invocationSelector)]); - - [anInvocation setSelector:aliasedSelector]; - if([invocationTarget isProxy] && (class_getInstanceMethod([invocationTarget class], @selector(realObject)))) - { - // the method has been invoked on the mock, we need to change the target to the real object - [anInvocation setTarget:[(OCPartialMockObject *)invocationTarget realObject]]; - } - [anInvocation invoke]; -} - - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMReturnValueProvider.h b/Tests/Vendor/OCMock/OCMock/OCMReturnValueProvider.h deleted file mode 100644 index 3566c6ddb2..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMReturnValueProvider.h +++ /dev/null @@ -1,17 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCMReturnValueProvider : NSObject -{ - id returnValue; -} - -- (id)initWithValue:(id)aValue; - -- (void)handleInvocation:(NSInvocation *)anInvocation; - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMReturnValueProvider.m b/Tests/Vendor/OCMock/OCMock/OCMReturnValueProvider.m deleted file mode 100644 index d98b59c995..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMReturnValueProvider.m +++ /dev/null @@ -1,33 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "NSMethodSignature+OCMAdditions.h" -#import "OCMReturnValueProvider.h" - - -@implementation OCMReturnValueProvider - -- (id)initWithValue:(id)aValue -{ - self = [super init]; - returnValue = [aValue retain]; - return self; -} - -- (void)dealloc -{ - [returnValue release]; - [super dealloc]; -} - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - const char *returnType = [[anInvocation methodSignature] methodReturnTypeWithoutQualifiers]; - if(strcmp(returnType, @encode(id)) != 0) - @throw [NSException exceptionWithName:NSInvalidArgumentException reason:@"Expected invocation with object return type. Did you mean to use andReturnValue: instead?" userInfo:nil]; - [anInvocation setReturnValue:&returnValue]; -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMock-Info.plist b/Tests/Vendor/OCMock/OCMock/OCMock-Info.plist deleted file mode 100644 index 4bd402c317..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMock-Info.plist +++ /dev/null @@ -1,30 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.mulle-kybernetik.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - NSHumanReadableCopyright - Copyright © 2004-2011 Mulle Kybernetik. - NSPrincipalClass - - - diff --git a/Tests/Vendor/OCMock/OCMock/OCMock-Prefix.pch b/Tests/Vendor/OCMock/OCMock/OCMock-Prefix.pch deleted file mode 100644 index 9f3ef37cad..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMock-Prefix.pch +++ /dev/null @@ -1,7 +0,0 @@ -// -// Prefix header for all source files of the 'OCMock' target in the 'OCMock' project -// - -#ifdef __OBJC__ - #import -#endif diff --git a/Tests/Vendor/OCMock/OCMock/OCMock.h b/Tests/Vendor/OCMock/OCMock/OCMock.h deleted file mode 100644 index e18de58a1d..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMock.h +++ /dev/null @@ -1,10 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2004-2008 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import -#import -#import -#import -#import diff --git a/Tests/Vendor/OCMock/OCMock/OCMockClassObject.h b/Tests/Vendor/OCMock/OCMock/OCMockClassObject.h deleted file mode 100644 index cf019765fd..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMockClassObject.h +++ /dev/null @@ -1,20 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2012 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCMockClassObject : OCMockObject -{ - Class mockedClass; -} - -- (id)initWithClass:(Class)aClass; - -- (Class)mockedClass; - -- (void)setupClass:(Class)aClass; -- (void)setupForwarderForSelector:(SEL)selector; - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMockClassObject.m b/Tests/Vendor/OCMock/OCMock/OCMockClassObject.m deleted file mode 100644 index 03c8c6d73c..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMockClassObject.m +++ /dev/null @@ -1,120 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2012 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import -#import "OCClassMockRecorder.h" -#import "OCMockClassObject.h" - - -@implementation OCMockClassObject - -#pragma mark Mock table - -static NSMutableDictionary *mockTable; - -+ (void)initialize -{ - if(self == [OCMockClassObject class]) - mockTable = [[NSMutableDictionary alloc] init]; -} - -+ (void)rememberMock:(OCMockClassObject *)mock forClass:(Class)aClass -{ - [mockTable setObject:[NSValue valueWithNonretainedObject:mock] forKey:[NSValue valueWithNonretainedObject:aClass]]; -} - -+ (void)forgetMockForClass:(Class)aClass -{ - [mockTable removeObjectForKey:[NSValue valueWithNonretainedObject:aClass]]; -} - -+ (OCMockClassObject *)existingMockForClass:(Class)aClass -{ - OCMockClassObject *mock = [[mockTable objectForKey:[NSValue valueWithNonretainedObject:aClass]] nonretainedObjectValue]; - if(mock == nil) - [NSException raise:NSInternalInconsistencyException format:@"No mock for class %p", aClass]; - return mock; -} - - -#pragma mark Initialisers, description, accessors, etc. - -- (id)initWithClass:(Class)aClass -{ - [super init]; - mockedClass = aClass; - [[self class] rememberMock:self forClass:aClass]; - [self setupClass:aClass]; - return self; -} - -- (NSString *)description -{ - return [NSString stringWithFormat:@"OCMockClassObject[%@]", NSStringFromClass(mockedClass)]; -} - -- (Class)mockedClass -{ - return mockedClass; -} - -- (void)stopMocking -{ - -} - -- (void)setupClass:(Class)aClass -{ - Method myForwardInvocationMethod = class_getInstanceMethod([self class], @selector(forwardInvocationForRealObject:)); - IMP myForwardInvocationImp = method_getImplementation(myForwardInvocationMethod); - const char *forwardInvocationTypes = method_getTypeEncoding(myForwardInvocationMethod); - Class metaClass = objc_getMetaClass(class_getName(aClass)); - class_replaceMethod(metaClass, @selector(forwardInvocation:), myForwardInvocationImp, forwardInvocationTypes); -} - -- (void)setupForwarderForSelector:(SEL)selector -{ - Method originalMethod = class_getClassMethod(mockedClass, selector); - Class metaClass = objc_getMetaClass(class_getName(mockedClass)); - - IMP forwarderImp = [metaClass instanceMethodForSelector:@selector(aMethodThatMustNotExist)]; - class_replaceMethod(metaClass, method_getName(originalMethod), forwarderImp, method_getTypeEncoding(originalMethod)); - -// SEL aliasSelector = NSSelectorFromString([OCMRealMethodAliasPrefix stringByAppendingString:NSStringFromSelector(selector)]); -// class_addMethod(subclass, aliasSelector, originalImp, method_getTypeEncoding(originalMethod)); -} - -- (void)forwardInvocationForRealObject:(NSInvocation *)anInvocation -{ - // in here "self" is a reference to the real class, not the mock - OCMockClassObject *mock = [OCMockClassObject existingMockForClass:(Class)self]; - if([mock handleInvocation:anInvocation] == NO) - [NSException raise:NSInternalInconsistencyException format:@"Ended up in subclass forwarder for %@ with unstubbed method %@", - [self class], NSStringFromSelector([anInvocation selector])]; -} - - -#pragma mark Proxy API - -- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector -{ - return [mockedClass methodSignatureForSelector:aSelector]; -} - -- (BOOL)respondsToSelector:(SEL)selector -{ - return [mockedClass respondsToSelector:selector]; -} - - -#pragma mark Overrides - -- (id)getNewRecorder -{ - return [[[OCClassMockRecorder alloc] initWithSignatureResolver:self] autorelease]; -} - - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMockObject.h b/Tests/Vendor/OCMock/OCMock/OCMockObject.h deleted file mode 100644 index 8f95185c52..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMockObject.h +++ /dev/null @@ -1,46 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2004-2008 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCMockObject : NSProxy -{ - BOOL isNice; - BOOL expectationOrderMatters; - NSMutableArray *recorders; - NSMutableArray *expectations; - NSMutableArray *rejections; - NSMutableArray *exceptions; -} - -+ (id)mockForClass:(Class)aClass; -+ (id)mockForClassObject:(Class)aClass; -+ (id)mockForProtocol:(Protocol *)aProtocol; -+ (id)partialMockForObject:(NSObject *)anObject; - -+ (id)niceMockForClass:(Class)aClass; -+ (id)niceMockForProtocol:(Protocol *)aProtocol; - -+ (id)observerMock; - -- (id)init; - -- (void)setExpectationOrderMatters:(BOOL)flag; - -- (id)stub; -- (id)expect; -- (id)reject; - -- (void)verify; - -- (void)stopMocking; - -// internal use only - -- (id)getNewRecorder; -- (BOOL)handleInvocation:(NSInvocation *)anInvocation; -- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation; - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMockObject.m b/Tests/Vendor/OCMock/OCMock/OCMockObject.m deleted file mode 100644 index dbe2b7e80f..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMockObject.m +++ /dev/null @@ -1,266 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2004-2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import -#import "OCClassMockObject.h" -#import "OCProtocolMockObject.h" -#import "OCPartialMockObject.h" -#import "OCMockClassObject.h" -#import "OCObserverMockObject.h" -#import -#import "NSInvocation+OCMAdditions.h" - -@interface OCMockObject(Private) -+ (id)_makeNice:(OCMockObject *)mock; -- (NSString *)_recorderDescriptions:(BOOL)onlyExpectations; -@end - -#pragma mark - - - -@implementation OCMockObject - -#pragma mark Class initialisation - -+ (void)initialize -{ - if([[NSInvocation class] instanceMethodSignatureForSelector:@selector(getArgumentAtIndexAsObject:)] == NULL) - [NSException raise:NSInternalInconsistencyException format:@"** Expected method not present; the method getArgumentAtIndexAsObject: is not implemented by NSInvocation. If you see this exception it is likely that you are using the static library version of OCMock and your project is not configured correctly to load categories from static libraries. Did you forget to add the -force_load linker flag?"]; -} - - -#pragma mark Factory methods - -+ (id)mockForClass:(Class)aClass -{ - return [[[OCClassMockObject alloc] initWithClass:aClass] autorelease]; -} - -+ (id)mockForClassObject:(Class)aClass; -{ - return [[[OCMockClassObject alloc] initWithClass:aClass] autorelease]; -} - -+ (id)mockForProtocol:(Protocol *)aProtocol -{ - return [[[OCProtocolMockObject alloc] initWithProtocol:aProtocol] autorelease]; -} - -+ (id)partialMockForObject:(NSObject *)anObject -{ - return [[[OCPartialMockObject alloc] initWithObject:anObject] autorelease]; -} - - -+ (id)niceMockForClass:(Class)aClass -{ - return [self _makeNice:[self mockForClass:aClass]]; -} - -+ (id)niceMockForProtocol:(Protocol *)aProtocol -{ - return [self _makeNice:[self mockForProtocol:aProtocol]]; -} - - -+ (id)_makeNice:(OCMockObject *)mock -{ - mock->isNice = YES; - return mock; -} - - -+ (id)observerMock -{ - return [[[OCObserverMockObject alloc] init] autorelease]; -} - - - -#pragma mark Initialisers, description, accessors, etc. - -- (id)init -{ - // no [super init], we're inheriting from NSProxy - expectationOrderMatters = NO; - recorders = [[NSMutableArray alloc] init]; - expectations = [[NSMutableArray alloc] init]; - rejections = [[NSMutableArray alloc] init]; - exceptions = [[NSMutableArray alloc] init]; - return self; -} - -- (void)dealloc -{ - [recorders release]; - [expectations release]; - [rejections release]; - [exceptions release]; - [super dealloc]; -} - -- (NSString *)description -{ - return @"OCMockObject"; -} - - -- (void)setExpectationOrderMatters:(BOOL)flag -{ - expectationOrderMatters = flag; -} - - -#pragma mark Public API - -- (id)stub -{ - OCMockRecorder *recorder = [self getNewRecorder]; - [recorders addObject:recorder]; - return recorder; -} - - -- (id)expect -{ - OCMockRecorder *recorder = [self stub]; - [expectations addObject:recorder]; - return recorder; -} - - -- (id)reject -{ - OCMockRecorder *recorder = [self stub]; - [rejections addObject:recorder]; - return recorder; -} - - -- (void)verify -{ - if([expectations count] == 1) - { - [NSException raise:NSInternalInconsistencyException format:@"%@: expected method was not invoked: %@", - [self description], [[expectations objectAtIndex:0] description]]; - } - if([expectations count] > 0) - { - [NSException raise:NSInternalInconsistencyException format:@"%@ : %ld expected methods were not invoked: %@", - [self description], (long)[expectations count], [self _recorderDescriptions:YES]]; - } - if([exceptions count] > 0) - { - [[exceptions objectAtIndex:0] raise]; - } -} - -- (void)stopMocking -{ - // no-op for mock objects that are not class object or partial mocks -} - - -#pragma mark Handling invocations - -- (void)forwardInvocation:(NSInvocation *)anInvocation -{ - if([self handleInvocation:anInvocation] == NO) - [self handleUnRecordedInvocation:anInvocation]; -} - -- (BOOL)handleInvocation:(NSInvocation *)anInvocation -{ - OCMockRecorder *recorder = nil; - unsigned int i; - - for(i = 0; i < [recorders count]; i++) - { - recorder = [recorders objectAtIndex:i]; - if([recorder matchesInvocation:anInvocation]) - break; - } - - if(i == [recorders count]) - return NO; - - if([rejections containsObject:recorder]) - { - NSException *exception = [NSException exceptionWithName:NSInternalInconsistencyException reason: - [NSString stringWithFormat:@"%@: explicitly disallowed method invoked: %@", [self description], - [anInvocation invocationDescription]] userInfo:nil]; - [exceptions addObject:exception]; - [exception raise]; - } - - if([expectations containsObject:recorder]) - { - if(expectationOrderMatters && ([expectations objectAtIndex:0] != recorder)) - { - [NSException raise:NSInternalInconsistencyException format:@"%@: unexpected method invoked: %@\n\texpected:\t%@", - [self description], [recorder description], [[expectations objectAtIndex:0] description]]; - - } - [[recorder retain] autorelease]; - [expectations removeObject:recorder]; - [recorders removeObjectAtIndex:i]; - } - [[recorder invocationHandlers] makeObjectsPerformSelector:@selector(handleInvocation:) withObject:anInvocation]; - - return YES; -} - -- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation -{ - if(isNice == NO) - { - NSException *exception = [NSException exceptionWithName:NSInternalInconsistencyException reason: - [NSString stringWithFormat:@"%@: unexpected method invoked: %@ %@", [self description], - [anInvocation invocationDescription], [self _recorderDescriptions:NO]] userInfo:nil]; - [exceptions addObject:exception]; - [exception raise]; - } -} - - -#pragma mark Helper methods - -- (id)getNewRecorder -{ - return [[[OCMockRecorder alloc] initWithSignatureResolver:self] autorelease]; -} - - -- (NSString *)_recorderDescriptions:(BOOL)onlyExpectations -{ - NSMutableString *outputString = [NSMutableString string]; - - OCMockRecorder *currentObject; - NSEnumerator *recorderEnumerator = [recorders objectEnumerator]; - while((currentObject = [recorderEnumerator nextObject]) != nil) - { - NSString *prefix; - - if(onlyExpectations) - { - if(![expectations containsObject:currentObject]) - continue; - prefix = @" "; - } - else - { - if ([expectations containsObject:currentObject]) - prefix = @"expected: "; - else - prefix = @"stubbed: "; - } - [outputString appendFormat:@"\n\t%@\t%@", prefix, [currentObject description]]; - } - - return outputString; -} - - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMockRecorder.h b/Tests/Vendor/OCMock/OCMock/OCMockRecorder.h deleted file mode 100644 index b11a25387f..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMockRecorder.h +++ /dev/null @@ -1,32 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2004-2010 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCMockRecorder : NSProxy -{ - id signatureResolver; - NSInvocation *recordedInvocation; - NSMutableArray *invocationHandlers; -} - -- (id)initWithSignatureResolver:(id)anObject; - -- (BOOL)matchesInvocation:(NSInvocation *)anInvocation; -- (void)releaseInvocation; - -- (id)andReturn:(id)anObject; -- (id)andReturnValue:(NSValue *)aValue; -- (id)andThrow:(NSException *)anException; -- (id)andPost:(NSNotification *)aNotification; -- (id)andCall:(SEL)selector onObject:(id)anObject; -#if NS_BLOCKS_AVAILABLE -- (id)andDo:(void (^)(NSInvocation *))block; -#endif -- (id)andForwardToRealObject; - -- (NSArray *)invocationHandlers; - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCMockRecorder.m b/Tests/Vendor/OCMock/OCMock/OCMockRecorder.m deleted file mode 100644 index 5cd63d2b4c..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCMockRecorder.m +++ /dev/null @@ -1,187 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2004-2011 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import -#import -#import -#import -#import "OCMPassByRefSetter.h" -#import "OCMReturnValueProvider.h" -#import "OCMBoxedReturnValueProvider.h" -#import "OCMExceptionReturnValueProvider.h" -#import "OCMIndirectReturnValueProvider.h" -#import "OCMNotificationPoster.h" -#import "OCMBlockCaller.h" -#import "NSInvocation+OCMAdditions.h" - -@interface NSObject(HCMatcherDummy) -- (BOOL)matches:(id)item; -@end - -#pragma mark - - - -@implementation OCMockRecorder - -#pragma mark Initialisers, description, accessors, etc. - -- (id)initWithSignatureResolver:(id)anObject -{ - signatureResolver = anObject; - invocationHandlers = [[NSMutableArray alloc] init]; - return self; -} - -- (void)dealloc -{ - [recordedInvocation release]; - [invocationHandlers release]; - [super dealloc]; -} - -- (NSString *)description -{ - return [recordedInvocation invocationDescription]; -} - -- (void)releaseInvocation -{ - [recordedInvocation release]; - recordedInvocation = nil; -} - - -#pragma mark Recording invocation handlers - -- (id)andReturn:(id)anObject -{ - [invocationHandlers addObject:[[[OCMReturnValueProvider alloc] initWithValue:anObject] autorelease]]; - return self; -} - -- (id)andReturnValue:(NSValue *)aValue -{ - [invocationHandlers addObject:[[[OCMBoxedReturnValueProvider alloc] initWithValue:aValue] autorelease]]; - return self; -} - -- (id)andThrow:(NSException *)anException -{ - [invocationHandlers addObject:[[[OCMExceptionReturnValueProvider alloc] initWithValue:anException] autorelease]]; - return self; -} - -- (id)andPost:(NSNotification *)aNotification -{ - [invocationHandlers addObject:[[[OCMNotificationPoster alloc] initWithNotification:aNotification] autorelease]]; - return self; -} - -- (id)andCall:(SEL)selector onObject:(id)anObject -{ - [invocationHandlers addObject:[[[OCMIndirectReturnValueProvider alloc] initWithProvider:anObject andSelector:selector] autorelease]]; - return self; -} - -#if NS_BLOCKS_AVAILABLE - -- (id)andDo:(void (^)(NSInvocation *))aBlock -{ - [invocationHandlers addObject:[[[OCMBlockCaller alloc] initWithCallBlock:aBlock] autorelease]]; - return self; -} - -#endif - -- (id)andForwardToRealObject -{ - [NSException raise:NSInternalInconsistencyException format:@"Method %@ can only be used with partial mocks.", - NSStringFromSelector(_cmd)]; - return self; // keep compiler happy -} - - -- (NSArray *)invocationHandlers -{ - return invocationHandlers; -} - - -#pragma mark Recording the actual invocation - -- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector -{ - return [signatureResolver methodSignatureForSelector:aSelector]; -} - -- (void)forwardInvocation:(NSInvocation *)anInvocation -{ - if(recordedInvocation != nil) - [NSException raise:NSInternalInconsistencyException format:@"Recorder received two methods to record."]; - [anInvocation setTarget:nil]; - [anInvocation retainArguments]; - recordedInvocation = [anInvocation retain]; -} - - - -#pragma mark Checking the invocation - -- (BOOL)matchesInvocation:(NSInvocation *)anInvocation -{ - id recordedArg, passedArg; - int i, n; - - if([anInvocation selector] != [recordedInvocation selector]) - return NO; - - n = (int)[[recordedInvocation methodSignature] numberOfArguments]; - for(i = 2; i < n; i++) - { - recordedArg = [recordedInvocation getArgumentAtIndexAsObject:i]; - passedArg = [anInvocation getArgumentAtIndexAsObject:i]; - - if([recordedArg isProxy]) - { - if(![recordedArg isEqual:passedArg]) - return NO; - continue; - } - - if([recordedArg isKindOfClass:[NSValue class]]) - recordedArg = [OCMArg resolveSpecialValues:recordedArg]; - - if([recordedArg isKindOfClass:[OCMConstraint class]]) - { - if([recordedArg evaluate:passedArg] == NO) - return NO; - } - else if([recordedArg isKindOfClass:[OCMPassByRefSetter class]]) - { - // side effect but easier to do here than in handleInvocation - *(id *)[passedArg pointerValue] = [(OCMPassByRefSetter *)recordedArg value]; - } - else if([recordedArg conformsToProtocol:objc_getProtocol("HCMatcher")]) - { - if([recordedArg matches:passedArg] == NO) - return NO; - } - else - { - if(([recordedArg class] == [NSNumber class]) && - ([(NSNumber*)recordedArg compare:(NSNumber*)passedArg] != NSOrderedSame)) - return NO; - if(([recordedArg isEqual:passedArg] == NO) && - !((recordedArg == nil) && (passedArg == nil))) - return NO; - } - } - return YES; -} - - - - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCObserverMockObject.h b/Tests/Vendor/OCMock/OCMock/OCObserverMockObject.h deleted file mode 100644 index 908ad2f32b..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCObserverMockObject.h +++ /dev/null @@ -1,22 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCObserverMockObject : NSObject -{ - BOOL expectationOrderMatters; - NSMutableArray *recorders; -} - -- (void)setExpectationOrderMatters:(BOOL)flag; - -- (id)expect; - -- (void)verify; - -- (void)handleNotification:(NSNotification *)aNotification; - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCObserverMockObject.m b/Tests/Vendor/OCMock/OCMock/OCObserverMockObject.m deleted file mode 100644 index 02017f2ba9..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCObserverMockObject.m +++ /dev/null @@ -1,83 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "OCObserverMockObject.h" -#import "OCMObserverRecorder.h" - - -@implementation OCObserverMockObject - -#pragma mark Initialisers, description, accessors, etc. - -- (id)init -{ - self = [super init]; - recorders = [[NSMutableArray alloc] init]; - return self; -} - -- (void)dealloc -{ - [recorders release]; - [super dealloc]; -} - -- (NSString *)description -{ - return @"OCMockObserver"; -} - -- (void)setExpectationOrderMatters:(BOOL)flag -{ - expectationOrderMatters = flag; -} - - -#pragma mark Public API - -- (id)expect -{ - OCMObserverRecorder *recorder = [[[OCMObserverRecorder alloc] init] autorelease]; - [recorders addObject:recorder]; - return recorder; -} - -- (void)verify -{ - if([recorders count] == 1) - { - [NSException raise:NSInternalInconsistencyException format:@"%@: expected notification was not observed: %@", - [self description], [[recorders lastObject] description]]; - } - if([recorders count] > 0) - { - [NSException raise:NSInternalInconsistencyException format:@"%@ : %ld expected notifications were not observed.", - [self description], (long)[recorders count]]; - } -} - - - -#pragma mark Receiving notifications - -- (void)handleNotification:(NSNotification *)aNotification -{ - NSUInteger i, limit; - - limit = expectationOrderMatters ? 1 : [recorders count]; - for(i = 0; i < limit; i++) - { - if([[recorders objectAtIndex:i] matchesNotification:aNotification]) - { - [recorders removeObjectAtIndex:i]; - return; - } - } - [NSException raise:NSInternalInconsistencyException format:@"%@: unexpected notification observed: %@", [self description], - [aNotification description]]; -} - - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCPartialMockObject.h b/Tests/Vendor/OCMock/OCMock/OCPartialMockObject.h deleted file mode 100644 index d932d28073..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCPartialMockObject.h +++ /dev/null @@ -1,25 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "OCClassMockObject.h" - -@interface OCPartialMockObject : OCClassMockObject -{ - NSObject *realObject; -} - -- (id)initWithObject:(NSObject *)anObject; - -- (NSObject *)realObject; - -- (void)stopMocking; - -- (void)setupSubclassForObject:(id)anObject; -- (void)setupForwarderForSelector:(SEL)selector; - -@end - - -extern NSString *OCMRealMethodAliasPrefix; diff --git a/Tests/Vendor/OCMock/OCMock/OCPartialMockObject.m b/Tests/Vendor/OCMock/OCMock/OCPartialMockObject.m deleted file mode 100644 index c5b46afb75..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCPartialMockObject.m +++ /dev/null @@ -1,142 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import -#import "OCPartialMockRecorder.h" -#import "OCPartialMockObject.h" - - -@interface OCPartialMockObject (Private) -- (void)forwardInvocationForRealObject:(NSInvocation *)anInvocation; -@end - - -NSString *OCMRealMethodAliasPrefix = @"ocmock_replaced_"; - -@implementation OCPartialMockObject - - -#pragma mark Mock table - -static NSMutableDictionary *mockTable; - -+ (void)initialize -{ - if(self == [OCPartialMockObject class]) - mockTable = [[NSMutableDictionary alloc] init]; -} - -+ (void)rememberPartialMock:(OCPartialMockObject *)mock forObject:(id)anObject -{ - [mockTable setObject:[NSValue valueWithNonretainedObject:mock] forKey:[NSValue valueWithNonretainedObject:anObject]]; -} - -+ (void)forgetPartialMockForObject:(id)anObject -{ - [mockTable removeObjectForKey:[NSValue valueWithNonretainedObject:anObject]]; -} - -+ (OCPartialMockObject *)existingPartialMockForObject:(id)anObject -{ - OCPartialMockObject *mock = [[mockTable objectForKey:[NSValue valueWithNonretainedObject:anObject]] nonretainedObjectValue]; - if(mock == nil) - [NSException raise:NSInternalInconsistencyException format:@"No partial mock for object %p", anObject]; - return mock; -} - - - -#pragma mark Initialisers, description, accessors, etc. - -- (id)initWithObject:(NSObject *)anObject -{ - [super initWithClass:[anObject class]]; - realObject = [anObject retain]; - [[self class] rememberPartialMock:self forObject:anObject]; - [self setupSubclassForObject:realObject]; - return self; -} - -- (void)dealloc -{ - if(realObject != nil) - [self stopMocking]; - [super dealloc]; -} - -- (NSString *)description -{ - return [NSString stringWithFormat:@"OCPartialMockObject[%@]", NSStringFromClass(mockedClass)]; -} - -- (NSObject *)realObject -{ - return realObject; -} - -- (void)stopMocking -{ - object_setClass(realObject, [self mockedClass]); - [realObject release]; - [[self class] forgetPartialMockForObject:realObject]; - realObject = nil; -} - - -#pragma mark Subclass management - -- (void)setupSubclassForObject:(id)anObject -{ - Class realClass = [anObject class]; - double timestamp = [NSDate timeIntervalSinceReferenceDate]; - const char *className = [[NSString stringWithFormat:@"%@-%p-%f", realClass, anObject, timestamp] UTF8String]; - Class subclass = objc_allocateClassPair(realClass, className, 0); - objc_registerClassPair(subclass); - object_setClass(anObject, subclass); - - Method myForwardInvocationMethod = class_getInstanceMethod([self class], @selector(forwardInvocationForRealObject:)); - IMP myForwardInvocationImp = method_getImplementation(myForwardInvocationMethod); - const char *forwardInvocationTypes = method_getTypeEncoding(myForwardInvocationMethod); - class_addMethod(subclass, @selector(forwardInvocation:), myForwardInvocationImp, forwardInvocationTypes); -} - -- (void)setupForwarderForSelector:(SEL)selector -{ - Class subclass = [[self realObject] class]; - Method originalMethod = class_getInstanceMethod([subclass superclass], selector); - IMP originalImp = method_getImplementation(originalMethod); - - IMP forwarderImp = [subclass instanceMethodForSelector:@selector(aMethodThatMustNotExist)]; - class_addMethod(subclass, method_getName(originalMethod), forwarderImp, method_getTypeEncoding(originalMethod)); - - SEL aliasSelector = NSSelectorFromString([OCMRealMethodAliasPrefix stringByAppendingString:NSStringFromSelector(selector)]); - class_addMethod(subclass, aliasSelector, originalImp, method_getTypeEncoding(originalMethod)); -} - -- (void)forwardInvocationForRealObject:(NSInvocation *)anInvocation -{ - // in here "self" is a reference to the real object, not the mock - OCPartialMockObject *mock = [OCPartialMockObject existingPartialMockForObject:self]; - if([mock handleInvocation:anInvocation] == NO) - [NSException raise:NSInternalInconsistencyException format:@"Ended up in subclass forwarder for %@ with unstubbed method %@", - [self class], NSStringFromSelector([anInvocation selector])]; -} - - - -#pragma mark Overrides - -- (id)getNewRecorder -{ - return [[[OCPartialMockRecorder alloc] initWithSignatureResolver:self] autorelease]; -} - -- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation -{ - [anInvocation invokeWithTarget:realObject]; -} - - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCPartialMockRecorder.h b/Tests/Vendor/OCMock/OCMock/OCPartialMockRecorder.h deleted file mode 100644 index 95ce4e6310..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCPartialMockRecorder.h +++ /dev/null @@ -1,12 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "OCMockRecorder.h" - -@interface OCPartialMockRecorder : OCMockRecorder -{ -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCPartialMockRecorder.m b/Tests/Vendor/OCMock/OCMock/OCPartialMockRecorder.m deleted file mode 100644 index f40cb7ce67..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCPartialMockRecorder.m +++ /dev/null @@ -1,27 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009-2010 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "OCPartialMockObject.h" -#import "OCMRealObjectForwarder.h" -#import "OCPartialMockRecorder.h" - - -@implementation OCPartialMockRecorder - -- (id)andForwardToRealObject -{ - [invocationHandlers addObject:[[[OCMRealObjectForwarder alloc] init] autorelease]]; - return self; -} - - -- (void)forwardInvocation:(NSInvocation *)anInvocation -{ - [super forwardInvocation:anInvocation]; - // not as clean as I'd wish... - [(OCPartialMockObject *)signatureResolver setupForwarderForSelector:[anInvocation selector]]; -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/OCProtocolMockObject.h b/Tests/Vendor/OCMock/OCMock/OCProtocolMockObject.h deleted file mode 100644 index 88f32299a5..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCProtocolMockObject.h +++ /dev/null @@ -1,16 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2005-2008 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCProtocolMockObject : OCMockObject -{ - Protocol *mockedProtocol; -} - -- (id)initWithProtocol:(Protocol *)aProtocol; - -@end - diff --git a/Tests/Vendor/OCMock/OCMock/OCProtocolMockObject.m b/Tests/Vendor/OCMock/OCMock/OCProtocolMockObject.m deleted file mode 100644 index 19e25e8796..0000000000 --- a/Tests/Vendor/OCMock/OCMock/OCProtocolMockObject.m +++ /dev/null @@ -1,53 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2005-2008 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import -#import "NSMethodSignature+OCMAdditions.h" -#import "OCProtocolMockObject.h" - -@implementation OCProtocolMockObject - -#pragma mark Initialisers, description, accessors, etc. - -- (id)initWithProtocol:(Protocol *)aProtocol -{ - [super init]; - mockedProtocol = aProtocol; - return self; -} - -- (NSString *)description -{ - const char* name = protocol_getName(mockedProtocol); - 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); - } - if(methodDescription.name == NULL) - { - return nil; - } - return [NSMethodSignature signatureWithObjCTypes:methodDescription.types]; -} - -- (BOOL)conformsToProtocol:(Protocol *)aProtocol -{ - return protocol_conformsToProtocol(mockedProtocol, aProtocol); -} - -- (BOOL)respondsToSelector:(SEL)selector -{ - return ([self methodSignatureForSelector:selector] != nil); -} - -@end diff --git a/Tests/Vendor/OCMock/OCMock/en.lproj/InfoPlist.strings b/Tests/Vendor/OCMock/OCMock/en.lproj/InfoPlist.strings deleted file mode 100644 index 477b28ff8f..0000000000 --- a/Tests/Vendor/OCMock/OCMock/en.lproj/InfoPlist.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* Localized versions of Info.plist keys */ -

    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