From adc6676a4f6597ec1cdd9e760de91963c3557361 Mon Sep 17 00:00:00 2001 From: Andrea Mazzini Date: Fri, 26 Aug 2022 12:03:45 +0200 Subject: [PATCH] Bump to version 1.5.0 --- CHANGELOG.md | 5 + .../EXPMatchers+FBSnapshotTest.h | 14 - .../EXPMatchers+FBSnapshotTest.m | 284 --- .../ExpectaObject+FBSnapshotTest.h | 17 - .../ExpectaObject+FBSnapshotTest.m | 25 - Sample/Pods/Expecta+Snapshots/LICENSE.md | 22 - Sample/Pods/Expecta+Snapshots/README.md | 87 - .../Expecta/Expecta/EXPBlockDefinedMatcher.h | 25 - .../Expecta/Expecta/EXPBlockDefinedMatcher.m | 60 - Sample/Pods/Expecta/Expecta/EXPDefines.h | 17 - Sample/Pods/Expecta/Expecta/EXPDoubleTuple.h | 13 - Sample/Pods/Expecta/Expecta/EXPDoubleTuple.m | 45 - Sample/Pods/Expecta/Expecta/EXPExpect.h | 45 - Sample/Pods/Expecta/Expecta/EXPExpect.m | 221 -- Sample/Pods/Expecta/Expecta/EXPFloatTuple.h | 13 - Sample/Pods/Expecta/Expecta/EXPFloatTuple.m | 55 - Sample/Pods/Expecta/Expecta/EXPMatcher.h | 20 - .../Expecta/Expecta/EXPUnsupportedObject.h | 11 - .../Expecta/Expecta/EXPUnsupportedObject.m | 23 - Sample/Pods/Expecta/Expecta/Expecta.h | 15 - Sample/Pods/Expecta/Expecta/ExpectaObject.h | 18 - Sample/Pods/Expecta/Expecta/ExpectaObject.m | 15 - Sample/Pods/Expecta/Expecta/ExpectaSupport.h | 74 - Sample/Pods/Expecta/Expecta/ExpectaSupport.m | 176 -- .../Expecta/Matchers/EXPMatcherHelpers.h | 4 - .../Expecta/Matchers/EXPMatcherHelpers.m | 9 - .../Expecta/Matchers/EXPMatchers+beCloseTo.h | 7 - .../Expecta/Matchers/EXPMatchers+beCloseTo.m | 49 - .../Expecta/Matchers/EXPMatchers+beFalsy.h | 3 - .../Expecta/Matchers/EXPMatchers+beFalsy.m | 24 - .../Matchers/EXPMatchers+beGreaterThan.h | 6 - .../Matchers/EXPMatchers+beGreaterThan.m | 20 - .../EXPMatchers+beGreaterThanOrEqualTo.h | 6 - .../EXPMatchers+beGreaterThanOrEqualTo.m | 20 - .../Matchers/EXPMatchers+beIdenticalTo.h | 10 - .../Matchers/EXPMatchers+beIdenticalTo.m | 24 - .../Matchers/EXPMatchers+beInTheRangeOf.h | 6 - .../Matchers/EXPMatchers+beInTheRangeOf.m | 30 - .../Matchers/EXPMatchers+beInstanceOf.h | 6 - .../Matchers/EXPMatchers+beInstanceOf.m | 31 - .../Expecta/Matchers/EXPMatchers+beKindOf.h | 4 - .../Expecta/Matchers/EXPMatchers+beKindOf.m | 29 - .../Expecta/Matchers/EXPMatchers+beLessThan.h | 6 - .../Expecta/Matchers/EXPMatchers+beLessThan.m | 20 - .../EXPMatchers+beLessThanOrEqualTo.h | 6 - .../EXPMatchers+beLessThanOrEqualTo.m | 20 - .../Expecta/Matchers/EXPMatchers+beNil.h | 4 - .../Expecta/Matchers/EXPMatchers+beNil.m | 18 - .../Matchers/EXPMatchers+beSubclassOf.h | 4 - .../Matchers/EXPMatchers+beSubclassOf.m | 29 - .../Matchers/EXPMatchers+beSupersetOf.h | 4 - .../Matchers/EXPMatchers+beSupersetOf.m | 62 - .../Expecta/Matchers/EXPMatchers+beTruthy.h | 3 - .../Expecta/Matchers/EXPMatchers+beTruthy.m | 24 - .../Expecta/Matchers/EXPMatchers+beginWith.h | 4 - .../Expecta/Matchers/EXPMatchers+beginWith.m | 51 - .../Expecta/Matchers/EXPMatchers+conformTo.h | 3 - .../Expecta/Matchers/EXPMatchers+conformTo.m | 33 - .../Expecta/Matchers/EXPMatchers+contain.h | 5 - .../Expecta/Matchers/EXPMatchers+contain.m | 38 - .../Expecta/Matchers/EXPMatchers+endWith.h | 3 - .../Expecta/Matchers/EXPMatchers+endWith.m | 49 - .../Expecta/Matchers/EXPMatchers+equal.h | 5 - .../Expecta/Matchers/EXPMatchers+equal.m | 38 - .../Matchers/EXPMatchers+haveCountOf.h | 10 - .../Matchers/EXPMatchers+haveCountOf.m | 42 - .../Expecta/Matchers/EXPMatchers+match.h | 3 - .../Expecta/Matchers/EXPMatchers+match.m | 38 - .../Matchers/EXPMatchers+postNotification.h | 4 - .../Matchers/EXPMatchers+postNotification.m | 88 - .../Expecta/Matchers/EXPMatchers+raise.h | 4 - .../Expecta/Matchers/EXPMatchers+raise.m | 30 - .../Matchers/EXPMatchers+raiseWithReason.h | 3 - .../Matchers/EXPMatchers+raiseWithReason.m | 35 - .../Expecta/Matchers/EXPMatchers+respondTo.h | 3 - .../Expecta/Matchers/EXPMatchers+respondTo.m | 28 - .../Expecta/Expecta/Matchers/EXPMatchers.h | 25 - .../Pods/Expecta/Expecta/NSObject+Expecta.h | 10 - Sample/Pods/Expecta/Expecta/NSValue+Expecta.h | 7 - Sample/Pods/Expecta/Expecta/NSValue+Expecta.m | 21 - Sample/Pods/Expecta/LICENSE | 19 - Sample/Pods/Expecta/README.md | 293 --- .../UIApplication+StrictKeyWindow.h | 20 - .../UIApplication+StrictKeyWindow.m | 27 - .../Categories/UIImage+Compare.h | 37 - .../Categories/UIImage+Compare.m | 134 -- .../Categories/UIImage+Diff.h | 37 - .../Categories/UIImage+Diff.m | 56 - .../Categories/UIImage+Snapshot.h | 24 - .../Categories/UIImage+Snapshot.m | 73 - .../FBSnapshotTestCase/FBSnapshotTestCase.h | 201 -- .../FBSnapshotTestCase/FBSnapshotTestCase.m | 136 -- .../FBSnapshotTestCasePlatform.h | 44 - .../FBSnapshotTestCasePlatform.m | 51 - .../FBSnapshotTestController.h | 166 -- .../FBSnapshotTestController.m | 358 --- Sample/Pods/FBSnapshotTestCase/LICENSE | 29 - Sample/Pods/FBSnapshotTestCase/README.md | 97 - .../EXPMatchers+FBSnapshotTest.h | 1 - .../ExpectaObject+FBSnapshotTest.h | 1 - .../Private/Expecta/EXPBlockDefinedMatcher.h | 1 - .../Pods/Headers/Private/Expecta/EXPDefines.h | 1 - .../Headers/Private/Expecta/EXPDoubleTuple.h | 1 - .../Pods/Headers/Private/Expecta/EXPExpect.h | 1 - .../Headers/Private/Expecta/EXPFloatTuple.h | 1 - .../Pods/Headers/Private/Expecta/EXPMatcher.h | 1 - .../Private/Expecta/EXPMatcherHelpers.h | 1 - .../Private/Expecta/EXPMatchers+beCloseTo.h | 1 - .../Private/Expecta/EXPMatchers+beFalsy.h | 1 - .../Expecta/EXPMatchers+beGreaterThan.h | 1 - .../EXPMatchers+beGreaterThanOrEqualTo.h | 1 - .../Expecta/EXPMatchers+beIdenticalTo.h | 1 - .../Expecta/EXPMatchers+beInTheRangeOf.h | 1 - .../Expecta/EXPMatchers+beInstanceOf.h | 1 - .../Private/Expecta/EXPMatchers+beKindOf.h | 1 - .../Private/Expecta/EXPMatchers+beLessThan.h | 1 - .../Expecta/EXPMatchers+beLessThanOrEqualTo.h | 1 - .../Private/Expecta/EXPMatchers+beNil.h | 1 - .../Expecta/EXPMatchers+beSubclassOf.h | 1 - .../Expecta/EXPMatchers+beSupersetOf.h | 1 - .../Private/Expecta/EXPMatchers+beTruthy.h | 1 - .../Private/Expecta/EXPMatchers+beginWith.h | 1 - .../Private/Expecta/EXPMatchers+conformTo.h | 1 - .../Private/Expecta/EXPMatchers+contain.h | 1 - .../Private/Expecta/EXPMatchers+endWith.h | 1 - .../Private/Expecta/EXPMatchers+equal.h | 1 - .../Private/Expecta/EXPMatchers+haveCountOf.h | 1 - .../Private/Expecta/EXPMatchers+match.h | 1 - .../Expecta/EXPMatchers+postNotification.h | 1 - .../Private/Expecta/EXPMatchers+raise.h | 1 - .../Expecta/EXPMatchers+raiseWithReason.h | 1 - .../Private/Expecta/EXPMatchers+respondTo.h | 1 - .../Headers/Private/Expecta/EXPMatchers.h | 1 - .../Private/Expecta/EXPUnsupportedObject.h | 1 - Sample/Pods/Headers/Private/Expecta/Expecta.h | 1 - .../Headers/Private/Expecta/ExpectaObject.h | 1 - .../Headers/Private/Expecta/ExpectaSupport.h | 1 - .../Private/Expecta/NSObject+Expecta.h | 1 - .../Headers/Private/Expecta/NSValue+Expecta.h | 1 - .../FBSnapshotTestCase/FBSnapshotTestCase.h | 1 - .../FBSnapshotTestCasePlatform.h | 1 - .../FBSnapshotTestController.h | 1 - .../UIApplication+StrictKeyWindow.h | 1 - .../FBSnapshotTestCase/UIImage+Compare.h | 1 - .../Private/FBSnapshotTestCase/UIImage+Diff.h | 1 - .../FBSnapshotTestCase/UIImage+Snapshot.h | 1 - .../OCMock/NSInvocation+OCMAdditions.h | 1 - .../OCMock/NSMethodSignature+OCMAdditions.h | 1 - .../NSNotificationCenter+OCMAdditions.h | 1 - .../Private/OCMock/NSObject+OCMAdditions.h | 1 - .../Private/OCMock/NSValue+OCMAdditions.h | 1 - .../Private/OCMock/OCClassMockObject.h | 1 - Sample/Pods/Headers/Private/OCMock/OCMArg.h | 1 - .../Headers/Private/OCMock/OCMArgAction.h | 1 - .../Private/OCMock/OCMBlockArgCaller.h | 1 - .../Headers/Private/OCMock/OCMBlockCaller.h | 1 - .../OCMock/OCMBoxedReturnValueProvider.h | 1 - .../Headers/Private/OCMock/OCMConstraint.h | 1 - .../OCMock/OCMExceptionReturnValueProvider.h | 1 - .../Private/OCMock/OCMExpectationRecorder.h | 1 - .../Headers/Private/OCMock/OCMFunctions.h | 1 - .../Private/OCMock/OCMFunctionsPrivate.h | 1 - .../OCMock/OCMIndirectReturnValueProvider.h | 1 - .../Private/OCMock/OCMInvocationExpectation.h | 1 - .../Private/OCMock/OCMInvocationMatcher.h | 1 - .../Private/OCMock/OCMInvocationStub.h | 1 - .../Pods/Headers/Private/OCMock/OCMLocation.h | 1 - .../Headers/Private/OCMock/OCMMacroState.h | 1 - .../Private/OCMock/OCMNotificationPoster.h | 1 - .../Private/OCMock/OCMObserverRecorder.h | 1 - .../Private/OCMock/OCMPassByRefSetter.h | 1 - .../Private/OCMock/OCMRealObjectForwarder.h | 1 - .../Pods/Headers/Private/OCMock/OCMRecorder.h | 1 - .../Private/OCMock/OCMReturnValueProvider.h | 1 - .../Headers/Private/OCMock/OCMStubRecorder.h | 1 - .../Pods/Headers/Private/OCMock/OCMVerifier.h | 1 - Sample/Pods/Headers/Private/OCMock/OCMock.h | 1 - .../Headers/Private/OCMock/OCMockObject.h | 1 - .../Private/OCMock/OCObserverMockObject.h | 1 - .../Private/OCMock/OCPartialMockObject.h | 1 - .../Private/OCMock/OCProtocolMockObject.h | 1 - .../Pods/Headers/Private/Specta/SPTCallSite.h | 1 - .../Private/Specta/SPTCompiledExample.h | 1 - .../Pods/Headers/Private/Specta/SPTExample.h | 1 - .../Headers/Private/Specta/SPTExampleGroup.h | 1 - .../Specta/SPTExcludeGlobalBeforeAfterEach.h | 1 - .../Private/Specta/SPTGlobalBeforeAfterEach.h | 1 - .../Private/Specta/SPTSharedExampleGroups.h | 1 - Sample/Pods/Headers/Private/Specta/SPTSpec.h | 1 - .../Headers/Private/Specta/SPTTestSuite.h | 1 - Sample/Pods/Headers/Private/Specta/Specta.h | 1 - .../Pods/Headers/Private/Specta/SpectaDSL.h | 1 - .../Pods/Headers/Private/Specta/SpectaTypes.h | 1 - .../Headers/Private/Specta/SpectaUtility.h | 1 - .../Headers/Private/Specta/XCTest+Private.h | 1 - .../Private/Specta/XCTestCase+Specta.h | 1 - Sample/Pods/Manifest.lock | 24 - Sample/Pods/OCMock/License.txt | 177 -- Sample/Pods/OCMock/README.md | 10 - .../Source/OCMock/NSInvocation+OCMAdditions.h | 49 - .../Source/OCMock/NSInvocation+OCMAdditions.m | 520 ----- .../OCMock/NSMethodSignature+OCMAdditions.h | 29 - .../OCMock/NSMethodSignature+OCMAdditions.m | 205 -- .../NSNotificationCenter+OCMAdditions.h | 26 - .../NSNotificationCenter+OCMAdditions.m | 29 - .../Source/OCMock/NSObject+OCMAdditions.h | 24 - .../Source/OCMock/NSObject+OCMAdditions.m | 76 - .../Source/OCMock/NSValue+OCMAdditions.h | 23 - .../Source/OCMock/NSValue+OCMAdditions.m | 85 - .../OCMock/Source/OCMock/OCClassMockObject.h | 30 - .../OCMock/Source/OCMock/OCClassMockObject.m | 295 --- Sample/Pods/OCMock/Source/OCMock/OCMArg.h | 58 - Sample/Pods/OCMock/Source/OCMock/OCMArg.m | 146 -- .../Pods/OCMock/Source/OCMock/OCMArgAction.h | 23 - .../Pods/OCMock/Source/OCMock/OCMArgAction.m | 28 - .../OCMock/Source/OCMock/OCMBlockArgCaller.h | 26 - .../OCMock/Source/OCMock/OCMBlockArgCaller.m | 53 - .../OCMock/Source/OCMock/OCMBlockCaller.h | 30 - .../OCMock/Source/OCMock/OCMBlockCaller.m | 46 - .../OCMock/OCMBoxedReturnValueProvider.h | 23 - .../OCMock/OCMBoxedReturnValueProvider.m | 61 - .../Pods/OCMock/Source/OCMock/OCMConstraint.h | 71 - .../Pods/OCMock/Source/OCMock/OCMConstraint.m | 156 -- .../OCMock/OCMExceptionReturnValueProvider.h | 25 - .../OCMock/OCMExceptionReturnValueProvider.m | 30 - .../Source/OCMock/OCMExpectationRecorder.h | 23 - .../Source/OCMock/OCMExpectationRecorder.m | 56 - .../Pods/OCMock/Source/OCMock/OCMFunctions.h | 27 - .../Pods/OCMock/Source/OCMock/OCMFunctions.m | 334 --- .../Source/OCMock/OCMFunctionsPrivate.h | 43 - .../OCMock/OCMIndirectReturnValueProvider.h | 29 - .../OCMock/OCMIndirectReturnValueProvider.m | 54 - .../Source/OCMock/OCMInvocationExpectation.h | 30 - .../Source/OCMock/OCMInvocationExpectation.m | 56 - .../Source/OCMock/OCMInvocationMatcher.h | 37 - .../Source/OCMock/OCMInvocationMatcher.m | 147 -- .../OCMock/Source/OCMock/OCMInvocationStub.h | 29 - .../OCMock/Source/OCMock/OCMInvocationStub.m | 74 - .../Pods/OCMock/Source/OCMock/OCMLocation.h | 38 - .../Pods/OCMock/Source/OCMock/OCMLocation.m | 66 - .../Pods/OCMock/Source/OCMock/OCMMacroState.h | 48 - .../Pods/OCMock/Source/OCMock/OCMMacroState.m | 134 -- .../Source/OCMock/OCMNotificationPoster.h | 28 - .../Source/OCMock/OCMNotificationPoster.m | 44 - .../Source/OCMock/OCMObserverRecorder.h | 32 - .../Source/OCMock/OCMObserverRecorder.m | 89 - .../OCMock/Source/OCMock/OCMPassByRefSetter.h | 26 - .../OCMock/Source/OCMock/OCMPassByRefSetter.m | 50 - .../Source/OCMock/OCMRealObjectForwarder.h | 25 - .../Source/OCMock/OCMRealObjectForwarder.m | 48 - .../Pods/OCMock/Source/OCMock/OCMRecorder.h | 39 - .../Pods/OCMock/Source/OCMock/OCMRecorder.m | 109 - .../Source/OCMock/OCMReturnValueProvider.h | 28 - .../Source/OCMock/OCMReturnValueProvider.m | 55 - .../OCMock/Source/OCMock/OCMStubRecorder.h | 64 - .../OCMock/Source/OCMock/OCMStubRecorder.m | 187 -- .../Pods/OCMock/Source/OCMock/OCMVerifier.h | 25 - .../Pods/OCMock/Source/OCMock/OCMVerifier.m | 48 - Sample/Pods/OCMock/Source/OCMock/OCMock.h | 113 - .../Pods/OCMock/Source/OCMock/OCMockObject.h | 74 - .../Pods/OCMock/Source/OCMock/OCMockObject.m | 437 ---- .../Source/OCMock/OCObserverMockObject.h | 43 - .../Source/OCMock/OCObserverMockObject.m | 139 -- .../Source/OCMock/OCPartialMockObject.h | 28 - .../Source/OCMock/OCPartialMockObject.m | 220 -- .../Source/OCMock/OCProtocolMockObject.h | 27 - .../Source/OCMock/OCProtocolMockObject.m | 63 - Sample/Pods/Pods.xcodeproj/project.pbxproj | 1926 ----------------- Sample/Pods/Specta/LICENSE | 20 - Sample/Pods/Specta/README.md | 176 -- .../Pods/Specta/Specta/Specta/SPTCallSite.h | 12 - .../Pods/Specta/Specta/Specta/SPTCallSite.m | 18 - .../Specta/Specta/Specta/SPTCompiledExample.h | 17 - .../Specta/Specta/Specta/SPTCompiledExample.m | 17 - Sample/Pods/Specta/Specta/Specta/SPTExample.h | 17 - Sample/Pods/Specta/Specta/Specta/SPTExample.m | 17 - .../Specta/Specta/Specta/SPTExampleGroup.h | 36 - .../Specta/Specta/Specta/SPTExampleGroup.m | 335 --- .../Specta/SPTExcludeGlobalBeforeAfterEach.h | 10 - .../Specta/Specta/SPTGlobalBeforeAfterEach.h | 15 - .../Specta/Specta/SPTSharedExampleGroups.h | 17 - .../Specta/Specta/SPTSharedExampleGroups.m | 74 - Sample/Pods/Specta/Specta/Specta/SPTSpec.h | 28 - Sample/Pods/Specta/Specta/Specta/SPTSpec.m | 210 -- .../Pods/Specta/Specta/Specta/SPTTestSuite.h | 21 - .../Pods/Specta/Specta/Specta/SPTTestSuite.m | 31 - Sample/Pods/Specta/Specta/Specta/Specta.h | 14 - Sample/Pods/Specta/Specta/Specta/SpectaDSL.h | 90 - Sample/Pods/Specta/Specta/Specta/SpectaDSL.m | 189 -- .../Pods/Specta/Specta/Specta/SpectaTypes.h | 5 - .../Pods/Specta/Specta/Specta/SpectaUtility.h | 18 - .../Pods/Specta/Specta/Specta/SpectaUtility.m | 79 - .../Specta/Specta/Specta/XCTest+Private.h | 41 - .../Specta/Specta/Specta/XCTestCase+Specta.h | 7 - .../Specta/Specta/Specta/XCTestCase+Specta.m | 65 - .../Expecta+Snapshots-dummy.m | 5 - .../Expecta+Snapshots-prefix.pch | 4 - .../Expecta+Snapshots-umbrella.h | 8 - .../Expecta+Snapshots.modulemap | 6 - .../Expecta+Snapshots.xcconfig | 6 - .../Expecta+Snapshots/Info.plist | 26 - .../Expecta/Expecta-dummy.m | 5 - .../Expecta/Expecta-prefix.pch | 4 - .../Expecta/Expecta-umbrella.h | 45 - .../Expecta/Expecta.modulemap | 6 - .../Expecta/Expecta.xcconfig | 7 - .../Target Support Files/Expecta/Info.plist | 26 - .../FBSnapshotTestCase-dummy.m | 5 - .../FBSnapshotTestCase-prefix.pch | 4 - .../FBSnapshotTestCase-umbrella.h | 9 - .../FBSnapshotTestCase.modulemap | 10 - .../FBSnapshotTestCase.xcconfig | 7 - .../FBSnapshotTestCase/Info.plist | 26 - .../Target Support Files/OCMock/Info.plist | 26 - .../OCMock/OCMock-dummy.m | 5 - .../OCMock/OCMock-prefix.pch | 4 - .../OCMock/OCMock-umbrella.h | 16 - .../OCMock/OCMock.modulemap | 6 - .../OCMock/OCMock.xcconfig | 4 - .../Pods-SampleTests/Info.plist | 26 - ...Pods-SampleTests-acknowledgements.markdown | 290 --- .../Pods-SampleTests-acknowledgements.plist | 336 --- .../Pods-SampleTests/Pods-SampleTests-dummy.m | 5 - .../Pods-SampleTests-frameworks.sh | 99 - .../Pods-SampleTests-resources.sh | 95 - .../Pods-SampleTests-umbrella.h | 6 - .../Pods-SampleTests.debug.xcconfig | 7 - .../Pods-SampleTests.modulemap | 6 - .../Pods-SampleTests.release.xcconfig | 7 - .../Target Support Files/Specta/Info.plist | 26 - .../Specta/Specta-dummy.m | 5 - .../Specta/Specta-prefix.pch | 4 - .../Specta/Specta-umbrella.h | 21 - .../Specta/Specta.modulemap | 6 - .../Specta/Specta.xcconfig | 7 - UIView+Shake.podspec | 2 +- 336 files changed, 6 insertions(+), 14629 deletions(-) delete mode 100644 Sample/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h delete mode 100644 Sample/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.m delete mode 100644 Sample/Pods/Expecta+Snapshots/ExpectaObject+FBSnapshotTest.h delete mode 100644 Sample/Pods/Expecta+Snapshots/ExpectaObject+FBSnapshotTest.m delete mode 100644 Sample/Pods/Expecta+Snapshots/LICENSE.md delete mode 100644 Sample/Pods/Expecta+Snapshots/README.md delete mode 100644 Sample/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.h delete mode 100644 Sample/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.m delete mode 100644 Sample/Pods/Expecta/Expecta/EXPDefines.h delete mode 100644 Sample/Pods/Expecta/Expecta/EXPDoubleTuple.h delete mode 100644 Sample/Pods/Expecta/Expecta/EXPDoubleTuple.m delete mode 100644 Sample/Pods/Expecta/Expecta/EXPExpect.h delete mode 100644 Sample/Pods/Expecta/Expecta/EXPExpect.m delete mode 100644 Sample/Pods/Expecta/Expecta/EXPFloatTuple.h delete mode 100644 Sample/Pods/Expecta/Expecta/EXPFloatTuple.m delete mode 100644 Sample/Pods/Expecta/Expecta/EXPMatcher.h delete mode 100644 Sample/Pods/Expecta/Expecta/EXPUnsupportedObject.h delete mode 100644 Sample/Pods/Expecta/Expecta/EXPUnsupportedObject.m delete mode 100644 Sample/Pods/Expecta/Expecta/Expecta.h delete mode 100644 Sample/Pods/Expecta/Expecta/ExpectaObject.h delete mode 100644 Sample/Pods/Expecta/Expecta/ExpectaObject.m delete mode 100644 Sample/Pods/Expecta/Expecta/ExpectaSupport.h delete mode 100644 Sample/Pods/Expecta/Expecta/ExpectaSupport.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.h delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.m delete mode 100644 Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers.h delete mode 100644 Sample/Pods/Expecta/Expecta/NSObject+Expecta.h delete mode 100644 Sample/Pods/Expecta/Expecta/NSValue+Expecta.h delete mode 100644 Sample/Pods/Expecta/Expecta/NSValue+Expecta.m delete mode 100644 Sample/Pods/Expecta/LICENSE delete mode 100644 Sample/Pods/Expecta/README.md delete mode 100644 Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h delete mode 100644 Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m delete mode 100644 Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h delete mode 100644 Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m delete mode 100644 Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h delete mode 100644 Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m delete mode 100644 Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h delete mode 100644 Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m delete mode 100644 Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h delete mode 100644 Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m delete mode 100644 Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h delete mode 100644 Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m delete mode 100644 Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h delete mode 100644 Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m delete mode 100644 Sample/Pods/FBSnapshotTestCase/LICENSE delete mode 100644 Sample/Pods/FBSnapshotTestCase/README.md delete mode 120000 Sample/Pods/Headers/Private/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h delete mode 120000 Sample/Pods/Headers/Private/Expecta+Snapshots/ExpectaObject+FBSnapshotTest.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPBlockDefinedMatcher.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPDefines.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPDoubleTuple.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPExpect.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPFloatTuple.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatcher.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatcherHelpers.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beCloseTo.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beFalsy.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThan.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beIdenticalTo.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beInTheRangeOf.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beInstanceOf.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beKindOf.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beLessThan.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beLessThanOrEqualTo.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beNil.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beSubclassOf.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beSupersetOf.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beTruthy.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+beginWith.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+conformTo.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+contain.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+endWith.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+equal.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+haveCountOf.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+match.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+postNotification.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+raise.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+raiseWithReason.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers+respondTo.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPMatchers.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/EXPUnsupportedObject.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/Expecta.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/ExpectaObject.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/ExpectaSupport.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/NSObject+Expecta.h delete mode 120000 Sample/Pods/Headers/Private/Expecta/NSValue+Expecta.h delete mode 120000 Sample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCase.h delete mode 120000 Sample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h delete mode 120000 Sample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestController.h delete mode 120000 Sample/Pods/Headers/Private/FBSnapshotTestCase/UIApplication+StrictKeyWindow.h delete mode 120000 Sample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Compare.h delete mode 120000 Sample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Diff.h delete mode 120000 Sample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Snapshot.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/NSInvocation+OCMAdditions.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/NSMethodSignature+OCMAdditions.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/NSNotificationCenter+OCMAdditions.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/NSObject+OCMAdditions.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/NSValue+OCMAdditions.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCClassMockObject.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMArg.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMArgAction.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMBlockArgCaller.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMBlockCaller.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMBoxedReturnValueProvider.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMConstraint.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMExceptionReturnValueProvider.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMExpectationRecorder.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMFunctions.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMFunctionsPrivate.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMIndirectReturnValueProvider.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMInvocationExpectation.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMInvocationMatcher.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMInvocationStub.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMLocation.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMMacroState.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMNotificationPoster.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMObserverRecorder.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMPassByRefSetter.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMRealObjectForwarder.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMRecorder.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMReturnValueProvider.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMStubRecorder.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMVerifier.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMock.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCMockObject.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCObserverMockObject.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCPartialMockObject.h delete mode 120000 Sample/Pods/Headers/Private/OCMock/OCProtocolMockObject.h delete mode 120000 Sample/Pods/Headers/Private/Specta/SPTCallSite.h delete mode 120000 Sample/Pods/Headers/Private/Specta/SPTCompiledExample.h delete mode 120000 Sample/Pods/Headers/Private/Specta/SPTExample.h delete mode 120000 Sample/Pods/Headers/Private/Specta/SPTExampleGroup.h delete mode 120000 Sample/Pods/Headers/Private/Specta/SPTExcludeGlobalBeforeAfterEach.h delete mode 120000 Sample/Pods/Headers/Private/Specta/SPTGlobalBeforeAfterEach.h delete mode 120000 Sample/Pods/Headers/Private/Specta/SPTSharedExampleGroups.h delete mode 120000 Sample/Pods/Headers/Private/Specta/SPTSpec.h delete mode 120000 Sample/Pods/Headers/Private/Specta/SPTTestSuite.h delete mode 120000 Sample/Pods/Headers/Private/Specta/Specta.h delete mode 120000 Sample/Pods/Headers/Private/Specta/SpectaDSL.h delete mode 120000 Sample/Pods/Headers/Private/Specta/SpectaTypes.h delete mode 120000 Sample/Pods/Headers/Private/Specta/SpectaUtility.h delete mode 120000 Sample/Pods/Headers/Private/Specta/XCTest+Private.h delete mode 120000 Sample/Pods/Headers/Private/Specta/XCTestCase+Specta.h delete mode 100644 Sample/Pods/Manifest.lock delete mode 100644 Sample/Pods/OCMock/License.txt delete mode 100644 Sample/Pods/OCMock/README.md delete mode 100644 Sample/Pods/OCMock/Source/OCMock/NSInvocation+OCMAdditions.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/NSInvocation+OCMAdditions.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/NSMethodSignature+OCMAdditions.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/NSMethodSignature+OCMAdditions.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/NSNotificationCenter+OCMAdditions.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/NSNotificationCenter+OCMAdditions.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/NSObject+OCMAdditions.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/NSObject+OCMAdditions.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/NSValue+OCMAdditions.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/NSValue+OCMAdditions.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCClassMockObject.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCClassMockObject.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMArg.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMArg.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMArgAction.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMArgAction.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMBlockArgCaller.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMBlockArgCaller.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMBlockCaller.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMBlockCaller.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMBoxedReturnValueProvider.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMBoxedReturnValueProvider.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMConstraint.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMConstraint.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMExceptionReturnValueProvider.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMExceptionReturnValueProvider.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMExpectationRecorder.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMExpectationRecorder.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMFunctions.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMFunctions.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMFunctionsPrivate.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMIndirectReturnValueProvider.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMIndirectReturnValueProvider.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMInvocationExpectation.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMInvocationExpectation.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMInvocationMatcher.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMInvocationMatcher.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMInvocationStub.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMInvocationStub.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMLocation.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMLocation.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMMacroState.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMMacroState.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMNotificationPoster.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMNotificationPoster.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMObserverRecorder.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMObserverRecorder.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMPassByRefSetter.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMPassByRefSetter.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMRealObjectForwarder.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMRealObjectForwarder.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMRecorder.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMRecorder.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMReturnValueProvider.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMReturnValueProvider.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMStubRecorder.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMStubRecorder.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMVerifier.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMVerifier.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMock.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMockObject.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCMockObject.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCObserverMockObject.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCObserverMockObject.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCPartialMockObject.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCPartialMockObject.m delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCProtocolMockObject.h delete mode 100644 Sample/Pods/OCMock/Source/OCMock/OCProtocolMockObject.m delete mode 100644 Sample/Pods/Pods.xcodeproj/project.pbxproj delete mode 100644 Sample/Pods/Specta/LICENSE delete mode 100644 Sample/Pods/Specta/README.md delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTCallSite.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTCallSite.m delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTCompiledExample.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTCompiledExample.m delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTExample.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTExample.m delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTExampleGroup.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTExampleGroup.m delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.m delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTSpec.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTSpec.m delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTTestSuite.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/SPTTestSuite.m delete mode 100644 Sample/Pods/Specta/Specta/Specta/Specta.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/SpectaDSL.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/SpectaDSL.m delete mode 100644 Sample/Pods/Specta/Specta/Specta/SpectaTypes.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/SpectaUtility.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/SpectaUtility.m delete mode 100644 Sample/Pods/Specta/Specta/Specta/XCTest+Private.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/XCTestCase+Specta.h delete mode 100644 Sample/Pods/Specta/Specta/Specta/XCTestCase+Specta.m delete mode 100644 Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots-dummy.m delete mode 100644 Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots-prefix.pch delete mode 100644 Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots-umbrella.h delete mode 100644 Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots.modulemap delete mode 100644 Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots.xcconfig delete mode 100644 Sample/Pods/Target Support Files/Expecta+Snapshots/Info.plist delete mode 100644 Sample/Pods/Target Support Files/Expecta/Expecta-dummy.m delete mode 100644 Sample/Pods/Target Support Files/Expecta/Expecta-prefix.pch delete mode 100644 Sample/Pods/Target Support Files/Expecta/Expecta-umbrella.h delete mode 100644 Sample/Pods/Target Support Files/Expecta/Expecta.modulemap delete mode 100644 Sample/Pods/Target Support Files/Expecta/Expecta.xcconfig delete mode 100644 Sample/Pods/Target Support Files/Expecta/Info.plist delete mode 100644 Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m delete mode 100644 Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch delete mode 100644 Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h delete mode 100644 Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap delete mode 100644 Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.xcconfig delete mode 100644 Sample/Pods/Target Support Files/FBSnapshotTestCase/Info.plist delete mode 100644 Sample/Pods/Target Support Files/OCMock/Info.plist delete mode 100644 Sample/Pods/Target Support Files/OCMock/OCMock-dummy.m delete mode 100644 Sample/Pods/Target Support Files/OCMock/OCMock-prefix.pch delete mode 100644 Sample/Pods/Target Support Files/OCMock/OCMock-umbrella.h delete mode 100644 Sample/Pods/Target Support Files/OCMock/OCMock.modulemap delete mode 100644 Sample/Pods/Target Support Files/OCMock/OCMock.xcconfig delete mode 100644 Sample/Pods/Target Support Files/Pods-SampleTests/Info.plist delete mode 100644 Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-acknowledgements.markdown delete mode 100644 Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-acknowledgements.plist delete mode 100644 Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-dummy.m delete mode 100755 Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-frameworks.sh delete mode 100755 Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-resources.sh delete mode 100644 Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-umbrella.h delete mode 100644 Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests.debug.xcconfig delete mode 100644 Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests.modulemap delete mode 100644 Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests.release.xcconfig delete mode 100644 Sample/Pods/Target Support Files/Specta/Info.plist delete mode 100644 Sample/Pods/Target Support Files/Specta/Specta-dummy.m delete mode 100644 Sample/Pods/Target Support Files/Specta/Specta-prefix.pch delete mode 100644 Sample/Pods/Target Support Files/Specta/Specta-umbrella.h delete mode 100644 Sample/Pods/Target Support Files/Specta/Specta.modulemap delete mode 100644 Sample/Pods/Target Support Files/Specta/Specta.xcconfig diff --git a/CHANGELOG.md b/CHANGELOG.md index 7326474..df16577 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ All notable changes to this project will be documented in this file. `UIView-Shake` adheres to [Semantic Versioning](http://semver.org/). +- `1.5.x` Releases - [1.5.0](#150) - `1.4.x` Releases - [1.4.0](#140) - `1.3.x` Releases - [1.3.0](#130) - `1.2.x` Releases - [1.2.0](#120) @@ -10,6 +11,10 @@ All notable changes to this project will be documented in this file. --- +## [1.5.0](https://github.com/andreamazz/UIView-Shake/releases/tag/1.5.0) + +Added SPM support [#18](https://github.com/andreamazz/UIView-Shake/pull/18) + ## [1.4.0](https://github.com/andreamazz/UIView-Shake/releases/tag/1.4.0) ### Fixed diff --git a/Sample/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h b/Sample/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h deleted file mode 100644 index 8392d50..0000000 --- a/Sample/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h +++ /dev/null @@ -1,14 +0,0 @@ -#import -#import "ExpectaObject+FBSnapshotTest.h" - -@interface EXPExpectFBSnapshotTest : NSObject -@end - -/// Set the default folder for image tests to run in -extern void setGlobalReferenceImageDir(char *reference); - -EXPMatcherInterface(haveValidSnapshot, (void)); -EXPMatcherInterface(recordSnapshot, (void)); - -EXPMatcherInterface(haveValidSnapshotNamed, (NSString *snapshot)); -EXPMatcherInterface(recordSnapshotNamed, (NSString *snapshot)); diff --git a/Sample/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.m b/Sample/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.m deleted file mode 100644 index 1455e4a..0000000 --- a/Sample/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.m +++ /dev/null @@ -1,284 +0,0 @@ -#import "EXPMatchers+FBSnapshotTest.h" -#import -#import - -@interface EXPExpectFBSnapshotTest() -@property (nonatomic, strong) NSString *referenceImagesDirectory; -@end - -@implementation EXPExpectFBSnapshotTest - -+ (id)instance -{ - static EXPExpectFBSnapshotTest *instance = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - instance = [[self alloc] init]; - }); - return instance; -} - -+ (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer snapshot:(NSString *)snapshot testCase:(id)testCase record:(BOOL)record referenceDirectory:(NSString *)referenceDirectory error:(NSError **)error - -{ - FBSnapshotTestController *snapshotController = [[FBSnapshotTestController alloc] initWithTestClass:[testCase class]]; - snapshotController.recordMode = record; - snapshotController.referenceImagesDirectory = referenceDirectory; - snapshotController.usesDrawViewHierarchyInRect = [Expecta usesDrawViewHierarchyInRect]; - - if (! snapshotController.referenceImagesDirectory) { - [NSException raise:@"Missing value for referenceImagesDirectory" format:@"Call [[EXPExpectFBSnapshotTest instance] setReferenceImagesDirectory"]; - } - - return [snapshotController compareSnapshotOfViewOrLayer:viewOrLayer - selector:NSSelectorFromString(snapshot) - identifier:nil - tolerance:0 - error:error]; -} - -+ (NSString *)combinedError:(NSString *)message test:(NSString *)test error:(NSError *)error -{ - NSAssert(message, @"missing message"); - NSAssert(test, @"missing test name"); - - NSMutableArray *ary = [NSMutableArray array]; - - [ary addObject:[NSString stringWithFormat:@"%@ %@", message, test]]; - - for(NSString *key in error.userInfo.keyEnumerator) { - [ary addObject:[NSString stringWithFormat:@" %@: %@", key, [error.userInfo valueForKey:key]]]; - } - - return [ary componentsJoinedByString:@"\n"]; -} - -@end - -void setGlobalReferenceImageDir(char *reference) { - NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%s", reference]; - [[EXPExpectFBSnapshotTest instance] setReferenceImagesDirectory:referenceImagesDirectory]; -}; - -@interface EXPExpect(ReferenceDirExtension) -- (NSString *)_getDefaultReferenceDirectory; -@end - -@implementation EXPExpect(ReferenceDirExtension) - -- (NSString *)_getDefaultReferenceDirectory -{ - NSString *globalReference = [[EXPExpectFBSnapshotTest instance] referenceImagesDirectory]; - if (globalReference) { - return globalReference; - } - - // Search the test file's path to find the first folder with the substring "tests" - // then append "/ReferenceImages" and use that - - NSString *testFileName = [NSString stringWithCString:self.fileName encoding:NSUTF8StringEncoding]; - NSArray *pathComponents = [testFileName pathComponents]; - - for (NSString *folder in pathComponents) { - if ([folder.lowercaseString rangeOfString:@"tests"].location != NSNotFound) { - - NSArray *folderPathComponents = [pathComponents subarrayWithRange:NSMakeRange(0, [pathComponents indexOfObject:folder] + 1)]; - return [NSString stringWithFormat:@"%@/ReferenceImages", [folderPathComponents componentsJoinedByString:@"/"]]; - - } - } - - [NSException raise:@"Could not infer reference image folder" format:@"You should provide a reference dir using setGlobalReferenceImageDir(FB_REFERENCE_IMAGE_DIR);"]; - return nil; -} -@end - - -#import -#import -#import - -NSString *sanitizedTestPath(); - -NSString *sanitizedTestPath(){ - id compiledExample = [[NSThread currentThread] threadDictionary][@"SPTCurrentSpec"]; // SPTSpec - NSString *name; - if ([compiledExample respondsToSelector:@selector(name)]) { - // Specta 0.3 syntax - name = [compiledExample performSelector:@selector(name)]; - } else if ([compiledExample respondsToSelector:@selector(fileName)]) { - // Specta 0.2 syntax - name = [compiledExample performSelector:@selector(fileName)]; - } - name = [[[[name componentsSeparatedByString:@" test_"] lastObject] stringByReplacingOccurrencesOfString:@"__" withString:@"_"] stringByReplacingOccurrencesOfString:@"]" withString:@""]; - return name; -} - -EXPMatcherImplementationBegin(haveValidSnapshot, (void)){ - __block NSError *error = nil; - - prerequisite(^BOOL{ - return actual; - }); - - - match(^BOOL{ - NSString *referenceImageDir = [self _getDefaultReferenceDirectory]; - NSString *name = sanitizedTestPath(); - if ([actual isKindOfClass:UIViewController.class]) { - [actual beginAppearanceTransition:YES animated:NO]; - [actual endAppearanceTransition]; - - actual = [actual view]; - } - - return [EXPExpectFBSnapshotTest compareSnapshotOfViewOrLayer:actual snapshot:name testCase:[self testCase] record:NO referenceDirectory:referenceImageDir error:&error]; - }); - - failureMessageForTo(^NSString *{ - if (!actual) { - return [EXPExpectFBSnapshotTest combinedError:@"Nil was passed into haveValidSnapshot." test:sanitizedTestPath() error:nil]; - } - - return [EXPExpectFBSnapshotTest combinedError:@"expected a matching snapshot in" test:sanitizedTestPath() error:error]; - }); - - failureMessageForNotTo(^NSString *{ - return [EXPExpectFBSnapshotTest combinedError:@"expected to not have a matching snapshot in" test:sanitizedTestPath() error:error]; - }); -} -EXPMatcherImplementationEnd - -EXPMatcherImplementationBegin(recordSnapshot, (void)) { - __block NSError *error = nil; - - BOOL actualIsViewLayerOrViewController = ([actual isKindOfClass:UIView.class] || [actual isKindOfClass:CALayer.class] || [actual isKindOfClass:UIViewController.class]); - - prerequisite(^BOOL{ - return actual && actualIsViewLayerOrViewController; - }); - - match(^BOOL{ - NSString *referenceImageDir = [self _getDefaultReferenceDirectory]; - - // For view controllers do the viewWill/viewDid dance, then pass view through - if ([actual isKindOfClass:UIViewController.class]) { - - [actual beginAppearanceTransition:YES animated:NO]; - [actual endAppearanceTransition]; - actual = [actual view]; - } - - [EXPExpectFBSnapshotTest compareSnapshotOfViewOrLayer:actual snapshot:sanitizedTestPath() testCase:[self testCase] record:YES referenceDirectory:referenceImageDir error:&error]; - return NO; - }); - - failureMessageForTo(^NSString *{ - if (!actual) { - return [EXPExpectFBSnapshotTest combinedError:@"Nil was passed into recordSnapshot." test:sanitizedTestPath() error:nil]; - } - - if (!actualIsViewLayerOrViewController) { - return [EXPExpectFBSnapshotTest combinedError:@"Expected a View, Layer or View Controller." test:sanitizedTestPath() error:nil]; - } - if (error) { - return [EXPExpectFBSnapshotTest combinedError:@"expected to record a snapshot in" test:sanitizedTestPath() error:error]; - } else { - return [NSString stringWithFormat:@"snapshot %@ successfully recorded, replace recordSnapshot with a check", sanitizedTestPath()]; - } - }); - - failureMessageForNotTo(^NSString *{ - if (error) { - return [EXPExpectFBSnapshotTest combinedError:@"expected to record a snapshot in" test:sanitizedTestPath() error:error]; - } else { - return [NSString stringWithFormat:@"snapshot %@ successfully recorded, replace recordSnapshot with a check", sanitizedTestPath()]; - } - }); -} -EXPMatcherImplementationEnd - -EXPMatcherImplementationBegin(haveValidSnapshotNamed, (NSString *snapshot)){ - BOOL snapshotIsNil = (snapshot == nil); - __block NSError *error = nil; - - prerequisite(^BOOL{ - return actual && !(snapshotIsNil); - }); - - match(^BOOL{ - NSString *referenceImageDir = [self _getDefaultReferenceDirectory]; - if ([actual isKindOfClass:UIViewController.class]) { - [actual beginAppearanceTransition:YES animated:NO]; - [actual endAppearanceTransition]; - - actual = [actual view]; - } - return [EXPExpectFBSnapshotTest compareSnapshotOfViewOrLayer:actual snapshot:snapshot testCase:[self testCase] record:NO referenceDirectory:referenceImageDir error:&error]; - }); - - failureMessageForTo(^NSString *{ - if (!actual) { - return [EXPExpectFBSnapshotTest combinedError:@"Nil was passed into haveValidSnapshotNamed." test:sanitizedTestPath() error:nil]; - } - - return [EXPExpectFBSnapshotTest combinedError:@"expected a matching snapshot named" test:snapshot error:error]; - - }); - - failureMessageForNotTo(^NSString *{ - return [EXPExpectFBSnapshotTest combinedError:@"expected not to have a matching snapshot named" test:snapshot error:error]; - }); -} -EXPMatcherImplementationEnd - -EXPMatcherImplementationBegin(recordSnapshotNamed, (NSString *snapshot)) { - BOOL snapshotExists = (snapshot != nil); - BOOL actualIsViewLayerOrViewController = ([actual isKindOfClass:UIView.class] || [actual isKindOfClass:CALayer.class] || [actual isKindOfClass:UIViewController.class]); - __block NSError *error = nil; - id actualRef = actual; - - prerequisite(^BOOL{ - return actualRef && snapshotExists && actualIsViewLayerOrViewController; - }); - - match(^BOOL{ - NSString *referenceImageDir = [self _getDefaultReferenceDirectory]; - - // For view controllers do the viewWill/viewDid dance, then pass view through - if ([actual isKindOfClass:UIViewController.class]) { - [actual beginAppearanceTransition:YES animated:NO]; - [actual endAppearanceTransition]; - actual = [actual view]; - } - - [EXPExpectFBSnapshotTest compareSnapshotOfViewOrLayer:actual snapshot:snapshot testCase:[self testCase] record:YES referenceDirectory:referenceImageDir error:&error]; - return NO; - }); - - failureMessageForTo(^NSString *{ - if (!actual) { - return [EXPExpectFBSnapshotTest combinedError:@"Nil was passed into recordSnapshotNamed." test:sanitizedTestPath() error:nil]; - } - if (!actualIsViewLayerOrViewController) { - return [EXPExpectFBSnapshotTest combinedError:@"Expected a View, Layer or View Controller." test:snapshot error:nil]; - } - if (error) { - return [EXPExpectFBSnapshotTest combinedError:@"expected to record a matching snapshot named" test:snapshot error:error]; - } else { - return [NSString stringWithFormat:@"snapshot %@ successfully recorded, replace recordSnapshot with a check", snapshot]; - } - }); - - failureMessageForNotTo(^NSString *{ - if (!actualIsViewLayerOrViewController) { - return [EXPExpectFBSnapshotTest combinedError:@"Expected a View, Layer or View Controller." test:snapshot error:nil]; - } - if (error) { - return [EXPExpectFBSnapshotTest combinedError:@"expected to record a matching snapshot named" test:snapshot error:error]; - } else { - return [NSString stringWithFormat:@"snapshot %@ successfully recorded, replace recordSnapshot with a check", snapshot]; - } - }); -} -EXPMatcherImplementationEnd diff --git a/Sample/Pods/Expecta+Snapshots/ExpectaObject+FBSnapshotTest.h b/Sample/Pods/Expecta+Snapshots/ExpectaObject+FBSnapshotTest.h deleted file mode 100644 index a3feec3..0000000 --- a/Sample/Pods/Expecta+Snapshots/ExpectaObject+FBSnapshotTest.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// ExpectaObject+FBSnapshotTest.h -// Expecta+Snapshots -// -// Created by John Boiles on 8/3/15. -// Copyright (c) 2015 Expecta+Snapshots All rights reserved. -// - -#import - -@interface Expecta (FBSnapshotTest) - -+ (void)setUsesDrawViewHierarchyInRect:(BOOL)usesDrawViewHierarchyInRect; - -+ (BOOL)usesDrawViewHierarchyInRect; - -@end diff --git a/Sample/Pods/Expecta+Snapshots/ExpectaObject+FBSnapshotTest.m b/Sample/Pods/Expecta+Snapshots/ExpectaObject+FBSnapshotTest.m deleted file mode 100644 index 698447a..0000000 --- a/Sample/Pods/Expecta+Snapshots/ExpectaObject+FBSnapshotTest.m +++ /dev/null @@ -1,25 +0,0 @@ -// -// ExpectaObject+FBSnapshotTest.m -// Expecta+Snapshots -// -// Created by John Boiles on 8/3/15. -// Copyright (c) 2015 Expecta+Snapshots All rights reserved. -// - -#import "ExpectaObject+FBSnapshotTest.h" -#import - -static NSString const *kUsesDrawViewHierarchyInRectKey = @"ExpectaObject+FBSnapshotTest.usesDrawViewHierarchyInRect"; - -@implementation Expecta (FBSnapshotTest) - -+ (void)setUsesDrawViewHierarchyInRect:(BOOL)usesDrawViewHierarchyInRect { - objc_setAssociatedObject(self, (__bridge const void *)(kUsesDrawViewHierarchyInRectKey), @(usesDrawViewHierarchyInRect), OBJC_ASSOCIATION_RETAIN_NONATOMIC); -} - -+ (BOOL)usesDrawViewHierarchyInRect { - NSNumber *usesDrawViewHierarchyInRect = objc_getAssociatedObject(self, (__bridge const void *)(kUsesDrawViewHierarchyInRectKey)); - return usesDrawViewHierarchyInRect.boolValue; -} - -@end diff --git a/Sample/Pods/Expecta+Snapshots/LICENSE.md b/Sample/Pods/Expecta+Snapshots/LICENSE.md deleted file mode 100644 index 47c9a3d..0000000 --- a/Sample/Pods/Expecta+Snapshots/LICENSE.md +++ /dev/null @@ -1,22 +0,0 @@ -MIT License - -Copyright (c) 2014 Daniel Doubrovkine, Artsy Inc. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Sample/Pods/Expecta+Snapshots/README.md b/Sample/Pods/Expecta+Snapshots/README.md deleted file mode 100644 index 07c5265..0000000 --- a/Sample/Pods/Expecta+Snapshots/README.md +++ /dev/null @@ -1,87 +0,0 @@ -Expecta Matchers for FBSnapshotTestCase -======================================= - -[Expecta](https://github.com/specta/expecta) matchers for [ios-snapshot-test-case](https://github.com/facebook/ios-snapshot-test-case). - -[![Build Status](https://travis-ci.org/dblock/ios-snapshot-test-case-expecta.png)](https://travis-ci.org/dblock/ios-snapshot-test-case-expecta) - -### Usage - -Add `Expecta+Snapshots` to your Podfile, the latest `FBSnapshotTestCase` will come in as a dependency. - -``` ruby -pod 'Expecta+Snapshots' -``` - -### App setup - -Use `expect(view).to.recordSnapshotNamed(@"unique snapshot name")` to record a snapshot and `expect(view).to.haveValidSnapshotNamed(@"unique snapshot name")` to check it. - -If you project was compiled with Specta included, you have two extra methods that use the spec hierarchy to generate the snapshot name for you: `recordSnapshot()` and `haveValidSnapshot()`. You should only call these once per `it()` block. - -If you need the `usesDrawViewHierarchyInRect` property in order to correctly render UIVisualEffect, UIAppearance and Size Classes, call `[Expecta setUsesDrawViewHierarchyInRect:NO];` inside `beforeAll`. - -``` Objective-C -#define EXP_SHORTHAND -#include -#include -#include -#include "FBExampleView.h" - -SpecBegin(FBExampleView) - -describe(@"manual matching", ^{ - - it(@"matches view", ^{ - FBExampleView *view = [[FBExampleView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)]; - expect(view).to.recordSnapshotNamed(@"FBExampleView"); - expect(view).to.haveValidSnapshotNamed(@"FBExampleView"); - }); - - it(@"doesn't match a view", ^{ - FBExampleView *view = [[FBExampleView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)]; - expect(view).toNot.haveValidSnapshotNamed(@"FBExampleViewDoesNotExist"); - }); - -}); - -describe(@"test name derived matching", ^{ - - it(@"matches view", ^{ - FBExampleView *view = [[FBExampleView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)]; - expect(view).to.recordSnapshot(); - expect(view).to.haveValidSnapshot(); - }); - - it(@"doesn't match a view", ^{ - FBExampleView *view = [[FBExampleView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)]; - expect(view).toNot.haveValidSnapshot(); - }); - -}); - -SpecEnd -``` - -### Sane defaults - -`EXPMatchers+FBSnapshotTest` will automatically figure out the tests folder, and [add a reference image](https://github.com/dblock/ios-snapshot-test-case-expecta/blob/master/EXPMatchers%2BFBSnapshotTest.m#L84-L85) directory, if you'd like to override this, you should include a `beforeAll` block setting the `setGlobalReferenceImageDir` in each file containing tests. - -``` -beforeAll(^{ - setGlobalReferenceImageDir(FB_REFERENCE_IMAGE_DIR); -}); -``` - - -### Example - -A complete project can be found in [FBSnapshotTestCaseDemo](FBSnapshotTestCaseDemo). - -Notably, take a look at [FBSnapshotTestCaseDemoSpecs.m](FBSnapshotTestCaseDemo/FBSnapshotTestCaseDemoTests/FBSnapshotTestCaseDemoSpecs.m) for a complete example, which is an expanded Specta version version of [FBSnapshotTestCaseDemoTests.m](https://github.com/facebook/ios-snapshot-test-case/blob/master/FBSnapshotTestCaseDemo/FBSnapshotTestCaseDemoTests/FBSnapshotTestCaseDemoTests.m). - -Finally you can consult the tests for [ARTiledImageView](https://github.com/dblock/ARTiledImageView/tree/master/IntegrationTests) or [NAMapKit](https://github.com/neilang/NAMapKit/tree/master/Demo/DemoTests). - -### License - -MIT, see [LICENSE](LICENSE.md) diff --git a/Sample/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.h b/Sample/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.h deleted file mode 100644 index 58b1282..0000000 --- a/Sample/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// EXPRuntimeMatcher.h -// Expecta -// -// Created by Luke Redpath on 26/03/2012. -// Copyright (c) 2012 Peter Jihoon Kim. All rights reserved. -// - -#import -#import "EXPMatcher.h" -#import "EXPDefines.h" - -@interface EXPBlockDefinedMatcher : NSObject { - EXPBoolBlock prerequisiteBlock; - EXPBoolBlock matchBlock; - EXPStringBlock failureMessageForToBlock; - EXPStringBlock failureMessageForNotToBlock; -} - -@property(nonatomic, copy) EXPBoolBlock prerequisiteBlock; -@property(nonatomic, copy) EXPBoolBlock matchBlock; -@property(nonatomic, copy) EXPStringBlock failureMessageForToBlock; -@property(nonatomic, copy) EXPStringBlock failureMessageForNotToBlock; - -@end diff --git a/Sample/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.m b/Sample/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.m deleted file mode 100644 index 89bba37..0000000 --- a/Sample/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.m +++ /dev/null @@ -1,60 +0,0 @@ -// -// EXPRuntimeMatcher.m -// Expecta -// -// Created by Luke Redpath on 26/03/2012. -// Copyright (c) 2012 Peter Jihoon Kim. All rights reserved. -// - -#import "EXPBlockDefinedMatcher.h" - -@implementation EXPBlockDefinedMatcher - -- (void)dealloc -{ - self.prerequisiteBlock = nil; - self.matchBlock = nil; - self.failureMessageForToBlock = nil; - self.failureMessageForNotToBlock = nil; - - [super dealloc]; -} - -@synthesize prerequisiteBlock; -@synthesize matchBlock; -@synthesize failureMessageForToBlock; -@synthesize failureMessageForNotToBlock; - -- (BOOL)meetsPrerequesiteFor:(id)actual -{ - if (self.prerequisiteBlock) { - return self.prerequisiteBlock(); - } - return YES; -} - -- (BOOL)matches:(id)actual -{ - if (self.matchBlock) { - return self.matchBlock(); - } - return YES; -} - -- (NSString *)failureMessageForTo:(id)actual -{ - if (self.failureMessageForToBlock) { - return self.failureMessageForToBlock(); - } - return nil; -} - -- (NSString *)failureMessageForNotTo:(id)actual -{ - if (self.failureMessageForNotToBlock) { - return self.failureMessageForNotToBlock(); - } - return nil; -} - -@end diff --git a/Sample/Pods/Expecta/Expecta/EXPDefines.h b/Sample/Pods/Expecta/Expecta/EXPDefines.h deleted file mode 100644 index 52af721..0000000 --- a/Sample/Pods/Expecta/Expecta/EXPDefines.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// EXPDefines.h -// Expecta -// -// Created by Luke Redpath on 26/03/2012. -// Copyright (c) 2012 Peter Jihoon Kim. All rights reserved. -// - -#ifndef Expecta_EXPDefines_h -#define Expecta_EXPDefines_h - -typedef void (^EXPBasicBlock)(); -typedef id (^EXPIdBlock)(); -typedef BOOL (^EXPBoolBlock)(); -typedef NSString *(^EXPStringBlock)(); - -#endif diff --git a/Sample/Pods/Expecta/Expecta/EXPDoubleTuple.h b/Sample/Pods/Expecta/Expecta/EXPDoubleTuple.h deleted file mode 100644 index 4bd231c..0000000 --- a/Sample/Pods/Expecta/Expecta/EXPDoubleTuple.h +++ /dev/null @@ -1,13 +0,0 @@ -#import - -@interface EXPDoubleTuple : NSObject { - double *_values; - size_t _size; -} - -@property (nonatomic, assign) double *values; -@property (nonatomic, assign) size_t size; - -- (instancetype)initWithDoubleValues:(double *)values size:(size_t)size NS_DESIGNATED_INITIALIZER; - -@end diff --git a/Sample/Pods/Expecta/Expecta/EXPDoubleTuple.m b/Sample/Pods/Expecta/Expecta/EXPDoubleTuple.m deleted file mode 100644 index 9ebef50..0000000 --- a/Sample/Pods/Expecta/Expecta/EXPDoubleTuple.m +++ /dev/null @@ -1,45 +0,0 @@ -#import "EXPDoubleTuple.h" - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wobjc-designated-initializers" -@implementation EXPDoubleTuple -#pragma clang diagnostic pop - -@synthesize values = _values, size = _size; - -- (instancetype)initWithDoubleValues:(double *)values size:(size_t)size { - if ((self = [super init])) { - self.values = malloc(sizeof(double) * size); - memcpy(self.values, values, sizeof(double) * size); - self.size = size; - } - return self; -} - -- (void)dealloc { - free(self.values); - [super dealloc]; -} - -- (BOOL)isEqual:(id)object { - if (![object isKindOfClass:[EXPDoubleTuple class]]) return NO; - EXPDoubleTuple *other = (EXPDoubleTuple *)object; - if (self.size == other.size) { - for (int i = 0; i < self.size; ++i) { - if (self.values[i] != other.values[i]) return NO; - } - return YES; - } - return NO; -} - -- (NSString *)description { - if (self.size == 2) { - return [NSString stringWithFormat:@"Double tuple: {%f, %f}", self.values[0], self.values[1]]; - } else if (self.size == 4) { - return [NSString stringWithFormat:@"Double tuple: {%f, %f, %f, %f}", self.values[0], self.values[1], self.values[2], self.values[3]]; - } - return [NSString stringWithFormat:@"Double tuple of unexpected size %zd, sadly", self.size]; -} - -@end diff --git a/Sample/Pods/Expecta/Expecta/EXPExpect.h b/Sample/Pods/Expecta/Expecta/EXPExpect.h deleted file mode 100644 index 985c120..0000000 --- a/Sample/Pods/Expecta/Expecta/EXPExpect.h +++ /dev/null @@ -1,45 +0,0 @@ -#import -#import "EXPMatcher.h" -#import "EXPDefines.h" - -@interface EXPExpect : NSObject { - EXPIdBlock _actualBlock; - id _testCase; - int _lineNumber; - char *_fileName; - BOOL _negative; - BOOL _asynchronous; - NSTimeInterval _timeout; -} - -@property(nonatomic, copy) EXPIdBlock actualBlock; -@property(nonatomic, readonly) id actual; -@property(nonatomic, assign) id testCase; -@property(nonatomic) int lineNumber; -@property(nonatomic) const char *fileName; -@property(nonatomic) BOOL negative; -@property(nonatomic) BOOL asynchronous; -@property(nonatomic) NSTimeInterval timeout; - -@property(nonatomic, readonly) EXPExpect *to; -@property(nonatomic, readonly) EXPExpect *toNot; -@property(nonatomic, readonly) EXPExpect *notTo; -@property(nonatomic, readonly) EXPExpect *will; -@property(nonatomic, readonly) EXPExpect *willNot; -@property(nonatomic, readonly) EXPExpect *(^after)(NSTimeInterval timeInterval); - -- (instancetype)initWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName NS_DESIGNATED_INITIALIZER; -+ (EXPExpect *)expectWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName; - -- (void)applyMatcher:(id)matcher; -- (void)applyMatcher:(id)matcher to:(NSObject **)actual; - -@end - -@interface EXPDynamicPredicateMatcher : NSObject { - EXPExpect *_expectation; - SEL _selector; -} -- (instancetype)initWithExpectation:(EXPExpect *)expectation selector:(SEL)selector NS_DESIGNATED_INITIALIZER; -@property (nonatomic, readonly, copy) void (^dispatch)(void); -@end diff --git a/Sample/Pods/Expecta/Expecta/EXPExpect.m b/Sample/Pods/Expecta/Expecta/EXPExpect.m deleted file mode 100644 index 230e137..0000000 --- a/Sample/Pods/Expecta/Expecta/EXPExpect.m +++ /dev/null @@ -1,221 +0,0 @@ -#import "EXPExpect.h" -#import "NSObject+Expecta.h" -#import "Expecta.h" -#import "EXPUnsupportedObject.h" -#import "EXPMatcher.h" -#import "EXPBlockDefinedMatcher.h" -#import - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wobjc-designated-initializers" -@implementation EXPExpect -#pragma clang diagnostic pop - -@dynamic - actual, - to, - toNot, - notTo, - will, - willNot, - after; - -@synthesize - actualBlock=_actualBlock, - testCase=_testCase, - negative=_negative, - asynchronous=_asynchronous, - timeout=_timeout, - lineNumber=_lineNumber, - fileName=_fileName; - -- (instancetype)initWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName { - self = [super init]; - if(self) { - self.actualBlock = actualBlock; - self.testCase = testCase; - self.negative = NO; - self.asynchronous = NO; - self.timeout = [Expecta asynchronousTestTimeout]; - self.lineNumber = lineNumber; - self.fileName = fileName; - } - return self; -} - -- (void)dealloc -{ - [_actualBlock release]; - _actualBlock = nil; - [super dealloc]; -} - -+ (EXPExpect *)expectWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName { - return [[[EXPExpect alloc] initWithActualBlock:actualBlock testCase:(id)testCase lineNumber:lineNumber fileName:fileName] autorelease]; -} - -#pragma mark - - -- (EXPExpect *)to { - return self; -} - -- (EXPExpect *)toNot { - self.negative = !self.negative; - return self; -} - -- (EXPExpect *)notTo { - return [self toNot]; -} - -- (EXPExpect *)will { - self.asynchronous = YES; - return self; -} - -- (EXPExpect *)willNot { - return self.will.toNot; -} - -- (EXPExpect *(^)(NSTimeInterval))after -{ - EXPExpect * (^block)(NSTimeInterval) = [^EXPExpect *(NSTimeInterval timeout) { - self.asynchronous = YES; - self.timeout = timeout; - return self; - } copy]; - - return [block autorelease]; -} - -#pragma mark - - -- (id)actual { - if(self.actualBlock) { - return self.actualBlock(); - } - return nil; -} - -- (void)applyMatcher:(id)matcher -{ - id actual = [self actual]; - [self applyMatcher:matcher to:&actual]; -} - -- (void)applyMatcher:(id)matcher to:(NSObject **)actual { - if([*actual isKindOfClass:[EXPUnsupportedObject class]]) { - EXPFail(self.testCase, self.lineNumber, self.fileName, - [NSString stringWithFormat:@"expecting a %@ is not supported", ((EXPUnsupportedObject *)*actual).type]); - } else { - BOOL failed = NO; - if([matcher respondsToSelector:@selector(meetsPrerequesiteFor:)] && - ![matcher meetsPrerequesiteFor:*actual]) { - failed = YES; - } else { - BOOL matchResult = NO; - if(self.asynchronous) { - NSTimeInterval timeOut = self.timeout; - NSDate *expiryDate = [NSDate dateWithTimeIntervalSinceNow:timeOut]; - while(1) { - matchResult = [matcher matches:*actual]; - failed = self.negative ? matchResult : !matchResult; - if(!failed || ([(NSDate *)[NSDate date] compare:expiryDate] == NSOrderedDescending)) { - break; - } - [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]]; - OSMemoryBarrier(); - *actual = self.actual; - } - } else { - matchResult = [matcher matches:*actual]; - } - failed = self.negative ? matchResult : !matchResult; - } - if(failed) { - NSString *message = nil; - - if(self.negative) { - if ([matcher respondsToSelector:@selector(failureMessageForNotTo:)]) { - message = [matcher failureMessageForNotTo:*actual]; - } - } else { - if ([matcher respondsToSelector:@selector(failureMessageForTo:)]) { - message = [matcher failureMessageForTo:*actual]; - } - } - if (message == nil) { - message = @"Match Failed."; - } - - EXPFail(self.testCase, self.lineNumber, self.fileName, message); - } - } - self.negative = NO; -} - -#pragma mark - Dynamic predicate dispatch - -- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector -{ - if ([self.actual respondsToSelector:aSelector]) { - return [self.actual methodSignatureForSelector:aSelector]; - } - return [super methodSignatureForSelector:aSelector]; -} - -- (void)forwardInvocation:(NSInvocation *)anInvocation -{ - if ([self.actual respondsToSelector:anInvocation.selector]) { - EXPDynamicPredicateMatcher *matcher = [[EXPDynamicPredicateMatcher alloc] initWithExpectation:self selector:anInvocation.selector]; - [anInvocation setSelector:@selector(dispatch)]; - [anInvocation invokeWithTarget:matcher]; - [matcher release]; - } - else { - [super forwardInvocation:anInvocation]; - } -} - -@end - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wobjc-designated-initializers" -@implementation EXPDynamicPredicateMatcher -#pragma clang diagnostic pop - -- (instancetype)initWithExpectation:(EXPExpect *)expectation selector:(SEL)selector -{ - if ((self = [super init])) { - _expectation = expectation; - _selector = selector; - } - return self; -} - -- (BOOL)matches:(id)actual -{ - return (BOOL)[actual performSelector:_selector]; -} - -- (NSString *)failureMessageForTo:(id)actual -{ - return [NSString stringWithFormat:@"expected %@ to be true", NSStringFromSelector(_selector)]; -} - -- (NSString *)failureMessageForNotTo:(id)actual -{ - return [NSString stringWithFormat:@"expected %@ to be false", NSStringFromSelector(_selector)]; -} - -- (void (^)(void))dispatch -{ - __block id blockExpectation = _expectation; - - return [[^{ - [blockExpectation applyMatcher:self]; - } copy] autorelease]; -} - -@end diff --git a/Sample/Pods/Expecta/Expecta/EXPFloatTuple.h b/Sample/Pods/Expecta/Expecta/EXPFloatTuple.h deleted file mode 100644 index ea8ee81..0000000 --- a/Sample/Pods/Expecta/Expecta/EXPFloatTuple.h +++ /dev/null @@ -1,13 +0,0 @@ -#import - -@interface EXPFloatTuple : NSObject { - float *_values; - size_t _size; -} - -@property (nonatomic, assign) float *values; -@property (nonatomic, assign) size_t size; - -- (instancetype)initWithFloatValues:(float *)values size:(size_t)size NS_DESIGNATED_INITIALIZER; - -@end diff --git a/Sample/Pods/Expecta/Expecta/EXPFloatTuple.m b/Sample/Pods/Expecta/Expecta/EXPFloatTuple.m deleted file mode 100644 index b7ccf08..0000000 --- a/Sample/Pods/Expecta/Expecta/EXPFloatTuple.m +++ /dev/null @@ -1,55 +0,0 @@ -#import "EXPFloatTuple.h" - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wobjc-designated-initializers" -@implementation EXPFloatTuple -#pragma clang diagnostic pop - -@synthesize values = _values, size = _size; - -- (instancetype)initWithFloatValues:(float *)values size:(size_t)size { - if ((self = [super init])) { - self.values = malloc(sizeof(float) * size); - memcpy(self.values, values, sizeof(float) * size); - self.size = size; - } - return self; -} - -- (void)dealloc { - free(self.values); - [super dealloc]; -} - -- (BOOL)isEqual:(id)object { - if (![object isKindOfClass:[EXPFloatTuple class]]) return NO; - EXPFloatTuple *other = (EXPFloatTuple *)object; - if (self.size == other.size) { - for (int i = 0; i < self.size; ++i) { - if (self.values[i] != other.values[i]) return NO; - } - return YES; - } - return NO; -} - -- (NSUInteger)hash -{ - NSUInteger prime = 31; - NSUInteger hash = 0; - for (int i=0; i - -@protocol EXPMatcher - -- (BOOL)matches:(id)actual; - -@optional -- (BOOL)meetsPrerequesiteFor:(id)actual; -- (NSString *)failureMessageForTo:(id)actual; -- (NSString *)failureMessageForNotTo:(id)actual; - -@end diff --git a/Sample/Pods/Expecta/Expecta/EXPUnsupportedObject.h b/Sample/Pods/Expecta/Expecta/EXPUnsupportedObject.h deleted file mode 100644 index 3ad0561..0000000 --- a/Sample/Pods/Expecta/Expecta/EXPUnsupportedObject.h +++ /dev/null @@ -1,11 +0,0 @@ -#import - -@interface EXPUnsupportedObject : NSObject { - NSString *_type; -} - -@property (nonatomic, retain) NSString *type; - -- (instancetype)initWithType:(NSString *)type NS_DESIGNATED_INITIALIZER; - -@end diff --git a/Sample/Pods/Expecta/Expecta/EXPUnsupportedObject.m b/Sample/Pods/Expecta/Expecta/EXPUnsupportedObject.m deleted file mode 100644 index 3d062e3..0000000 --- a/Sample/Pods/Expecta/Expecta/EXPUnsupportedObject.m +++ /dev/null @@ -1,23 +0,0 @@ -#import "EXPUnsupportedObject.h" - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wobjc-designated-initializers" -@implementation EXPUnsupportedObject -#pragma clang diagnostic pop - -@synthesize type=_type; - -- (instancetype)initWithType:(NSString *)type { - self = [super init]; - if(self) { - self.type = type; - } - return self; -} - -- (void)dealloc { - self.type = nil; - [super dealloc]; -} - -@end diff --git a/Sample/Pods/Expecta/Expecta/Expecta.h b/Sample/Pods/Expecta/Expecta/Expecta.h deleted file mode 100644 index 066e988..0000000 --- a/Sample/Pods/Expecta/Expecta/Expecta.h +++ /dev/null @@ -1,15 +0,0 @@ -#import - -//! Project version number for Expecta. -FOUNDATION_EXPORT double ExpectaVersionNumber; - -//! Project version string for Expecta. -FOUNDATION_EXPORT const unsigned char ExpectaVersionString[]; - -#import -#import -#import - -// Enable shorthand by default -#define expect(...) EXP_expect((__VA_ARGS__)) -#define failure(...) EXP_failure((__VA_ARGS__)) diff --git a/Sample/Pods/Expecta/Expecta/ExpectaObject.h b/Sample/Pods/Expecta/Expecta/ExpectaObject.h deleted file mode 100644 index e4277a9..0000000 --- a/Sample/Pods/Expecta/Expecta/ExpectaObject.h +++ /dev/null @@ -1,18 +0,0 @@ -#import - -#define EXPObjectify(value) _EXPObjectify(@encode(__typeof__((value))), (value)) -#define EXP_expect(actual) _EXP_expect(self, __LINE__, __FILE__, ^id{ __typeof__((actual)) strongActual = (actual); return EXPObjectify(strongActual); }) -#define EXPMatcherInterface(matcherName, matcherArguments) _EXPMatcherInterface(matcherName, matcherArguments) -#define EXPMatcherImplementationBegin(matcherName, matcherArguments) _EXPMatcherImplementationBegin(matcherName, matcherArguments) -#define EXPMatcherImplementationEnd _EXPMatcherImplementationEnd -#define EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments) _EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments) - -#define EXP_failure(message) EXPFail(self, __LINE__, __FILE__, message) - - -@interface Expecta : NSObject - -+ (NSTimeInterval)asynchronousTestTimeout; -+ (void)setAsynchronousTestTimeout:(NSTimeInterval)timeout; - -@end diff --git a/Sample/Pods/Expecta/Expecta/ExpectaObject.m b/Sample/Pods/Expecta/Expecta/ExpectaObject.m deleted file mode 100644 index b51e00a..0000000 --- a/Sample/Pods/Expecta/Expecta/ExpectaObject.m +++ /dev/null @@ -1,15 +0,0 @@ -#import "ExpectaObject.h" - -@implementation Expecta - -static NSTimeInterval _asynchronousTestTimeout = 1.0; - -+ (NSTimeInterval)asynchronousTestTimeout { - return _asynchronousTestTimeout; -} - -+ (void)setAsynchronousTestTimeout:(NSTimeInterval)timeout { - _asynchronousTestTimeout = timeout; -} - -@end \ No newline at end of file diff --git a/Sample/Pods/Expecta/Expecta/ExpectaSupport.h b/Sample/Pods/Expecta/Expecta/ExpectaSupport.h deleted file mode 100644 index 28fc5e0..0000000 --- a/Sample/Pods/Expecta/Expecta/ExpectaSupport.h +++ /dev/null @@ -1,74 +0,0 @@ -#import "EXPExpect.h" -#import "EXPBlockDefinedMatcher.h" - -#ifdef __cplusplus -extern "C" { -#endif - -id _EXPObjectify(const char *type, ...); -EXPExpect *_EXP_expect(id testCase, int lineNumber, const char *fileName, EXPIdBlock actualBlock); - -void EXPFail(id testCase, int lineNumber, const char *fileName, NSString *message); -NSString *EXPDescribeObject(id obj); - -void EXP_prerequisite(EXPBoolBlock block); -void EXP_match(EXPBoolBlock block); -void EXP_failureMessageForTo(EXPStringBlock block); -void EXP_failureMessageForNotTo(EXPStringBlock block); - -#if __has_feature(objc_arc) -#define _EXP_release(x) -#define _EXP_autorelease(x) (x) - -#else -#define _EXP_release(x) [x release] -#define _EXP_autorelease(x) [x autorelease] -#endif - -// workaround for the categories bug: http://developer.apple.com/library/mac/#qa/qa1490/_index.html -#define EXPFixCategoriesBug(name) \ -__attribute__((constructor)) static void EXPFixCategoriesBug##name() {} - -#define _EXPMatcherInterface(matcherName, matcherArguments) \ -@interface EXPExpect (matcherName##Matcher) \ -@property (nonatomic, readonly) void(^ matcherName) matcherArguments; \ -@end - -#define _EXPMatcherImplementationBegin(matcherName, matcherArguments) \ -EXPFixCategoriesBug(EXPMatcher##matcherName##Matcher); \ -@implementation EXPExpect (matcherName##Matcher) \ -@dynamic matcherName;\ -- (void(^) matcherArguments) matcherName { \ - EXPBlockDefinedMatcher *matcher = [[EXPBlockDefinedMatcher alloc] init]; \ - [[[NSThread currentThread] threadDictionary] setObject:matcher forKey:@"EXP_currentMatcher"]; \ - __block id actual = self.actual; \ - __block void (^prerequisite)(EXPBoolBlock block) = ^(EXPBoolBlock block) { EXP_prerequisite(block); }; \ - __block void (^match)(EXPBoolBlock block) = ^(EXPBoolBlock block) { EXP_match(block); }; \ - __block void (^failureMessageForTo)(EXPStringBlock block) = ^(EXPStringBlock block) { EXP_failureMessageForTo(block); }; \ - __block void (^failureMessageForNotTo)(EXPStringBlock block) = ^(EXPStringBlock block) { EXP_failureMessageForNotTo(block); }; \ - prerequisite(nil); match(nil); failureMessageForTo(nil); failureMessageForNotTo(nil); \ - void (^matcherBlock) matcherArguments = [^ matcherArguments { \ - { - -#define _EXPMatcherImplementationEnd \ - } \ - [self applyMatcher:matcher to:&actual]; \ - [[[NSThread currentThread] threadDictionary] removeObjectForKey:@"EXP_currentMatcher"]; \ - } copy]; \ - _EXP_release(matcher); \ - return _EXP_autorelease(matcherBlock); \ -} \ -@end - -#define _EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments) \ -EXPFixCategoriesBug(EXPMatcher##newMatcherName##Matcher); \ -@implementation EXPExpect (newMatcherName##Matcher) \ -@dynamic newMatcherName;\ -- (void(^) matcherArguments) newMatcherName { \ - return [self oldMatcherName]; \ -}\ -@end - -#ifdef __cplusplus -} -#endif diff --git a/Sample/Pods/Expecta/Expecta/ExpectaSupport.m b/Sample/Pods/Expecta/Expecta/ExpectaSupport.m deleted file mode 100644 index 8abe415..0000000 --- a/Sample/Pods/Expecta/Expecta/ExpectaSupport.m +++ /dev/null @@ -1,176 +0,0 @@ -#import "ExpectaSupport.h" -#import "NSValue+Expecta.h" -#import "NSObject+Expecta.h" -#import "EXPUnsupportedObject.h" -#import "EXPFloatTuple.h" -#import "EXPDoubleTuple.h" -#import "EXPDefines.h" -#import - -@interface NSObject (ExpectaXCTestRecordFailure) - -// suppress warning -- (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)filename atLine:(NSUInteger)lineNumber expected:(BOOL)expected; - -@end - -id _EXPObjectify(const char *type, ...) { - va_list v; - va_start(v, type); - id obj = nil; - if(strcmp(type, @encode(char)) == 0) { - char actual = (char)va_arg(v, int); - obj = @(actual); - } else if(strcmp(type, @encode(_Bool)) == 0) { - _Static_assert(sizeof(_Bool) <= sizeof(int), "Expected _Bool to be subject to vararg type promotion"); - _Bool actual = (_Bool)va_arg(v, int); - obj = @(actual); - } else if(strcmp(type, @encode(double)) == 0) { - double actual = (double)va_arg(v, double); - obj = @(actual); - } else if(strcmp(type, @encode(float)) == 0) { - float actual = (float)va_arg(v, double); - obj = @(actual); - } else if(strcmp(type, @encode(int)) == 0) { - int actual = (int)va_arg(v, int); - obj = @(actual); - } else if(strcmp(type, @encode(long)) == 0) { - long actual = (long)va_arg(v, long); - obj = @(actual); - } else if(strcmp(type, @encode(long long)) == 0) { - long long actual = (long long)va_arg(v, long long); - obj = @(actual); - } else if(strcmp(type, @encode(short)) == 0) { - short actual = (short)va_arg(v, int); - obj = @(actual); - } else if(strcmp(type, @encode(unsigned char)) == 0) { - unsigned char actual = (unsigned char)va_arg(v, unsigned int); - obj = @(actual); - } else if(strcmp(type, @encode(unsigned int)) == 0) { - unsigned int actual = (int)va_arg(v, unsigned int); - obj = @(actual); - } else if(strcmp(type, @encode(unsigned long)) == 0) { - unsigned long actual = (unsigned long)va_arg(v, unsigned long); - obj = @(actual); - } else if(strcmp(type, @encode(unsigned long long)) == 0) { - unsigned long long actual = (unsigned long long)va_arg(v, unsigned long long); - obj = @(actual); - } else if(strcmp(type, @encode(unsigned short)) == 0) { - unsigned short actual = (unsigned short)va_arg(v, unsigned int); - obj = @(actual); - } else if(strstr(type, @encode(EXPBasicBlock)) != NULL) { - // @encode(EXPBasicBlock) returns @? as of clang 4.1. - // This condition must occur before the test for id/class type, - // otherwise blocks will be treated as vanilla objects. - id actual = va_arg(v, EXPBasicBlock); - obj = [[actual copy] autorelease]; - } else if((strstr(type, @encode(id)) != NULL) || (strstr(type, @encode(Class)) != 0)) { - id actual = va_arg(v, id); - obj = actual; - } else if(strcmp(type, @encode(__typeof__(nil))) == 0) { - obj = nil; - } else if(strstr(type, "ff}{") != NULL) { //TODO: of course this only works for a 2x2 e.g. CGRect - obj = [[[EXPFloatTuple alloc] initWithFloatValues:(float *)va_arg(v, float[4]) size:4] autorelease]; - } else if(strstr(type, "=ff}") != NULL) { - obj = [[[EXPFloatTuple alloc] initWithFloatValues:(float *)va_arg(v, float[2]) size:2] autorelease]; - } else if(strstr(type, "=ffff}") != NULL) { - obj = [[[EXPFloatTuple alloc] initWithFloatValues:(float *)va_arg(v, float[4]) size:4] autorelease]; - } else if(strstr(type, "dd}{") != NULL) { //TODO: same here - obj = [[[EXPDoubleTuple alloc] initWithDoubleValues:(double *)va_arg(v, double[4]) size:4] autorelease]; - } else if(strstr(type, "=dd}") != NULL) { - obj = [[[EXPDoubleTuple alloc] initWithDoubleValues:(double *)va_arg(v, double[2]) size:2] autorelease]; - } else if(strstr(type, "=dddd}") != NULL) { - obj = [[[EXPDoubleTuple alloc] initWithDoubleValues:(double *)va_arg(v, double[4]) size:4] autorelease]; - } else if(type[0] == '{') { - EXPUnsupportedObject *actual = [[[EXPUnsupportedObject alloc] initWithType:@"struct"] autorelease]; - obj = actual; - } else if(type[0] == '(') { - EXPUnsupportedObject *actual = [[[EXPUnsupportedObject alloc] initWithType:@"union"] autorelease]; - obj = actual; - } else { - void *actual = va_arg(v, void *); - obj = (actual == NULL ? nil :[NSValue valueWithPointer:actual]); - } - if([obj isKindOfClass:[NSValue class]] && ![obj isKindOfClass:[NSNumber class]]) { - [(NSValue *)obj set_EXP_objCType:type]; - } - va_end(v); - return obj; -} - -EXPExpect *_EXP_expect(id testCase, int lineNumber, const char *fileName, EXPIdBlock actualBlock) { - return [EXPExpect expectWithActualBlock:actualBlock testCase:testCase lineNumber:lineNumber fileName:fileName]; -} - -void EXPFail(id testCase, int lineNumber, const char *fileName, NSString *message) { - NSLog(@"%s:%d %@", fileName, lineNumber, message); - NSString *reason = [NSString stringWithFormat:@"%s:%d %@", fileName, lineNumber, message]; - NSException *exception = [NSException exceptionWithName:@"Expecta Error" reason:reason userInfo:nil]; - - if(testCase && [testCase respondsToSelector:@selector(recordFailureWithDescription:inFile:atLine:expected:)]){ - [testCase recordFailureWithDescription:message - inFile:@(fileName) - atLine:lineNumber - expected:NO]; - } else { - [exception raise]; - } -} - -NSString *EXPDescribeObject(id obj) { - if(obj == nil) { - return @"nil/null"; - } else if([obj isKindOfClass:[NSValue class]] && ![obj isKindOfClass:[NSNumber class]]) { - const char *type = [(NSValue *)obj _EXP_objCType]; - if(type) { - if(strcmp(type, @encode(SEL)) == 0) { - return [NSString stringWithFormat:@"@selector(%@)", NSStringFromSelector([obj pointerValue])]; - } else if(strcmp(type, @encode(Class)) == 0) { - return NSStringFromClass([obj pointerValue]); - } - } - } - NSString *description = [obj description]; - if([obj isKindOfClass:[NSArray class]]) { - NSMutableArray *arr = [NSMutableArray arrayWithCapacity:[obj count]]; - for(id o in obj) { - [arr addObject:EXPDescribeObject(o)]; - } - description = [NSString stringWithFormat:@"(%@)", [arr componentsJoinedByString:@", "]]; - } else if([obj isKindOfClass:[NSSet class]] || [obj isKindOfClass:[NSOrderedSet class]]) { - NSMutableArray *arr = [NSMutableArray arrayWithCapacity:[obj count]]; - for(id o in obj) { - [arr addObject:EXPDescribeObject(o)]; - } - description = [NSString stringWithFormat:@"{(%@)}", [arr componentsJoinedByString:@", "]]; - } else if([obj isKindOfClass:[NSDictionary class]]) { - NSMutableArray *arr = [NSMutableArray arrayWithCapacity:[obj count]]; - for(id k in obj) { - id v = obj[k]; - [arr addObject:[NSString stringWithFormat:@"%@ = %@;",EXPDescribeObject(k), EXPDescribeObject(v)]]; - } - description = [NSString stringWithFormat:@"{%@}", [arr componentsJoinedByString:@" "]]; - } else if([obj isKindOfClass:[NSAttributedString class]]) { - description = [obj string]; - } else { - description = [description stringByReplacingOccurrencesOfString:@"\n" withString:@"\\n"]; - } - return description; -} - -void EXP_prerequisite(EXPBoolBlock block) { - [[[NSThread currentThread] threadDictionary][@"EXP_currentMatcher"] setPrerequisiteBlock:block]; -} - -void EXP_match(EXPBoolBlock block) { - [[[NSThread currentThread] threadDictionary][@"EXP_currentMatcher"] setMatchBlock:block]; -} - -void EXP_failureMessageForTo(EXPStringBlock block) { - [[[NSThread currentThread] threadDictionary][@"EXP_currentMatcher"] setFailureMessageForToBlock:block]; -} - -void EXP_failureMessageForNotTo(EXPStringBlock block) { - [[[NSThread currentThread] threadDictionary][@"EXP_currentMatcher"] setFailureMessageForNotToBlock:block]; -} - diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.h deleted file mode 100644 index 5780ff6..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.h +++ /dev/null @@ -1,4 +0,0 @@ -#import - -BOOL EXPIsValuePointer(NSValue *value); -BOOL EXPIsNumberFloat(NSNumber *number); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.m deleted file mode 100644 index cec0343..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.m +++ /dev/null @@ -1,9 +0,0 @@ -#import "EXPMatcherHelpers.h" - -BOOL EXPIsValuePointer(NSValue *value) { - return [value objCType][0] == @encode(void *)[0]; -} - -BOOL EXPIsNumberFloat(NSNumber *number) { - return strcmp([number objCType], @encode(float)) == 0; -} diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h deleted file mode 100644 index f683d6b..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h +++ /dev/null @@ -1,7 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(_beCloseToWithin, (id expected, id within)); -EXPMatcherInterface(beCloseToWithin, (id expected, id within)); - -#define beCloseTo(expected) _beCloseToWithin(EXPObjectify((expected)), nil) -#define beCloseToWithin(expected, range) _beCloseToWithin(EXPObjectify((expected)), EXPObjectify((range))) diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.m deleted file mode 100644 index c55431a..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.m +++ /dev/null @@ -1,49 +0,0 @@ -#import "EXPMatchers+beCloseTo.h" -#import "EXPMatcherHelpers.h" - -EXPMatcherImplementationBegin(_beCloseToWithin, (id expected, id within)) { - prerequisite(^BOOL{ - return [actual isKindOfClass:[NSNumber class]] && - [expected isKindOfClass:[NSNumber class]] && - ([within isKindOfClass:[NSNumber class]] || (within == nil)); - }); - - match(^BOOL{ - double actualValue = [actual doubleValue]; - double expectedValue = [expected doubleValue]; - - if (within != nil) { - double withinValue = [within doubleValue]; - double lowerBound = expectedValue - withinValue; - double upperBound = expectedValue + withinValue; - return (actualValue >= lowerBound) && (actualValue <= upperBound); - } else { - double diff = fabs(actualValue - expectedValue); - actualValue = fabs(actualValue); - expectedValue = fabs(expectedValue); - double largest = (expectedValue > actualValue) ? expectedValue : actualValue; - return (diff <= largest * FLT_EPSILON); - } - }); - - failureMessageForTo(^NSString *{ - if (within) { - return [NSString stringWithFormat:@"expected %@ to be close to %@ within %@", - EXPDescribeObject(actual), EXPDescribeObject(expected), EXPDescribeObject(within)]; - } else { - return [NSString stringWithFormat:@"expected %@ to be close to %@", - EXPDescribeObject(actual), EXPDescribeObject(expected)]; - } - }); - - failureMessageForNotTo(^NSString *{ - if (within) { - return [NSString stringWithFormat:@"expected %@ not to be close to %@ within %@", - EXPDescribeObject(actual), EXPDescribeObject(expected), EXPDescribeObject(within)]; - } else { - return [NSString stringWithFormat:@"expected %@ not to be close to %@", - EXPDescribeObject(actual), EXPDescribeObject(expected)]; - } - }); -} -EXPMatcherImplementationEnd \ No newline at end of file diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h deleted file mode 100644 index 89c8e00..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h +++ /dev/null @@ -1,3 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(beFalsy, (void)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.m deleted file mode 100644 index 382cab8..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.m +++ /dev/null @@ -1,24 +0,0 @@ -#import "EXPMatchers+beFalsy.h" -#import "EXPMatcherHelpers.h" - -EXPMatcherImplementationBegin(beFalsy, (void)) { - match(^BOOL{ - if([actual isKindOfClass:[NSNumber class]]) { - return ![(NSNumber *)actual boolValue]; - } else if([actual isKindOfClass:[NSValue class]]) { - if(EXPIsValuePointer((NSValue *)actual)) { - return ![(NSValue *)actual pointerValue]; - } - } - return !actual; - }); - - failureMessageForTo(^NSString *{ - return [NSString stringWithFormat:@"expected: a falsy value, got: %@, which is truthy", EXPDescribeObject(actual)]; - }); - - failureMessageForNotTo(^NSString *{ - return [NSString stringWithFormat:@"expected: a non-falsy value, got: %@, which is falsy", EXPDescribeObject(actual)]; - }); -} -EXPMatcherImplementationEnd diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h deleted file mode 100644 index a2f9fba..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h +++ /dev/null @@ -1,6 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(_beGreaterThan, (id expected)); -EXPMatcherInterface(beGreaterThan, (id expected)); - -#define beGreaterThan(expected) _beGreaterThan(EXPObjectify((expected))) diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.m deleted file mode 100644 index d725387..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.m +++ /dev/null @@ -1,20 +0,0 @@ -#import "EXPMatchers+beGreaterThan.h" -#import "EXPMatcherHelpers.h" - -EXPMatcherImplementationBegin(_beGreaterThan, (id expected)) { - match(^BOOL{ - if ([actual respondsToSelector:@selector(compare:)]) { - return [actual compare:expected] == NSOrderedDescending; - } - return NO; - }); - - failureMessageForTo(^NSString *{ - return [NSString stringWithFormat:@"expected: %@ to be greater than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; - }); - - failureMessageForNotTo(^NSString *{ - return [NSString stringWithFormat:@"expected: %@ not to be greater than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; - }); -} -EXPMatcherImplementationEnd \ No newline at end of file diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h deleted file mode 100644 index 3e91c64..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h +++ /dev/null @@ -1,6 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(_beGreaterThanOrEqualTo, (id expected)); -EXPMatcherInterface(beGreaterThanOrEqualTo, (id expected)); - -#define beGreaterThanOrEqualTo(expected) _beGreaterThanOrEqualTo(EXPObjectify((expected))) diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m deleted file mode 100644 index 3276344..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m +++ /dev/null @@ -1,20 +0,0 @@ -#import "EXPMatchers+beGreaterThanOrEqualTo.h" -#import "EXPMatcherHelpers.h" - -EXPMatcherImplementationBegin(_beGreaterThanOrEqualTo, (id expected)) { - match(^BOOL{ - if ([actual respondsToSelector:@selector(compare:)]) { - return [actual compare:expected] != NSOrderedAscending; - } - return NO; - }); - - failureMessageForTo(^NSString *{ - return [NSString stringWithFormat:@"expected: %@ to be greater than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; - }); - - failureMessageForNotTo(^NSString *{ - return [NSString stringWithFormat:@"expected: %@ not to be greater than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; - }); -} -EXPMatcherImplementationEnd \ No newline at end of file diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h deleted file mode 100644 index d13619f..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h +++ /dev/null @@ -1,10 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(_beIdenticalTo, (void *expected)); -EXPMatcherInterface(beIdenticalTo, (void *expected)); // to aid code completion - -#if __has_feature(objc_arc) -#define beIdenticalTo(expected) _beIdenticalTo((__bridge void*)expected) -#else -#define beIdenticalTo(expected) _beIdenticalTo(expected) -#endif diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.m deleted file mode 100644 index b62b0fe..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.m +++ /dev/null @@ -1,24 +0,0 @@ -#import "EXPMatchers+equal.h" -#import "EXPMatcherHelpers.h" - -EXPMatcherImplementationBegin(_beIdenticalTo, (void *expected)) { - match(^BOOL{ - if(actual == expected) { - return YES; - } else if([actual isKindOfClass:[NSValue class]] && EXPIsValuePointer((NSValue *)actual)) { - if([(NSValue *)actual pointerValue] == expected) { - return YES; - } - } - return NO; - }); - - failureMessageForTo(^NSString *{ - return [NSString stringWithFormat:@"expected: <%p>, got: <%p>", expected, actual]; - }); - - failureMessageForNotTo(^NSString *{ - return [NSString stringWithFormat:@"expected: not <%p>, got: <%p>", expected, actual]; - }); -} -EXPMatcherImplementationEnd diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h deleted file mode 100644 index 8ea990e..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h +++ /dev/null @@ -1,6 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(_beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound)); -EXPMatcherInterface(beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound)); - -#define beInTheRangeOf(expectedLowerBound, expectedUpperBound) _beInTheRangeOf(EXPObjectify((expectedLowerBound)), EXPObjectify((expectedUpperBound))) diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.m deleted file mode 100644 index 1631f24..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.m +++ /dev/null @@ -1,30 +0,0 @@ -#import "EXPMatchers+beInTheRangeOf.h" -#import "EXPMatcherHelpers.h" - -EXPMatcherImplementationBegin(_beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound)) { - match(^BOOL{ - if ([actual respondsToSelector:@selector(compare:)]) { - NSComparisonResult compareLowerBound = [expectedLowerBound compare: actual]; - NSComparisonResult compareUpperBound = [expectedUpperBound compare: actual]; - if (compareLowerBound == NSOrderedSame) { - return YES; - } - if (compareUpperBound == NSOrderedSame) { - return YES; - } - if ((compareLowerBound == NSOrderedAscending) && (compareUpperBound == NSOrderedDescending)) { - return YES; - } - } - return NO; - }); - - failureMessageForTo(^NSString *{ - return [NSString stringWithFormat:@"expected: %@ to be in the range [%@, %@] (inclusive)", EXPDescribeObject(actual), EXPDescribeObject(expectedLowerBound), EXPDescribeObject(expectedUpperBound)]; - }); - - failureMessageForNotTo(^NSString *{ - return [NSString stringWithFormat:@"expected: %@ not to be in the range [%@, %@] (inclusive)", EXPDescribeObject(actual), EXPDescribeObject(expectedLowerBound), EXPDescribeObject(expectedUpperBound)]; - }); -} -EXPMatcherImplementationEnd \ No newline at end of file diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h deleted file mode 100644 index a8e8175..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h +++ /dev/null @@ -1,6 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(beInstanceOf, (Class expected)); -EXPMatcherInterface(beAnInstanceOf, (Class expected)); -EXPMatcherInterface(beMemberOf, (Class expected)); -EXPMatcherInterface(beAMemberOf, (Class expected)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.m deleted file mode 100644 index 9535e1e..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.m +++ /dev/null @@ -1,31 +0,0 @@ -#import "EXPMatchers+beInstanceOf.h" - -EXPMatcherImplementationBegin(beInstanceOf, (Class expected)) { - BOOL actualIsNil = (actual == nil); - BOOL expectedIsNil = (expected == nil); - - prerequisite(^BOOL{ - return !(actualIsNil || expectedIsNil); - }); - - match(^BOOL{ - return [actual isMemberOfClass:expected]; - }); - - failureMessageForTo(^NSString *{ - if(actualIsNil) return @"the actual value is nil/null"; - if(expectedIsNil) return @"the expected value is nil/null"; - return [NSString stringWithFormat:@"expected: an instance of %@, got: an instance of %@", [expected class], [actual class]]; - }); - - failureMessageForNotTo(^NSString *{ - if(actualIsNil) return @"the actual value is nil/null"; - if(expectedIsNil) return @"the expected value is nil/null"; - return [NSString stringWithFormat:@"expected: not an instance of %@, got: an instance of %@", [expected class], [actual class]]; - }); -} -EXPMatcherImplementationEnd - -EXPMatcherAliasImplementation(beAnInstanceOf, beInstanceOf, (Class expected)); -EXPMatcherAliasImplementation(beMemberOf, beInstanceOf, (Class expected)); -EXPMatcherAliasImplementation(beAMemberOf, beInstanceOf, (Class expected)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h deleted file mode 100644 index b8623e0..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h +++ /dev/null @@ -1,4 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(beKindOf, (Class expected)); -EXPMatcherInterface(beAKindOf, (Class expected)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.m deleted file mode 100644 index f13ffb5..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.m +++ /dev/null @@ -1,29 +0,0 @@ -#import "EXPMatchers+beKindOf.h" - -EXPMatcherImplementationBegin(beKindOf, (Class expected)) { - BOOL actualIsNil = (actual == nil); - BOOL expectedIsNil = (expected == nil); - - prerequisite(^BOOL{ - return !(actualIsNil || expectedIsNil); - }); - - match(^BOOL{ - return [actual isKindOfClass:expected]; - }); - - failureMessageForTo(^NSString *{ - if(actualIsNil) return @"the actual value is nil/null"; - if(expectedIsNil) return @"the expected value is nil/null"; - return [NSString stringWithFormat:@"expected: a kind of %@, got: an instance of %@, which is not a kind of %@", [expected class], [actual class], [expected class]]; - }); - - failureMessageForNotTo(^NSString *{ - if(actualIsNil) return @"the actual value is nil/null"; - if(expectedIsNil) return @"the expected value is nil/null"; - return [NSString stringWithFormat:@"expected: not a kind of %@, got: an instance of %@, which is a kind of %@", [expected class], [actual class], [expected class]]; - }); -} -EXPMatcherImplementationEnd - -EXPMatcherAliasImplementation(beAKindOf, beKindOf, (Class expected)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h deleted file mode 100644 index 5ed0a24..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h +++ /dev/null @@ -1,6 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(_beLessThan, (id expected)); -EXPMatcherInterface(beLessThan, (id expected)); - -#define beLessThan(expected) _beLessThan(EXPObjectify((expected))) diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.m deleted file mode 100644 index 39b6883..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.m +++ /dev/null @@ -1,20 +0,0 @@ -#import "EXPMatchers+beLessThan.h" -#import "EXPMatcherHelpers.h" - -EXPMatcherImplementationBegin(_beLessThan, (id expected)) { - match(^BOOL{ - if ([actual respondsToSelector:@selector(compare:)]) { - return [actual compare:expected] == NSOrderedAscending; - } - return NO; - }); - - failureMessageForTo(^NSString *{ - return [NSString stringWithFormat:@"expected: %@ to be less than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; - }); - - failureMessageForNotTo(^NSString *{ - return [NSString stringWithFormat:@"expected: %@ not to be less than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; - }); -} -EXPMatcherImplementationEnd \ No newline at end of file diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h deleted file mode 100644 index 2c31341..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h +++ /dev/null @@ -1,6 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(_beLessThanOrEqualTo, (id expected)); -EXPMatcherInterface(beLessThanOrEqualTo, (id expected)); - -#define beLessThanOrEqualTo(expected) _beLessThanOrEqualTo(EXPObjectify((expected))) diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m deleted file mode 100644 index 401c194..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m +++ /dev/null @@ -1,20 +0,0 @@ -#import "EXPMatchers+beLessThanOrEqualTo.h" -#import "EXPMatcherHelpers.h" - -EXPMatcherImplementationBegin(_beLessThanOrEqualTo, (id expected)) { - match(^BOOL{ - if ([actual respondsToSelector:@selector(compare:)]) { - return [actual compare:expected] != NSOrderedDescending; - } - return NO; - }); - - failureMessageForTo(^NSString *{ - return [NSString stringWithFormat:@"expected: %@ to be less than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; - }); - - failureMessageForNotTo(^NSString *{ - return [NSString stringWithFormat:@"expected: %@ not to be less than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; - }); -} -EXPMatcherImplementationEnd \ No newline at end of file diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.h deleted file mode 100644 index 6d78162..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.h +++ /dev/null @@ -1,4 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(beNil, (void)); -EXPMatcherInterface(beNull, (void)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.m deleted file mode 100644 index 161067f..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.m +++ /dev/null @@ -1,18 +0,0 @@ -#import "EXPMatchers+beNil.h" - -EXPMatcherImplementationBegin(beNil, (void)) { - match(^BOOL{ - return actual == nil; - }); - - failureMessageForTo(^NSString *{ - return [NSString stringWithFormat:@"expected: nil/null, got: %@", EXPDescribeObject(actual)]; - }); - - failureMessageForNotTo(^NSString *{ - return [NSString stringWithFormat:@"expected: not nil/null, got: %@", EXPDescribeObject(actual)]; - }); -} -EXPMatcherImplementationEnd - -EXPMatcherAliasImplementation(beNull, beNil, (void)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h deleted file mode 100644 index 65401c5..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h +++ /dev/null @@ -1,4 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(beSubclassOf, (Class expected)); -EXPMatcherInterface(beASubclassOf, (Class expected)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.m deleted file mode 100644 index d4976d5..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.m +++ /dev/null @@ -1,29 +0,0 @@ -#import "EXPMatchers+beSubclassOf.h" -#import "NSValue+Expecta.h" -#import - -EXPMatcherImplementationBegin(beSubclassOf, (Class expected)) { - __block BOOL actualIsClass = YES; - - prerequisite(^BOOL { - actualIsClass = class_isMetaClass(object_getClass(actual)); - return actualIsClass; - }); - - match(^BOOL{ - return [actual isSubclassOfClass:expected]; - }); - - failureMessageForTo(^NSString *{ - if(!actualIsClass) return @"the actual value is not a Class"; - return [NSString stringWithFormat:@"expected: a subclass of %@, got: a class %@, which is not a subclass of %@", [expected class], actual, [expected class]]; - }); - - failureMessageForNotTo(^NSString *{ - if(!actualIsClass) return @"the actual value is not a Class"; - return [NSString stringWithFormat:@"expected: not a subclass of %@, got: a class %@, which is a subclass of %@", [expected class], actual, [expected class]]; - }); -} -EXPMatcherImplementationEnd - -EXPMatcherAliasImplementation(beASubclassOf, beSubclassOf, (Class expected)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h deleted file mode 100644 index f9a47ba..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h +++ /dev/null @@ -1,4 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(beSupersetOf, (id subset)); - diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.m deleted file mode 100644 index f4d05c0..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.m +++ /dev/null @@ -1,62 +0,0 @@ -#import "EXPMatchers+contain.h" - -EXPMatcherImplementationBegin(beSupersetOf, (id subset)) { - BOOL actualIsCompatible = [actual isKindOfClass:[NSDictionary class]] || [actual respondsToSelector:@selector(containsObject:)]; - BOOL subsetIsNil = (subset == nil); - - // For some instances the isKindOfClass: method returns false, even though - // they are both actually dictionaries. e.g. Comparing a NSCFDictionary and a - // NSDictionary. - // Or in cases when you compare NSMutableArray (which implementation is __NSArrayM:NSMutableArray:NSArray) - // and NSArray (which implementation is __NSArrayI:NSArray) - BOOL bothAreIdenticalCollectionClasses = ([actual isKindOfClass:[NSDictionary class]] && [subset isKindOfClass:[NSDictionary class]]) || - ([actual isKindOfClass:[NSArray class]] && [subset isKindOfClass:[NSArray class]]) || - ([actual isKindOfClass:[NSSet class]] && [subset isKindOfClass:[NSSet class]]) || - ([actual isKindOfClass:[NSOrderedSet class]] && [subset isKindOfClass:[NSOrderedSet class]]); - - BOOL classMatches = bothAreIdenticalCollectionClasses || [subset isKindOfClass:[actual class]]; - - prerequisite(^BOOL{ - return actualIsCompatible && !subsetIsNil && classMatches; - }); - - match(^BOOL{ - if(!actualIsCompatible) return NO; - - if([actual isKindOfClass:[NSDictionary class]]) { - for (id key in subset) { - id actualValue = [actual valueForKey:key]; - id subsetValue = [subset valueForKey:key]; - - if (![subsetValue isEqual:actualValue]) return NO; - } - } else { - for (id object in subset) { - if (![actual containsObject:object]) return NO; - } - } - - return YES; - }); - - failureMessageForTo(^NSString *{ - if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSDictionary and does not implement -containsObject:", EXPDescribeObject(actual)]; - - if(subsetIsNil) return @"the expected value is nil/null"; - - if(!classMatches) return [NSString stringWithFormat:@"%@ does not match the class of %@", EXPDescribeObject(subset), EXPDescribeObject(actual)]; - - return [NSString stringWithFormat:@"expected %@ to be a superset of %@", EXPDescribeObject(actual), EXPDescribeObject(subset)]; - }); - - failureMessageForNotTo(^NSString *{ - if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSDictionary and does not implement -containsObject:", EXPDescribeObject(actual)]; - - if(subsetIsNil) return @"the expected value is nil/null"; - - if(!classMatches) return [NSString stringWithFormat:@"%@ does not match the class of %@", EXPDescribeObject(subset), EXPDescribeObject(actual)]; - - return [NSString stringWithFormat:@"expected %@ not to be a superset of %@", EXPDescribeObject(actual), EXPDescribeObject(subset)]; - }); -} -EXPMatcherImplementationEnd diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h deleted file mode 100644 index 1e4e78f..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h +++ /dev/null @@ -1,3 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(beTruthy, (void)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.m deleted file mode 100644 index 02fa6e7..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.m +++ /dev/null @@ -1,24 +0,0 @@ -#import "EXPMatchers+beTruthy.h" -#import "EXPMatcherHelpers.h" - -EXPMatcherImplementationBegin(beTruthy, (void)) { - match(^BOOL{ - if([actual isKindOfClass:[NSNumber class]]) { - return !![(NSNumber *)actual boolValue]; - } else if([actual isKindOfClass:[NSValue class]]) { - if(EXPIsValuePointer((NSValue *)actual)) { - return !![(NSValue *)actual pointerValue]; - } - } - return !!actual; - }); - - failureMessageForTo(^NSString *{ - return [NSString stringWithFormat:@"expected: a truthy value, got: %@, which is falsy", EXPDescribeObject(actual)]; - }); - - failureMessageForNotTo(^NSString *{ - return [NSString stringWithFormat:@"expected: a non-truthy value, got: %@, which is truthy", EXPDescribeObject(actual)]; - }); -} -EXPMatcherImplementationEnd diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.h deleted file mode 100644 index 07ddd6c..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.h +++ /dev/null @@ -1,4 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(beginWith, (id expected)); -EXPMatcherInterface(startWith, (id expected)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.m deleted file mode 100644 index a7c9e59..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.m +++ /dev/null @@ -1,51 +0,0 @@ -#import "EXPMatchers+beginWith.h" - -EXPMatcherImplementationBegin(beginWith, (id expected)) { - BOOL actualIsNil = (actual == nil); - BOOL expectedIsNil = (expected == nil); - //This condition allows the comparison of an immutable string or ordered collection to the mutable type of the same - BOOL actualAndExpectedAreCompatible = (([actual isKindOfClass:[NSString class]] && [expected isKindOfClass:[NSString class]]) - || ([actual isKindOfClass:[NSArray class]] && [expected isKindOfClass:[NSArray class]]) - || ([actual isKindOfClass:[NSOrderedSet class]] && [expected isKindOfClass:[NSOrderedSet class]])); - - prerequisite(^BOOL { - return actualAndExpectedAreCompatible; - }); - - match(^BOOL { - if ([actual isKindOfClass:[NSString class]]) { - return [actual hasPrefix:expected]; - } else if ([actual isKindOfClass:[NSArray class]]) { - if ([expected count] > [actual count] || [expected count] == 0) { - return NO; - } - NSArray *subArray = [actual subarrayWithRange:NSMakeRange(0, [expected count])]; - return [subArray isEqualToArray:expected]; - } else { - if ([expected count] > [actual count] || [expected count] == 0) { - return NO; - } - - NSOrderedSet *subset = [NSOrderedSet orderedSetWithOrderedSet:actual range:NSMakeRange(0, [expected count]) copyItems:NO]; - return [subset isEqualToOrderedSet:expected]; - } - }); - - failureMessageForTo(^NSString *{ - if (actualIsNil) return @"the object is nil/null"; - if (expectedIsNil) return @"the expected value is nil/null"; - if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]]; - return [NSString stringWithFormat:@"expected: %@ to begin with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; - }); - - failureMessageForNotTo(^NSString *{ - if (actualIsNil) return @"the object is nil/null"; - if (expectedIsNil) return @"the expected value is nil/null"; - if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]]; - - return [NSString stringWithFormat:@"expected: %@ not to begin with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; - }); -} -EXPMatcherImplementationEnd - -EXPMatcherAliasImplementation(startWith, beginWith, (id expected)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.h deleted file mode 100644 index efc7b98..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.h +++ /dev/null @@ -1,3 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(conformTo, (Protocol *expected)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.m deleted file mode 100644 index b88014d..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.m +++ /dev/null @@ -1,33 +0,0 @@ -#import "EXPMatchers+conformTo.h" -#import "NSValue+Expecta.h" -#import - -EXPMatcherImplementationBegin(conformTo, (Protocol *expected)) { - BOOL actualIsNil = (actual == nil); - BOOL expectedIsNil = (expected == nil); - - prerequisite(^BOOL{ - return !(actualIsNil || expectedIsNil); - }); - - match(^BOOL{ - return [actual conformsToProtocol:expected]; - }); - - failureMessageForTo(^NSString *{ - if(actualIsNil) return @"the object is nil/null"; - if(expectedIsNil) return @"the protocol is nil/null"; - - NSString *name = NSStringFromProtocol(expected); - return [NSString stringWithFormat:@"expected: %@ to conform to %@", actual, name]; - }); - - failureMessageForNotTo(^NSString *{ - if(actualIsNil) return @"the object is nil/null"; - if(expectedIsNil) return @"the protocol is nil/null"; - - NSString *name = NSStringFromProtocol(expected); - return [NSString stringWithFormat:@"expected: %@ not to conform to %@", actual, name]; - }); -} -EXPMatcherImplementationEnd diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.h deleted file mode 100644 index 5803146..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.h +++ /dev/null @@ -1,5 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(_contain, (id expected)); -EXPMatcherInterface(contain, (id expected)); // to aid code completion -#define contain(expected) _contain(EXPObjectify((expected))) diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.m deleted file mode 100644 index b8a6f86..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.m +++ /dev/null @@ -1,38 +0,0 @@ -#import "EXPMatchers+contain.h" - -EXPMatcherImplementationBegin(_contain, (id expected)) { - BOOL actualIsCompatible = [actual isKindOfClass:[NSString class]] || [actual conformsToProtocol:@protocol(NSFastEnumeration)]; - BOOL expectedIsNil = (expected == nil); - - prerequisite(^BOOL{ - return actualIsCompatible && !expectedIsNil; - }); - - match(^BOOL{ - if(actualIsCompatible) { - if([actual isKindOfClass:[NSString class]]) { - return [(NSString *)actual rangeOfString:[expected description]].location != NSNotFound; - } else { - for (id object in actual) { - if ([object isEqual:expected]) { - return YES; - } - } - } - } - return NO; - }); - - failureMessageForTo(^NSString *{ - if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString or NSFastEnumeration", EXPDescribeObject(actual)]; - if(expectedIsNil) return @"the expected value is nil/null"; - return [NSString stringWithFormat:@"expected %@ to contain %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; - }); - - failureMessageForNotTo(^NSString *{ - if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString or NSFastEnumeration", EXPDescribeObject(actual)]; - if(expectedIsNil) return @"the expected value is nil/null"; - return [NSString stringWithFormat:@"expected %@ not to contain %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; - }); -} -EXPMatcherImplementationEnd diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.h deleted file mode 100644 index 228cea9..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.h +++ /dev/null @@ -1,3 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(endWith, (id expected)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.m deleted file mode 100644 index f34bd90..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.m +++ /dev/null @@ -1,49 +0,0 @@ -#import "EXPMatchers+endWith.h" - -EXPMatcherImplementationBegin(endWith, (id expected)) { - BOOL actualIsNil = (actual == nil); - BOOL expectedIsNil = (expected == nil); - //This condition allows the comparison of an immutable string or ordered collection to the mutable type of the same - BOOL actualAndExpectedAreCompatible = (([actual isKindOfClass:[NSString class]] && [expected isKindOfClass:[NSString class]]) - || ([actual isKindOfClass:[NSArray class]] && [expected isKindOfClass:[NSArray class]]) - || ([actual isKindOfClass:[NSOrderedSet class]] && [expected isKindOfClass:[NSOrderedSet class]])); - - prerequisite(^BOOL { - return actualAndExpectedAreCompatible; - }); - - match(^BOOL { - if ([actual isKindOfClass:[NSString class]]) { - return [actual hasSuffix:expected]; - } else if ([actual isKindOfClass:[NSArray class]]) { - if ([expected count] > [actual count] || [expected count] == 0) { - return NO; - } - NSArray *subArray = [actual subarrayWithRange:NSMakeRange([actual count] - [expected count], [expected count])]; - return [subArray isEqualToArray:expected]; - } else { - if ([expected count] > [actual count] || [expected count] == 0) { - return NO; - } - - NSOrderedSet *subset = [NSOrderedSet orderedSetWithOrderedSet:actual range:NSMakeRange([actual count] - [expected count], [expected count]) copyItems:NO]; - return [subset isEqualToOrderedSet:expected]; - } - }); - - failureMessageForTo(^NSString *{ - if (actualIsNil) return @"the object is nil/null"; - if (expectedIsNil) return @"the expected value is nil/null"; - if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]]; - return [NSString stringWithFormat:@"expected: %@ to end with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; - }); - - failureMessageForNotTo(^NSString *{ - if (actualIsNil) return @"the object is nil/null"; - if (expectedIsNil) return @"the expected value is nil/null"; - if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]]; - - return [NSString stringWithFormat:@"expected: %@ not to end with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; - }); -} -EXPMatcherImplementationEnd diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.h deleted file mode 100644 index b4047c0..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.h +++ /dev/null @@ -1,5 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(_equal, (id expected)); -EXPMatcherInterface(equal, (id expected)); // to aid code completion -#define equal(...) _equal(EXPObjectify((__VA_ARGS__))) diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.m deleted file mode 100644 index 0dc4d33..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.m +++ /dev/null @@ -1,38 +0,0 @@ -#import "EXPMatchers+equal.h" -#import "EXPMatcherHelpers.h" - -EXPMatcherImplementationBegin(_equal, (id expected)) { - match(^BOOL{ - if((actual == expected) || [actual isEqual:expected]) { - return YES; - } else if([actual isKindOfClass:[NSNumber class]] && [expected isKindOfClass:[NSNumber class]]) { - if([actual isKindOfClass:[NSDecimalNumber class]] || [expected isKindOfClass:[NSDecimalNumber class]]) { - NSDecimalNumber *actualDecimalNumber = [NSDecimalNumber decimalNumberWithDecimal:[(NSNumber *) actual decimalValue]]; - NSDecimalNumber *expectedDecimalNumber = [NSDecimalNumber decimalNumberWithDecimal:[(NSNumber *) expected decimalValue]]; - return [actualDecimalNumber isEqualToNumber:expectedDecimalNumber]; - } - else { - if(EXPIsNumberFloat((NSNumber *)actual) || EXPIsNumberFloat((NSNumber *)expected)) { - return [(NSNumber *)actual floatValue] == [(NSNumber *)expected floatValue]; - } - } - } - return NO; - }); - - failureMessageForTo(^NSString *{ - NSString *expectedDescription = EXPDescribeObject(expected); - NSString *actualDescription = EXPDescribeObject(actual); - - if (![expectedDescription isEqualToString:actualDescription]) { - return [NSString stringWithFormat:@"expected: %@, got: %@", EXPDescribeObject(expected), EXPDescribeObject(actual)]; - } else { - return [NSString stringWithFormat:@"expected (%@): %@, got (%@): %@", NSStringFromClass([expected class]), EXPDescribeObject(expected), NSStringFromClass([actual class]), EXPDescribeObject(actual)]; - } - }); - - failureMessageForNotTo(^NSString *{ - return [NSString stringWithFormat:@"expected: not %@, got: %@", EXPDescribeObject(expected), EXPDescribeObject(actual)]; - }); -} -EXPMatcherImplementationEnd diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h deleted file mode 100644 index 2e9aef5..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h +++ /dev/null @@ -1,10 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(haveCountOf, (NSUInteger expected)); -EXPMatcherInterface(haveCount, (NSUInteger expected)); -EXPMatcherInterface(haveACountOf, (NSUInteger expected)); -EXPMatcherInterface(haveLength, (NSUInteger expected)); -EXPMatcherInterface(haveLengthOf, (NSUInteger expected)); -EXPMatcherInterface(haveALengthOf, (NSUInteger expected)); - -#define beEmpty() haveCountOf(0) diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.m deleted file mode 100644 index ecc4831..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.m +++ /dev/null @@ -1,42 +0,0 @@ -#import "EXPMatchers+haveCountOf.h" - -EXPMatcherImplementationBegin(haveCountOf, (NSUInteger expected)) { - BOOL actualIsStringy = [actual isKindOfClass:[NSString class]] || [actual isKindOfClass:[NSAttributedString class]]; - BOOL actualIsCompatible = actualIsStringy || [actual respondsToSelector:@selector(count)]; - - prerequisite(^BOOL{ - return actualIsCompatible; - }); - - NSUInteger (^count)(id) = ^(id actual) { - if(actualIsStringy) { - return [actual length]; - } else { - return [actual count]; - } - }; - - match(^BOOL{ - if(actualIsCompatible) { - return count(actual) == expected; - } - return NO; - }); - - failureMessageForTo(^NSString *{ - if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString, NSAttributedString, NSArray, NSSet, NSOrderedSet, or NSDictionary", EXPDescribeObject(actual)]; - return [NSString stringWithFormat:@"expected %@ to have a count of %zi but got %zi", EXPDescribeObject(actual), expected, count(actual)]; - }); - - failureMessageForNotTo(^NSString *{ - if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString, NSAttributedString, NSArray, NSSet, NSOrderedSet, or NSDictionary", EXPDescribeObject(actual)]; - return [NSString stringWithFormat:@"expected %@ not to have a count of %zi", EXPDescribeObject(actual), expected]; - }); -} -EXPMatcherImplementationEnd - -EXPMatcherAliasImplementation(haveCount, haveCountOf, (NSUInteger expected)); -EXPMatcherAliasImplementation(haveACountOf, haveCountOf, (NSUInteger expected)); -EXPMatcherAliasImplementation(haveLength, haveCountOf, (NSUInteger expected)); -EXPMatcherAliasImplementation(haveLengthOf, haveCountOf, (NSUInteger expected)); -EXPMatcherAliasImplementation(haveALengthOf, haveCountOf, (NSUInteger expected)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.h deleted file mode 100644 index 4f0e8e4..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.h +++ /dev/null @@ -1,3 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(match, (NSString *expected)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.m deleted file mode 100644 index a217467..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.m +++ /dev/null @@ -1,38 +0,0 @@ -#import "EXPMatchers+match.h" -#import "EXPMatcherHelpers.h" - -EXPMatcherImplementationBegin(match, (NSString *expected)) { - BOOL actualIsNil = (actual == nil); - BOOL expectedIsNil = (expected == nil); - - __block NSRegularExpression *regex = nil; - __block NSError *regexError = nil; - - prerequisite (^BOOL { - BOOL nilInput = (actualIsNil || expectedIsNil); - if (!nilInput) { - regex = [NSRegularExpression regularExpressionWithPattern:expected options:0 error:®exError]; - } - return !nilInput && regex; - }); - - match(^BOOL { - NSRange range = [regex rangeOfFirstMatchInString:actual options:0 range:NSMakeRange(0, [actual length])]; - return !NSEqualRanges(range, NSMakeRange(NSNotFound, 0)); - }); - - failureMessageForTo(^NSString *{ - if (actualIsNil) return @"the object is nil/null"; - if (expectedIsNil) return @"the expression is nil/null"; - if (regexError) return [NSString stringWithFormat:@"unable to create regular expression from given parameter: %@", [regexError localizedDescription]]; - return [NSString stringWithFormat:@"expected: %@ to match to %@", EXPDescribeObject(actual), expected]; - }); - - failureMessageForNotTo(^NSString *{ - if (actualIsNil) return @"the object is nil/null"; - if (expectedIsNil) return @"the expression is nil/null"; - if (regexError) return [NSString stringWithFormat:@"unable to create regular expression from given parameter: %@", [regexError localizedDescription]]; - return [NSString stringWithFormat:@"expected: %@ not to match to %@", EXPDescribeObject(actual), expected]; - }); -} -EXPMatcherImplementationEnd diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.h deleted file mode 100644 index cdba4a3..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.h +++ /dev/null @@ -1,4 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(postNotification, (id expectedNotification)); -EXPMatcherInterface(notify, (id expectedNotification)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.m deleted file mode 100644 index 6e517c4..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.m +++ /dev/null @@ -1,88 +0,0 @@ -#import "EXPMatchers+postNotification.h" - -@implementation NSNotification (EXPEquality) - -- (BOOL)exp_isFunctionallyEqualTo:(NSNotification *)otherNotification -{ - if (![otherNotification isKindOfClass:[NSNotification class]]) return NO; - - BOOL namesMatch = [otherNotification.name isEqualToString:self.name]; - - BOOL objectsMatch = YES; - if (otherNotification.object || self.object) { - objectsMatch = [otherNotification.object isEqual:self.object]; - } - - BOOL userInfoMatches = YES; - if (otherNotification.userInfo || self.userInfo) { - userInfoMatches = [otherNotification.userInfo isEqual:self.userInfo]; - } - - return (namesMatch && objectsMatch && userInfoMatches); -} - -@end - -EXPMatcherImplementationBegin(postNotification, (id expected)){ - BOOL actualIsNil = (actual == nil); - BOOL expectedIsNil = (expected == nil); - BOOL isNotification = [expected isKindOfClass:[NSNotification class]]; - BOOL isName = [expected isKindOfClass:[NSString class]]; - - __block NSString *expectedName; - __block BOOL expectedNotificationOccurred = NO; - __block id observer; - - prerequisite(^BOOL{ - expectedNotificationOccurred = NO; - if (actualIsNil || expectedIsNil) return NO; - if (isNotification) { - expectedName = [expected name]; - }else if(isName) { - expectedName = expected; - }else{ - return NO; - } - - observer = [[NSNotificationCenter defaultCenter] addObserverForName:expectedName object:nil queue:nil usingBlock:^(NSNotification *note){ - if (isNotification) { - expectedNotificationOccurred |= [expected exp_isFunctionallyEqualTo:note]; - }else{ - expectedNotificationOccurred = YES; - } - }]; - ((EXPBasicBlock)actual)(); - return YES; - }); - - match(^BOOL{ - if(expectedNotificationOccurred) { - [[NSNotificationCenter defaultCenter] removeObserver:observer]; - } - return expectedNotificationOccurred; - }); - - failureMessageForTo(^NSString *{ - if (observer) { - [[NSNotificationCenter defaultCenter] removeObserver:observer]; - } - if(actualIsNil) return @"the actual value is nil/null"; - if(expectedIsNil) return @"the expected value is nil/null"; - if(!(isNotification || isName)) return @"the actual value is not a notification or string"; - return [NSString stringWithFormat:@"expected: %@, got: none",expectedName]; - }); - - failureMessageForNotTo(^NSString *{ - if (observer) { - [[NSNotificationCenter defaultCenter] removeObserver:observer]; - } - if(actualIsNil) return @"the actual value is nil/null"; - if(expectedIsNil) return @"the expected value is nil/null"; - if(!(isNotification || isName)) return @"the actual value is not a notification or string"; - return [NSString stringWithFormat:@"expected: none, got: %@", expectedName]; - }); -} - -EXPMatcherImplementationEnd - -EXPMatcherAliasImplementation(notify, postNotification, (id expectedNotification)) diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.h deleted file mode 100644 index 1f7fae0..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.h +++ /dev/null @@ -1,4 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(raise, (NSString *expectedExceptionName)); -#define raiseAny() raise(nil) diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.m deleted file mode 100644 index 26f3c55..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.m +++ /dev/null @@ -1,30 +0,0 @@ -#import "EXPMatchers+raise.h" -#import "EXPDefines.h" - -EXPMatcherImplementationBegin(raise, (NSString *expectedExceptionName)) { - __block NSException *exceptionCaught = nil; - - match(^BOOL{ - BOOL expectedExceptionCaught = NO; - @try { - ((EXPBasicBlock)actual)(); - } @catch(NSException *e) { - exceptionCaught = e; - expectedExceptionCaught = (expectedExceptionName == nil) || [[exceptionCaught name] isEqualToString:expectedExceptionName]; - } - return expectedExceptionCaught; - }); - - failureMessageForTo(^NSString *{ - return [NSString stringWithFormat:@"expected: %@, got: %@", - expectedExceptionName ? expectedExceptionName : @"any exception", - exceptionCaught ? [exceptionCaught name] : @"no exception"]; - }); - - failureMessageForNotTo(^NSString *{ - return [NSString stringWithFormat:@"expected: %@, got: %@", - expectedExceptionName ? [NSString stringWithFormat:@"not %@", expectedExceptionName] : @"no exception", - exceptionCaught ? [exceptionCaught name] : @"no exception"]; - }); -} -EXPMatcherImplementationEnd diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h deleted file mode 100644 index 2cf5a5d..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h +++ /dev/null @@ -1,3 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(raiseWithReason, (NSString *expectedExceptionName, NSString *expectedReason)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.m deleted file mode 100644 index 3943d38..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.m +++ /dev/null @@ -1,35 +0,0 @@ -#import "EXPMatchers+raiseWithReason.h" -#import "EXPDefines.h" - -EXPMatcherImplementationBegin(raiseWithReason, (NSString *expectedExceptionName, NSString *expectedReason)) { - __block NSException *exceptionCaught = nil; - - match(^BOOL{ - BOOL expectedExceptionCaught = NO; - @try { - ((EXPBasicBlock)actual)(); - } @catch(NSException *e) { - exceptionCaught = e; - expectedExceptionCaught = (((expectedExceptionName == nil) || [[exceptionCaught name] isEqualToString:expectedExceptionName]) && - ((expectedReason == nil) || ([[exceptionCaught reason] isEqualToString:expectedReason]))); - } - return expectedExceptionCaught; - }); - - failureMessageForTo(^NSString *{ - return [NSString stringWithFormat:@"expected: %@ (%@), got: %@ (%@)", - expectedExceptionName ?: @"any exception", - expectedReason ?: @"any reason", - exceptionCaught ? [exceptionCaught name] : @"no exception", - exceptionCaught ? [exceptionCaught reason] : @""]; - }); - - failureMessageForNotTo(^NSString *{ - return [NSString stringWithFormat:@"expected: %@ (%@), got: %@ (%@)", - expectedExceptionName ? [NSString stringWithFormat:@"not %@", expectedExceptionName] : @"no exception", - expectedReason ? [NSString stringWithFormat:@"not '%@'", expectedReason] : @"no reason", - exceptionCaught ? [exceptionCaught name] : @"no exception", - exceptionCaught ? [exceptionCaught reason] : @"no reason"]; - }); -} -EXPMatcherImplementationEnd diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.h deleted file mode 100644 index 279131d..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.h +++ /dev/null @@ -1,3 +0,0 @@ -#import "Expecta.h" - -EXPMatcherInterface(respondTo, (SEL expected)); diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.m b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.m deleted file mode 100644 index d294113..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.m +++ /dev/null @@ -1,28 +0,0 @@ -#import "EXPMatchers+respondTo.h" -#import "EXPMatcherHelpers.h" - -EXPMatcherImplementationBegin(respondTo, (SEL expected)) { - BOOL actualIsNil = (actual == nil); - BOOL expectedIsNull = (expected == NULL); - - prerequisite (^BOOL { - return !(actualIsNil || expectedIsNull); - }); - - match(^BOOL { - return [actual respondsToSelector:expected]; - }); - - failureMessageForTo(^NSString *{ - if (actualIsNil) return @"the object is nil/null"; - if (expectedIsNull) return @"the selector is null"; - return [NSString stringWithFormat:@"expected: %@ to respond to %@", EXPDescribeObject(actual), NSStringFromSelector(expected)]; - }); - - failureMessageForNotTo(^NSString *{ - if (actualIsNil) return @"the object is nil/null"; - if (expectedIsNull) return @"the selector is null"; - return [NSString stringWithFormat:@"expected: %@ not to respond to %@", EXPDescribeObject(actual), NSStringFromSelector(expected)]; - }); -} -EXPMatcherImplementationEnd diff --git a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers.h b/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers.h deleted file mode 100644 index ed6ef85..0000000 --- a/Sample/Pods/Expecta/Expecta/Matchers/EXPMatchers.h +++ /dev/null @@ -1,25 +0,0 @@ -#import "EXPMatchers+beNil.h" -#import "EXPMatchers+equal.h" -#import "EXPMatchers+beInstanceOf.h" -#import "EXPMatchers+beKindOf.h" -#import "EXPMatchers+beSubclassOf.h" -#import "EXPMatchers+conformTo.h" -#import "EXPMatchers+beTruthy.h" -#import "EXPMatchers+beFalsy.h" -#import "EXPMatchers+contain.h" -#import "EXPMatchers+beSupersetOf.h" -#import "EXPMatchers+haveCountOf.h" -#import "EXPMatchers+beIdenticalTo.h" -#import "EXPMatchers+beGreaterThan.h" -#import "EXPMatchers+beGreaterThanOrEqualTo.h" -#import "EXPMatchers+beLessThan.h" -#import "EXPMatchers+beLessThanOrEqualTo.h" -#import "EXPMatchers+beInTheRangeOf.h" -#import "EXPMatchers+beCloseTo.h" -#import "EXPMatchers+raise.h" -#import "EXPMatchers+raiseWithReason.h" -#import "EXPMatchers+respondTo.h" -#import "EXPMatchers+postNotification.h" -#import "EXPMatchers+beginWith.h" -#import "EXPMatchers+endWith.h" -#import "EXPMatchers+match.h" diff --git a/Sample/Pods/Expecta/Expecta/NSObject+Expecta.h b/Sample/Pods/Expecta/Expecta/NSObject+Expecta.h deleted file mode 100644 index 5920e31..0000000 --- a/Sample/Pods/Expecta/Expecta/NSObject+Expecta.h +++ /dev/null @@ -1,10 +0,0 @@ -#import - -@interface NSObject (Expecta) - -- (void)recordFailureWithDescription:(NSString *)description - inFile:(NSString *)filename - atLine:(NSUInteger)lineNumber - expected:(BOOL)expected; - -@end diff --git a/Sample/Pods/Expecta/Expecta/NSValue+Expecta.h b/Sample/Pods/Expecta/Expecta/NSValue+Expecta.h deleted file mode 100644 index e8ff6a4..0000000 --- a/Sample/Pods/Expecta/Expecta/NSValue+Expecta.h +++ /dev/null @@ -1,7 +0,0 @@ -#import - -@interface NSValue (Expecta) - -@property (nonatomic) const char *_EXP_objCType; - -@end diff --git a/Sample/Pods/Expecta/Expecta/NSValue+Expecta.m b/Sample/Pods/Expecta/Expecta/NSValue+Expecta.m deleted file mode 100644 index f660996..0000000 --- a/Sample/Pods/Expecta/Expecta/NSValue+Expecta.m +++ /dev/null @@ -1,21 +0,0 @@ -#import "NSValue+Expecta.h" -#import -#import "Expecta.h" - -EXPFixCategoriesBug(NSValue_Expecta); - -@implementation NSValue (Expecta) - -static char _EXP_typeKey; - -- (const char *)_EXP_objCType { - return [(NSString *)objc_getAssociatedObject(self, &_EXP_typeKey) cStringUsingEncoding:NSASCIIStringEncoding]; -} - -- (void)set_EXP_objCType:(const char *)_EXP_objCType { - objc_setAssociatedObject(self, &_EXP_typeKey, - @(_EXP_objCType), - OBJC_ASSOCIATION_COPY_NONATOMIC); -} - -@end diff --git a/Sample/Pods/Expecta/LICENSE b/Sample/Pods/Expecta/LICENSE deleted file mode 100644 index a036c85..0000000 --- a/Sample/Pods/Expecta/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2011-2015 Specta Team - https://github.com/specta - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/Sample/Pods/Expecta/README.md b/Sample/Pods/Expecta/README.md deleted file mode 100644 index 1933707..0000000 --- a/Sample/Pods/Expecta/README.md +++ /dev/null @@ -1,293 +0,0 @@ -#Expecta - -[![Build Status](http://img.shields.io/travis/specta/expecta/master.svg?style=flat)](https://travis-ci.org/specta/expecta) -[![Pod Version](http://img.shields.io/cocoapods/v/Expecta.svg?style=flat)](http://cocoadocs.org/docsets/Expecta/) -[![Pod Platform](http://img.shields.io/cocoapods/p/Expecta.svg?style=flat)](http://cocoadocs.org/docsets/Expecta/) -[![Pod License](http://img.shields.io/cocoapods/l/Expecta.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0.html) - -A matcher framework for Objective-C and Cocoa. - -## Introduction - -The main advantage of using Expecta over other matcher frameworks is that you do not have to specify the data types. Also, the syntax of Expecta matchers is much more readable and does not suffer from parenthesitis. - -```objective-c -expect(@"foo").to.equal(@"foo"); // `to` is a syntactic sugar and can be safely omitted. -expect(foo).notTo.equal(1); -expect([bar isBar]).to.equal(YES); -expect(baz).to.equal(3.14159); -``` - -Expecta is framework-agnostic: it works well with XCTest and XCTest-compatible test frameworks such as [Specta](http://github.com/petejkim/specta/). - - -## Installation - -You can setup Expecta using [Carthage](https://github.com/Carthage/Carthage), [CocoaPods](http://github.com/CocoaPods/CocoaPods) or [completely manually](#setting-up-manually). - -### Carthage - -1. Add Expecta to your project's `Cartfile.private`: - - ```ruby - github "specta/expecta" "master" - ``` - -2. Run `carthage update` in your project directory. -3. Drag the appropriate **Expecta.framework** for your platform (located in `Carthage/Build/`) into your application’s Xcode project, and add it to your test target(s). - -### CocoaPods - -1. Add Expecta to your project's `Podfile`: - - ```ruby - target :MyApp do - # Your app's dependencies - end - - target :MyAppTests do - pod 'Expecta', '~> 1.0.0' - end - ``` - -2. Run `pod update` or `pod install` in your project directory. - -### Setting Up Manually - -1. Clone Expecta from Github. -2. Run `rake` in your project directory to build the frameworks and libraries. -3. Add a Cocoa or Cocoa Touch Unit Testing Bundle target to your Xcode project if you don't already have one. -4. For **OS X projects**, copy and add `Expecta.framework` in the `Products/osx` folder to your project's test target. - - For **iOS projects**, copy and add `Expecta.framework` in the `Products/ios` folder to your project's test target. - - You can also use `libExpecta.a` if you prefer to link Expecta as a static library — iOS 7.x and below require this. - -6. Add `-ObjC` and `-all_load` to the **Other Linker Flags** build setting for the test target in your Xcode project. -7. You can now use Expecta in your test classes by adding the following import: - - ```objective-c - @import Expecta; // If you're using Expecta.framework - - // OR - - #import // If you're using the static library, or the framework - ``` - -## Built-in Matchers - -> `expect(x).to.equal(y);` compares objects or primitives x and y and passes if they are identical (==) or equivalent isEqual:). - -> `expect(x).to.beIdenticalTo(y);` compares objects x and y and passes if they are identical and have the same memory address. - -> `expect(x).to.beNil();` passes if x is nil. - -> `expect(x).to.beTruthy();` passes if x evaluates to true (non-zero). - -> `expect(x).to.beFalsy();` passes if x evaluates to false (zero). - -> `expect(x).to.contain(y);` passes if an instance of NSArray or NSString x contains y. - -> `expect(x).to.beSupersetOf(y);` passes if an instance of NSArray, NSSet, NSDictionary or NSOrderedSet x contains all elements of y. - -> `expect(x).to.haveCountOf(y);` passes if an instance of NSArray, NSSet, NSDictionary or NSString x has a count or length of y. - -> `expect(x).to.beEmpty();` passes if an instance of NSArray, NSSet, NSDictionary or NSString x has a count or length of . - -> `expect(x).to.beInstanceOf([Foo class]);` passes if x is an instance of a class Foo. - -> `expect(x).to.beKindOf([Foo class]);` passes if x is an instance of a class Foo or if x is an instance of any class that inherits from the class Foo. - -> `expect([Foo class]).to.beSubclassOf([Bar class]);` passes if the class Foo is a subclass of the class Bar or if it is identical to the class Bar. Use beKindOf() for class clusters. - -> `expect(x).to.beLessThan(y);` passes if `x` is less than `y`. - -> `expect(x).to.beLessThanOrEqualTo(y);` passes if `x` is less than or equal to `y`. - -> `expect(x).to.beGreaterThan(y);` passes if `x` is greater than `y`. - -> `expect(x).to.beGreaterThanOrEqualTo(y);` passes if `x` is greater than or equal to `y`. - -> `expect(x).to.beInTheRangeOf(y,z);` passes if `x` is in the range of `y` and `z`. - -> `expect(x).to.beCloseTo(y);` passes if `x` is close to `y`. - -> `expect(x).to.beCloseToWithin(y, z);` passes if `x` is close to `y` within `z`. - -> `expect(^{ /* code */ }).to.raise(@"ExceptionName");` passes if a given block of code raises an exception named `ExceptionName`. - -> `expect(^{ /* code */ }).to.raiseAny();` passes if a given block of code raises any exception. - -> `expect(x).to.conformTo(y);` passes if `x` conforms to the protocol `y`. - -> `expect(x).to.respondTo(y);` passes if `x` responds to the selector `y`. - -> `expect(^{ /* code */ }).to.notify(@"NotificationName");` passes if a given block of code generates an NSNotification amed `NotificationName`. - -> `expect(^{ /* code */ }).to.notify(notification);` passes if a given block of code generates an NSNotification equal to the passed `notification`. - -> `expect(x).to.beginWith(y);` passes if an instance of NSString, NSArray, or NSOrderedSet `x` begins with `y`. Also liased by `startWith` - -> `expect(x).to.endWith(y);` passes if an instance of NSString, NSArray, or NSOrderedSet `x` ends with `y`. - -> `expect(x).to.match(y);` passes if an instance of NSString `x` matches regular expression (given as NSString) `y` one or more times. - -## Inverting Matchers - -Every matcher's criteria can be inverted by prepending `.notTo` or `.toNot`: - ->`expect(x).notTo.equal(y);` compares objects or primitives x and y and passes if they are *not* equivalent. - -## Asynchronous Testing - -Every matcher can be made to perform asynchronous testing by prepending `.will`, `.willNot` or `after(...)`: - ->`expect(x).will.beNil();` passes if x becomes nil before the default timeout. -> ->`expect(x).willNot.beNil();` passes if x becomes non-nil before the default timeout. -> ->`expect(x).after(3).to.beNil();` passes if x becoms nil after 3.0 seconds. -> ->`expect(x).after(2.5).notTo.equal(42);` passes if x doesn't equal 42 after 2.5 seconds. - -The default timeout is 1.0 second and is used for all matchers if not otherwise specified. This setting can be changed by calling `[Expecta setAsynchronousTestTimeout:x]`, where `x` is the desired timeout in seconds. - -```objective-c -describe(@"Foo", ^{ - beforeAll(^{ - // All asynchronous matching using `will` and `willNot` - // will have a timeout of 2.0 seconds - [Expecta setAsynchronousTestTimeout:2]; - }); - - it(@"will not be nil", ^{ - // Test case where default timeout is used - expect(foo).willNot.beNil(); - }); - - it(@"should equal 42 after 3 seconds", ^{ - // Signle case where timeout differs from the default - expect(foo).after(3).to.equal(42); - }); -}); -``` - -## Forced Failing - -You can fail a test by using the `failure` attribute. This can be used to test branching. - -> `failure(@"This should not happen");` outright fails a test. - - -## Writing New Matchers - -Writing a new matcher is easy with special macros provided by Expecta. Take a look at how `.beKindOf()` matcher is defined: - -`EXPMatchers+beKindOf.h` - -```objective-c -#import "Expecta.h" - -EXPMatcherInterface(beKindOf, (Class expected)); -// 1st argument is the name of the matcher function -// 2nd argument is the list of arguments that may be passed in the function -// call. -// Multiple arguments are fine. (e.g. (int foo, float bar)) - -#define beAKindOf beKindOf -``` - -`EXPMatchers+beKindOf.m` - -```objective-c -#import "EXPMatchers+beKindOf.h" - -EXPMatcherImplementationBegin(beKindOf, (Class expected)) { - BOOL actualIsNil = (actual == nil); - BOOL expectedIsNil = (expected == nil); - - prerequisite(^BOOL { - return !(actualIsNil || expectedIsNil); - // Return `NO` if matcher should fail whether or not the result is inverted - // using `.Not`. - }); - - match(^BOOL { - return [actual isKindOfClass:expected]; - // Return `YES` if the matcher should pass, `NO` if it should not. - // The actual value/object is passed as `actual`. - // Please note that primitive values will be wrapped in NSNumber/NSValue. - }); - - failureMessageForTo(^NSString * { - if (actualIsNil) - return @"the actual value is nil/null"; - if (expectedIsNil) - return @"the expected value is nil/null"; - return [NSString - stringWithFormat:@"expected: a kind of %@, " - "got: an instance of %@, which is not a kind of %@", - [expected class], [actual class], [expected class]]; - // Return the message to be displayed when the match function returns `YES`. - }); - - failureMessageForNotTo(^NSString * { - if (actualIsNil) - return @"the actual value is nil/null"; - if (expectedIsNil) - return @"the expected value is nil/null"; - return [NSString - stringWithFormat:@"expected: not a kind of %@, " - "got: an instance of %@, which is a kind of %@", - [expected class], [actual class], [expected class]]; - // Return the message to be displayed when the match function returns `NO`. - }); -} -EXPMatcherImplementationEnd -``` - -## Dynamic Predicate Matchers - -It is possible to add predicate matchers by simply defining the matcher interface, with the matcher implementation being handled at runtime by delegating to the predicate method on your object. - -For instance, if you have the following class: - -```objc -@interface LightSwitch : NSObject -@property (nonatomic, assign, getter=isTurnedOn) BOOL turnedOn; -@end - -@implementation LightSwitch -@synthesize turnedOn; -@end -``` - -The normal way to write an assertion that the switch is turned on would be: - -```objc -expect([lightSwitch isTurnedOn]).to.beTruthy(); -``` - -However, if we define a custom predicate matcher: - -```objc -EXPMatcherInterface(isTurnedOn, (void)); -``` - -(Note: we haven't defined the matcher implementation, just it's interface) - -You can now write your assertion as follows: - -```objc -expect(lightSwitch).isTurnedOn(); -``` - -## Contribution Guidelines - -* Please use only spaces and indent 2 spaces at a time. -* Please prefix instance variable names with a single underscore (`_`). -* Please prefix custom classes and functions defined in the global scope with `EXP`. - -## License - -Copyright (c) 2012-2015 [Specta Team](https://github.com/specta?tab=members). This software is licensed under the [MIT License](http://github.com/specta/specta/raw/master/LICENSE). diff --git a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h b/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h deleted file mode 100644 index eefe11b..0000000 --- a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -@interface UIApplication (StrictKeyWindow) - -/** - @return The receiver's @c keyWindow. Raises an assertion if @c nil. - */ -- (UIWindow *)fb_strictKeyWindow; - -@end diff --git a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m b/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m deleted file mode 100644 index 0f7a0c2..0000000 --- a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -@implementation UIApplication (StrictKeyWindow) - -- (UIWindow *)fb_strictKeyWindow -{ - UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; - if (!keyWindow) { - [NSException raise:@"FBSnapshotTestCaseNilKeyWindowException" - format:@"Snapshot tests must be hosted by an application with a key window. Please ensure your test" - " host sets up a key window at launch (either via storyboards or programmatically) and doesn't" - " do anything to remove it while snapshot tests are running."]; - } - return keyWindow; -} - -@end diff --git a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h b/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h deleted file mode 100644 index 9091d62..0000000 --- a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -#import - -@interface UIImage (Compare) - -- (BOOL)fb_compareWithImage:(UIImage *)image tolerance:(CGFloat)tolerance; - -@end diff --git a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m b/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m deleted file mode 100644 index c997f57..0000000 --- a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m +++ /dev/null @@ -1,134 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -#import - -// This makes debugging much more fun -typedef union { - uint32_t raw; - unsigned char bytes[4]; - struct { - char red; - char green; - char blue; - char alpha; - } __attribute__ ((packed)) pixels; -} FBComparePixel; - -@implementation UIImage (Compare) - -- (BOOL)fb_compareWithImage:(UIImage *)image tolerance:(CGFloat)tolerance -{ - NSAssert(CGSizeEqualToSize(self.size, image.size), @"Images must be same size."); - - CGSize referenceImageSize = CGSizeMake(CGImageGetWidth(self.CGImage), CGImageGetHeight(self.CGImage)); - CGSize imageSize = CGSizeMake(CGImageGetWidth(image.CGImage), CGImageGetHeight(image.CGImage)); - - // The images have the equal size, so we could use the smallest amount of bytes because of byte padding - size_t minBytesPerRow = MIN(CGImageGetBytesPerRow(self.CGImage), CGImageGetBytesPerRow(image.CGImage)); - size_t referenceImageSizeBytes = referenceImageSize.height * minBytesPerRow; - void *referenceImagePixels = calloc(1, referenceImageSizeBytes); - void *imagePixels = calloc(1, referenceImageSizeBytes); - - if (!referenceImagePixels || !imagePixels) { - free(referenceImagePixels); - free(imagePixels); - return NO; - } - - CGContextRef referenceImageContext = CGBitmapContextCreate(referenceImagePixels, - referenceImageSize.width, - referenceImageSize.height, - CGImageGetBitsPerComponent(self.CGImage), - minBytesPerRow, - CGImageGetColorSpace(self.CGImage), - (CGBitmapInfo)kCGImageAlphaPremultipliedLast - ); - CGContextRef imageContext = CGBitmapContextCreate(imagePixels, - imageSize.width, - imageSize.height, - CGImageGetBitsPerComponent(image.CGImage), - minBytesPerRow, - CGImageGetColorSpace(image.CGImage), - (CGBitmapInfo)kCGImageAlphaPremultipliedLast - ); - - if (!referenceImageContext || !imageContext) { - CGContextRelease(referenceImageContext); - CGContextRelease(imageContext); - free(referenceImagePixels); - free(imagePixels); - return NO; - } - - CGContextDrawImage(referenceImageContext, CGRectMake(0, 0, referenceImageSize.width, referenceImageSize.height), self.CGImage); - CGContextDrawImage(imageContext, CGRectMake(0, 0, imageSize.width, imageSize.height), image.CGImage); - - CGContextRelease(referenceImageContext); - CGContextRelease(imageContext); - - BOOL imageEqual = YES; - - // Do a fast compare if we can - if (tolerance == 0) { - imageEqual = (memcmp(referenceImagePixels, imagePixels, referenceImageSizeBytes) == 0); - } else { - // Go through each pixel in turn and see if it is different - const NSInteger pixelCount = referenceImageSize.width * referenceImageSize.height; - - FBComparePixel *p1 = referenceImagePixels; - FBComparePixel *p2 = imagePixels; - - NSInteger numDiffPixels = 0; - for (int n = 0; n < pixelCount; ++n) { - // If this pixel is different, increment the pixel diff count and see - // if we have hit our limit. - if (p1->raw != p2->raw) { - numDiffPixels ++; - - CGFloat percent = (CGFloat)numDiffPixels / pixelCount; - if (percent > tolerance) { - imageEqual = NO; - break; - } - } - - p1++; - p2++; - } - } - - free(referenceImagePixels); - free(imagePixels); - - return imageEqual; -} - -@end diff --git a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h b/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h deleted file mode 100644 index a0863f3..0000000 --- a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -#import - -@interface UIImage (Diff) - -- (UIImage *)fb_diffWithImage:(UIImage *)image; - -@end diff --git a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m b/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m deleted file mode 100644 index ebb72fe..0000000 --- a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m +++ /dev/null @@ -1,56 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -#import - -@implementation UIImage (Diff) - -- (UIImage *)fb_diffWithImage:(UIImage *)image -{ - if (!image) { - return nil; - } - CGSize imageSize = CGSizeMake(MAX(self.size.width, image.size.width), MAX(self.size.height, image.size.height)); - UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0); - CGContextRef context = UIGraphicsGetCurrentContext(); - [self drawInRect:CGRectMake(0, 0, self.size.width, self.size.height)]; - CGContextSetAlpha(context, 0.5); - CGContextBeginTransparencyLayer(context, NULL); - [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)]; - CGContextSetBlendMode(context, kCGBlendModeDifference); - CGContextSetFillColorWithColor(context,[UIColor whiteColor].CGColor); - CGContextFillRect(context, CGRectMake(0, 0, self.size.width, self.size.height)); - CGContextEndTransparencyLayer(context); - UIImage *returnImage = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - return returnImage; -} - -@end diff --git a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h b/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h deleted file mode 100644 index b0d5b26..0000000 --- a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -@interface UIImage (Snapshot) - -/// Uses renderInContext: to get a snapshot of the layer. -+ (UIImage *)fb_imageForLayer:(CALayer *)layer; - -/// Uses renderInContext: to get a snapshot of the view layer. -+ (UIImage *)fb_imageForViewLayer:(UIView *)view; - -/// Uses drawViewHierarchyInRect: to get a snapshot of the view and adds the view into a window if needed. -+ (UIImage *)fb_imageForView:(UIView *)view; - -@end diff --git a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m b/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m deleted file mode 100644 index 968091b..0000000 --- a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -@implementation UIImage (Snapshot) - -+ (UIImage *)fb_imageForLayer:(CALayer *)layer -{ - CGRect bounds = layer.bounds; - NSAssert1(CGRectGetWidth(bounds), @"Zero width for layer %@", layer); - NSAssert1(CGRectGetHeight(bounds), @"Zero height for layer %@", layer); - - UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0); - CGContextRef context = UIGraphicsGetCurrentContext(); - NSAssert1(context, @"Could not generate context for layer %@", layer); - CGContextSaveGState(context); - [layer layoutIfNeeded]; - [layer renderInContext:context]; - CGContextRestoreGState(context); - - UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - return snapshot; -} - -+ (UIImage *)fb_imageForViewLayer:(UIView *)view -{ - [view layoutIfNeeded]; - return [self fb_imageForLayer:view.layer]; -} - -+ (UIImage *)fb_imageForView:(UIView *)view -{ - CGRect bounds = view.bounds; - NSAssert1(CGRectGetWidth(bounds), @"Zero width for view %@", view); - NSAssert1(CGRectGetHeight(bounds), @"Zero height for view %@", view); - - // If the input view is already a UIWindow, then just use that. Otherwise wrap in a window. - UIWindow *window = [view isKindOfClass:[UIWindow class]] ? (UIWindow *)view : view.window; - BOOL removeFromSuperview = NO; - if (!window) { - window = [[UIApplication sharedApplication] fb_strictKeyWindow]; - } - - if (!view.window && view != window) { - [window addSubview:view]; - removeFromSuperview = YES; - } - - UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0); - [view layoutIfNeeded]; - [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES]; - - UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - - if (removeFromSuperview) { - [view removeFromSuperview]; - } - - return snapshot; -} - -@end diff --git a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h b/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h deleted file mode 100644 index 159a724..0000000 --- a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h +++ /dev/null @@ -1,201 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -#import - -#import - -#import - -/* - There are three ways of setting reference image directories. - - 1. Set the preprocessor macro FB_REFERENCE_IMAGE_DIR to a double quoted - c-string with the path. - 2. Set an environment variable named FB_REFERENCE_IMAGE_DIR with the path. This - takes precedence over the preprocessor macro to allow for run-time override. - 3. Keep everything unset, which will cause the reference images to be looked up - inside the bundle holding the current test, in the - Resources/ReferenceImages_* directories. - */ -#ifndef FB_REFERENCE_IMAGE_DIR -#define FB_REFERENCE_IMAGE_DIR "" -#endif - -/** - Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though. - @param view The view to snapshot - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param suffixes An NSOrderedSet of strings for the different suffixes - @param tolerance The percentage of pixels that can differ and still count as an 'identical' view - */ -#define FBSnapshotVerifyViewWithOptions(view__, identifier__, suffixes__, tolerance__) \ - FBSnapshotVerifyViewOrLayerWithOptions(View, view__, identifier__, suffixes__, tolerance__) - -#define FBSnapshotVerifyView(view__, identifier__) \ - FBSnapshotVerifyViewWithOptions(view__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0) - - -/** - Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though. - @param layer The layer to snapshot - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param suffixes An NSOrderedSet of strings for the different suffixes - @param tolerance The percentage of pixels that can differ and still count as an 'identical' layer - */ -#define FBSnapshotVerifyLayerWithOptions(layer__, identifier__, suffixes__, tolerance__) \ - FBSnapshotVerifyViewOrLayerWithOptions(Layer, layer__, identifier__, suffixes__, tolerance__) - -#define FBSnapshotVerifyLayer(layer__, identifier__) \ - FBSnapshotVerifyLayerWithOptions(layer__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0) - - -#define FBSnapshotVerifyViewOrLayerWithOptions(what__, viewOrLayer__, identifier__, suffixes__, tolerance__) \ -{ \ - NSString *referenceImageDirectory = [self getReferenceImageDirectoryWithDefault:(@ FB_REFERENCE_IMAGE_DIR)]; \ - XCTAssertNotNil(referenceImageDirectory, @"Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.");\ - XCTAssertTrue((suffixes__.count > 0), @"Suffixes set cannot be empty %@", suffixes__); \ - \ - BOOL testSuccess__ = NO; \ - NSError *error__ = nil; \ - NSMutableArray *errors__ = [NSMutableArray array]; \ - \ - if (self.recordMode) { \ - \ - NSString *referenceImagesDirectory__ = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffixes__.firstObject]; \ - BOOL referenceImageSaved__ = [self compareSnapshotOf ## what__ :(viewOrLayer__) referenceImagesDirectory:referenceImagesDirectory__ identifier:(identifier__) tolerance:(tolerance__) error:&error__]; \ - if (!referenceImageSaved__) { \ - [errors__ addObject:error__]; \ - } \ - } else { \ - \ - for (NSString *suffix__ in suffixes__) { \ - NSString *referenceImagesDirectory__ = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffix__]; \ - BOOL referenceImageAvailable = [self referenceImageRecordedInDirectory:referenceImagesDirectory__ identifier:(identifier__) error:&error__]; \ - \ - if (referenceImageAvailable) { \ - BOOL comparisonSuccess__ = [self compareSnapshotOf ## what__ :(viewOrLayer__) referenceImagesDirectory:referenceImagesDirectory__ identifier:(identifier__) tolerance:(tolerance__) error:&error__]; \ - [errors__ removeAllObjects]; \ - if (comparisonSuccess__) { \ - testSuccess__ = YES; \ - break; \ - } else { \ - [errors__ addObject:error__]; \ - } \ - } else { \ - [errors__ addObject:error__]; \ - } \ - } \ - } \ - XCTAssertTrue(testSuccess__, @"Snapshot comparison failed: %@", errors__.firstObject); \ - XCTAssertFalse(self.recordMode, @"Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!"); \ -} - - -/** - The base class of view snapshotting tests. If you have small UI component, it's often easier to configure it in a test - and compare an image of the view to a reference image that write lots of complex layout-code tests. - - In order to flip the tests in your subclass to record the reference images set @c recordMode to @c YES. - - @attention When recording, the reference image directory should be explicitly - set, otherwise the images may be written to somewhere inside the - simulator directory. - - For example: - @code - - (void)setUp - { - [super setUp]; - self.recordMode = YES; - } - @endcode - */ -@interface FBSnapshotTestCase : XCTestCase - -/** - When YES, the test macros will save reference images, rather than performing an actual test. - */ -@property (readwrite, nonatomic, assign) BOOL recordMode; - -/** - When @c YES appends the name of the device model and OS to the snapshot file name. - The default value is @c NO. - */ -@property (readwrite, nonatomic, assign, getter=isDeviceAgnostic) BOOL deviceAgnostic; - -/** - When YES, renders a snapshot of the complete view hierarchy as visible onscreen. - There are several things that do not work if renderInContext: is used. - - UIVisualEffect #70 - - UIAppearance #91 - - Size Classes #92 - - @attention If the view does't belong to a UIWindow, it will create one and add the view as a subview. - */ -@property (readwrite, nonatomic, assign) BOOL usesDrawViewHierarchyInRect; - -- (void)setUp NS_REQUIRES_SUPER; -- (void)tearDown NS_REQUIRES_SUPER; - -/** - Performs the comparison or records a snapshot of the layer if recordMode is YES. - @param layer The Layer to snapshot - @param referenceImagesDirectory The directory in which reference images are stored. - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care - @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Performs the comparison or records a snapshot of the view if recordMode is YES. - @param view The view to snapshot - @param referenceImagesDirectory The directory in which reference images are stored. - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care - @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfView:(UIView *)view - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Checks if reference image with identifier based name exists in the reference images directory. - @param referenceImagesDirectory The directory in which reference images are stored. - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if reference image exists. - */ -- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Returns the reference image directory. - - Helper function used to implement the assert macros. - - @param dir directory to use if environment variable not specified. Ignored if null or empty. - */ -- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir; - -@end diff --git a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m b/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m deleted file mode 100644 index 3ee351f..0000000 --- a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -@implementation FBSnapshotTestCase -{ - FBSnapshotTestController *_snapshotController; -} - -#pragma mark - Overrides - -- (void)setUp -{ - [super setUp]; - _snapshotController = [[FBSnapshotTestController alloc] initWithTestName:NSStringFromClass([self class])]; -} - -- (void)tearDown -{ - _snapshotController = nil; - [super tearDown]; -} - -- (BOOL)recordMode -{ - return _snapshotController.recordMode; -} - -- (void)setRecordMode:(BOOL)recordMode -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.recordMode = recordMode; -} - -- (BOOL)isDeviceAgnostic -{ - return _snapshotController.deviceAgnostic; -} - -- (void)setDeviceAgnostic:(BOOL)deviceAgnostic -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.deviceAgnostic = deviceAgnostic; -} - -- (BOOL)usesDrawViewHierarchyInRect -{ - return _snapshotController.usesDrawViewHierarchyInRect; -} - -- (void)setUsesDrawViewHierarchyInRect:(BOOL)usesDrawViewHierarchyInRect -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.usesDrawViewHierarchyInRect = usesDrawViewHierarchyInRect; -} - -#pragma mark - Public API - -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - return [self _compareSnapshotOfViewOrLayer:layer - referenceImagesDirectory:referenceImagesDirectory - identifier:identifier - tolerance:tolerance - error:errorPtr]; -} - -- (BOOL)compareSnapshotOfView:(UIView *)view - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - return [self _compareSnapshotOfViewOrLayer:view - referenceImagesDirectory:referenceImagesDirectory - identifier:identifier - tolerance:tolerance - error:errorPtr]; -} - -- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.referenceImagesDirectory = referenceImagesDirectory; - UIImage *referenceImage = [_snapshotController referenceImageForSelector:self.invocation.selector - identifier:identifier - error:errorPtr]; - - return (referenceImage != nil); -} - -- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir -{ - NSString *envReferenceImageDirectory = [NSProcessInfo processInfo].environment[@"FB_REFERENCE_IMAGE_DIR"]; - if (envReferenceImageDirectory) { - return envReferenceImageDirectory; - } - if (dir && dir.length > 0) { - return dir; - } - return [[NSBundle bundleForClass:self.class].resourcePath stringByAppendingPathComponent:@"ReferenceImages"]; -} - - -#pragma mark - Private API - -- (BOOL)_compareSnapshotOfViewOrLayer:(id)viewOrLayer - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - _snapshotController.referenceImagesDirectory = referenceImagesDirectory; - return [_snapshotController compareSnapshotOfViewOrLayer:viewOrLayer - selector:self.invocation.selector - identifier:identifier - tolerance:tolerance - error:errorPtr]; -} - -@end diff --git a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h b/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h deleted file mode 100644 index e04acf2..0000000 --- a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -#ifdef __cplusplus -extern "C" { -#endif - -/** - Returns a Boolean value that indicates whether the snapshot test is running in 64Bit. - This method is a convenience for creating the suffixes set based on the architecture - that the test is running. - - @returns @c YES if the test is running in 64bit, otherwise @c NO. - */ -BOOL FBSnapshotTestCaseIs64Bit(void); - -/** - Returns a default set of strings that is used to append a suffix based on the architectures. - @warning Do not modify this function, you can create your own and use it with @c FBSnapshotVerifyViewWithOptions() - - @returns An @c NSOrderedSet object containing strings that are appended to the reference images directory. - */ -NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void); - -/** - Returns a fully «normalized» file name. - Strips punctuation and spaces and replaces them with @c _. Also appends the device model, running OS and screen size to the file name. - - @returns An @c NSString object containing the passed @c fileName with the device model, OS and screen size appended at the end. - */ -NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName); - -#ifdef __cplusplus -} -#endif diff --git a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m b/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m deleted file mode 100644 index d8709d8..0000000 --- a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import -#import - -BOOL FBSnapshotTestCaseIs64Bit(void) -{ -#if __LP64__ - return YES; -#else - return NO; -#endif -} - -NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void) -{ - NSMutableOrderedSet *suffixesSet = [[NSMutableOrderedSet alloc] init]; - [suffixesSet addObject:@"_32"]; - [suffixesSet addObject:@"_64"]; - if (FBSnapshotTestCaseIs64Bit()) { - return [suffixesSet reversedOrderedSet]; - } - return [suffixesSet copy]; -} - -NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName) -{ - UIDevice *device = [UIDevice currentDevice]; - UIWindow *keyWindow = [[UIApplication sharedApplication] fb_strictKeyWindow]; - CGSize screenSize = keyWindow.bounds.size; - NSString *os = device.systemVersion; - - fileName = [NSString stringWithFormat:@"%@_%@%@_%.0fx%.0f", fileName, device.model, os, screenSize.width, screenSize.height]; - - NSMutableCharacterSet *invalidCharacters = [NSMutableCharacterSet new]; - [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]]; - [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]]; - NSArray *validComponents = [fileName componentsSeparatedByCharactersInSet:invalidCharacters]; - fileName = [validComponents componentsJoinedByString:@"_"]; - - return fileName; -} \ No newline at end of file diff --git a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h b/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h deleted file mode 100644 index a0285ad..0000000 --- a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -typedef NS_ENUM(NSInteger, FBSnapshotTestControllerErrorCode) { - FBSnapshotTestControllerErrorCodeUnknown, - FBSnapshotTestControllerErrorCodeNeedsRecord, - FBSnapshotTestControllerErrorCodePNGCreationFailed, - FBSnapshotTestControllerErrorCodeImagesDifferentSizes, - FBSnapshotTestControllerErrorCodeImagesDifferent, -}; -/** - Errors returned by the methods of FBSnapshotTestController use this domain. - */ -extern NSString *const FBSnapshotTestControllerErrorDomain; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBReferenceImageFilePathKey; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBReferenceImageKey; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBCapturedImageKey; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBDiffedImageKey; - -/** - Provides the heavy-lifting for FBSnapshotTestCase. It loads and saves images, along with performing the actual pixel- - by-pixel comparison of images. - Instances are initialized with the test class, and directories to read and write to. - */ -@interface FBSnapshotTestController : NSObject - -/** - Record snapshots. - */ -@property (readwrite, nonatomic, assign) BOOL recordMode; - -/** - When @c YES appends the name of the device model and OS to the snapshot file name. - The default value is @c NO. - */ -@property (readwrite, nonatomic, assign, getter=isDeviceAgnostic) BOOL deviceAgnostic; - -/** - Uses drawViewHierarchyInRect:afterScreenUpdates: to draw the image instead of renderInContext: - */ -@property (readwrite, nonatomic, assign) BOOL usesDrawViewHierarchyInRect; - -/** - The directory in which referfence images are stored. - */ -@property (readwrite, nonatomic, copy) NSString *referenceImagesDirectory; - -/** - @param testClass The subclass of FBSnapshotTestCase that is using this controller. - @returns An instance of FBSnapshotTestController. - */ -- (instancetype)initWithTestClass:(Class)testClass; - -/** - Designated initializer. - @param testName The name of the tests. - @returns An instance of FBSnapshotTestController. - */ -- (instancetype)initWithTestName:(NSString *)testName; - -/** - Performs the comparison of the layer. - @param layer The Layer to snapshot. - @param selector The test method being run. - @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. - @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Performs the comparison of the view. - @param view The view to snapshot. - @param selector The test method being run. - @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. - @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfView:(UIView *)view - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Performs the comparison of a view or layer. - @param view The view or layer to snapshot. - @param selector The test method being run. - @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. - @param tolerance The percentage of pixels that can differ and still be considered 'identical' - @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Loads a reference image. - @param selector The test method being run. - @param identifier The optional identifier, used when multiple images are tested in a single -test method. - @param errorPtr An error, if this methods returns nil, the error will be something useful. - @returns An image. - */ -- (UIImage *)referenceImageForSelector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Performs a pixel-by-pixel comparison of the two images with an allowable margin of error. - @param referenceImage The reference (correct) image. - @param image The image to test against the reference. - @param tolerance The percentage of pixels that can differ and still be considered 'identical' - @param errorPtr An error that indicates why the comparison failed if it does. - @returns YES if the comparison succeeded and the images are the same(ish). - */ -- (BOOL)compareReferenceImage:(UIImage *)referenceImage - toImage:(UIImage *)image - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Saves the reference image and the test image to `failedOutputDirectory`. - @param referenceImage The reference (correct) image. - @param testImage The image to test against the reference. - @param selector The test method being run. - @param identifier The optional identifier, used when multiple images are tested in a single -test method. - @param errorPtr An error that indicates why the comparison failed if it does. - @returns YES if the save succeeded. - */ -- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage - testImage:(UIImage *)testImage - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; -@end diff --git a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m b/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m deleted file mode 100644 index 74c5a0a..0000000 --- a/Sample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m +++ /dev/null @@ -1,358 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import -#import -#import -#import - -#import - -NSString *const FBSnapshotTestControllerErrorDomain = @"FBSnapshotTestControllerErrorDomain"; -NSString *const FBReferenceImageFilePathKey = @"FBReferenceImageFilePathKey"; -NSString *const FBReferenceImageKey = @"FBReferenceImageKey"; -NSString *const FBCapturedImageKey = @"FBCapturedImageKey"; -NSString *const FBDiffedImageKey = @"FBDiffedImageKey"; - -typedef NS_ENUM(NSUInteger, FBTestSnapshotFileNameType) { - FBTestSnapshotFileNameTypeReference, - FBTestSnapshotFileNameTypeFailedReference, - FBTestSnapshotFileNameTypeFailedTest, - FBTestSnapshotFileNameTypeFailedTestDiff, -}; - -@implementation FBSnapshotTestController -{ - NSString *_testName; - NSFileManager *_fileManager; -} - -#pragma mark - Initializers - -- (instancetype)initWithTestClass:(Class)testClass; -{ - return [self initWithTestName:NSStringFromClass(testClass)]; -} - -- (instancetype)initWithTestName:(NSString *)testName -{ - if (self = [super init]) { - _testName = [testName copy]; - _deviceAgnostic = NO; - - _fileManager = [[NSFileManager alloc] init]; - } - return self; -} - -#pragma mark - Overrides - -- (NSString *)description -{ - return [NSString stringWithFormat:@"%@ %@", [super description], _referenceImagesDirectory]; -} - -#pragma mark - Public API - -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - return [self compareSnapshotOfViewOrLayer:layer - selector:selector - identifier:identifier - tolerance:0 - error:errorPtr]; -} - -- (BOOL)compareSnapshotOfView:(UIView *)view - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - return [self compareSnapshotOfViewOrLayer:view - selector:selector - identifier:identifier - tolerance:0 - error:errorPtr]; -} - -- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - if (self.recordMode) { - return [self _recordSnapshotOfViewOrLayer:viewOrLayer selector:selector identifier:identifier error:errorPtr]; - } else { - return [self _performPixelComparisonWithViewOrLayer:viewOrLayer selector:selector identifier:identifier tolerance:tolerance error:errorPtr]; - } -} - -- (UIImage *)referenceImageForSelector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier]; - UIImage *image = [UIImage imageWithContentsOfFile:filePath]; - if (nil == image && NULL != errorPtr) { - BOOL exists = [_fileManager fileExistsAtPath:filePath]; - if (!exists) { - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:FBSnapshotTestControllerErrorCodeNeedsRecord - userInfo:@{ - FBReferenceImageFilePathKey: filePath, - NSLocalizedDescriptionKey: @"Unable to load reference image.", - NSLocalizedFailureReasonErrorKey: @"Reference image not found. You need to run the test in record mode", - }]; - } else { - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:FBSnapshotTestControllerErrorCodeUnknown - userInfo:nil]; - } - } - return image; -} - -- (BOOL)compareReferenceImage:(UIImage *)referenceImage - toImage:(UIImage *)image - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - BOOL sameImageDimensions = CGSizeEqualToSize(referenceImage.size, image.size); - if (sameImageDimensions && [referenceImage fb_compareWithImage:image tolerance:tolerance]) { - return YES; - } - - if (NULL != errorPtr) { - NSString *errorDescription = sameImageDimensions ? @"Images different" : @"Images different sizes"; - NSString *errorReason = sameImageDimensions ? [NSString stringWithFormat:@"image pixels differed by more than %.2f%% from the reference image", tolerance * 100] - : [NSString stringWithFormat:@"referenceImage:%@, image:%@", NSStringFromCGSize(referenceImage.size), NSStringFromCGSize(image.size)]; - FBSnapshotTestControllerErrorCode errorCode = sameImageDimensions ? FBSnapshotTestControllerErrorCodeImagesDifferent : FBSnapshotTestControllerErrorCodeImagesDifferentSizes; - - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:errorCode - userInfo:@{ - NSLocalizedDescriptionKey: errorDescription, - NSLocalizedFailureReasonErrorKey: errorReason, - FBReferenceImageKey: referenceImage, - FBCapturedImageKey: image, - FBDiffedImageKey: [referenceImage fb_diffWithImage:image], - }]; - } - return NO; -} - -- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage - testImage:(UIImage *)testImage - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - NSData *referencePNGData = UIImagePNGRepresentation(referenceImage); - NSData *testPNGData = UIImagePNGRepresentation(testImage); - - NSString *referencePath = [self _failedFilePathForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeFailedReference]; - - NSError *creationError = nil; - BOOL didCreateDir = [_fileManager createDirectoryAtPath:[referencePath stringByDeletingLastPathComponent] - withIntermediateDirectories:YES - attributes:nil - error:&creationError]; - if (!didCreateDir) { - if (NULL != errorPtr) { - *errorPtr = creationError; - } - return NO; - } - - if (![referencePNGData writeToFile:referencePath options:NSDataWritingAtomic error:errorPtr]) { - return NO; - } - - NSString *testPath = [self _failedFilePathForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeFailedTest]; - - if (![testPNGData writeToFile:testPath options:NSDataWritingAtomic error:errorPtr]) { - return NO; - } - - NSString *diffPath = [self _failedFilePathForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeFailedTestDiff]; - - UIImage *diffImage = [referenceImage fb_diffWithImage:testImage]; - NSData *diffImageData = UIImagePNGRepresentation(diffImage); - - if (![diffImageData writeToFile:diffPath options:NSDataWritingAtomic error:errorPtr]) { - return NO; - } - - NSLog(@"If you have Kaleidoscope installed you can run this command to see an image diff:\n" - @"ksdiff \"%@\" \"%@\"", referencePath, testPath); - - return YES; -} - -#pragma mark - Private API - -- (NSString *)_fileNameForSelector:(SEL)selector - identifier:(NSString *)identifier - fileNameType:(FBTestSnapshotFileNameType)fileNameType -{ - NSString *fileName = nil; - switch (fileNameType) { - case FBTestSnapshotFileNameTypeFailedReference: - fileName = @"reference_"; - break; - case FBTestSnapshotFileNameTypeFailedTest: - fileName = @"failed_"; - break; - case FBTestSnapshotFileNameTypeFailedTestDiff: - fileName = @"diff_"; - break; - default: - fileName = @""; - break; - } - fileName = [fileName stringByAppendingString:NSStringFromSelector(selector)]; - if (0 < identifier.length) { - fileName = [fileName stringByAppendingFormat:@"_%@", identifier]; - } - - if (self.isDeviceAgnostic) { - fileName = FBDeviceAgnosticNormalizedFileName(fileName); - } - - if ([[UIScreen mainScreen] scale] > 1) { - fileName = [fileName stringByAppendingFormat:@"@%.fx", [[UIScreen mainScreen] scale]]; - } - fileName = [fileName stringByAppendingPathExtension:@"png"]; - return fileName; -} - -- (NSString *)_referenceFilePathForSelector:(SEL)selector - identifier:(NSString *)identifier -{ - NSString *fileName = [self _fileNameForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeReference]; - NSString *filePath = [_referenceImagesDirectory stringByAppendingPathComponent:_testName]; - filePath = [filePath stringByAppendingPathComponent:fileName]; - return filePath; -} - -- (NSString *)_failedFilePathForSelector:(SEL)selector - identifier:(NSString *)identifier - fileNameType:(FBTestSnapshotFileNameType)fileNameType -{ - NSString *fileName = [self _fileNameForSelector:selector - identifier:identifier - fileNameType:fileNameType]; - NSString *folderPath = NSTemporaryDirectory(); - if (getenv("IMAGE_DIFF_DIR")) { - folderPath = @(getenv("IMAGE_DIFF_DIR")); - } - NSString *filePath = [folderPath stringByAppendingPathComponent:_testName]; - filePath = [filePath stringByAppendingPathComponent:fileName]; - return filePath; -} - -- (BOOL)_performPixelComparisonWithViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - UIImage *referenceImage = [self referenceImageForSelector:selector identifier:identifier error:errorPtr]; - if (nil != referenceImage) { - UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer]; - BOOL imagesSame = [self compareReferenceImage:referenceImage toImage:snapshot tolerance:tolerance error:errorPtr]; - if (!imagesSame) { - NSError *saveError = nil; - if ([self saveFailedReferenceImage:referenceImage testImage:snapshot selector:selector identifier:identifier error:&saveError] == NO) { - NSLog(@"Error saving test images: %@", saveError); - } - } - return imagesSame; - } - return NO; -} - -- (BOOL)_recordSnapshotOfViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer]; - return [self _saveReferenceImage:snapshot selector:selector identifier:identifier error:errorPtr]; -} - -- (BOOL)_saveReferenceImage:(UIImage *)image - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - BOOL didWrite = NO; - if (nil != image) { - NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier]; - NSData *pngData = UIImagePNGRepresentation(image); - if (nil != pngData) { - NSError *creationError = nil; - BOOL didCreateDir = [_fileManager createDirectoryAtPath:[filePath stringByDeletingLastPathComponent] - withIntermediateDirectories:YES - attributes:nil - error:&creationError]; - if (!didCreateDir) { - if (NULL != errorPtr) { - *errorPtr = creationError; - } - return NO; - } - didWrite = [pngData writeToFile:filePath options:NSDataWritingAtomic error:errorPtr]; - if (didWrite) { - NSLog(@"Reference image save at: %@", filePath); - } - } else { - if (nil != errorPtr) { - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:FBSnapshotTestControllerErrorCodePNGCreationFailed - userInfo:@{ - FBReferenceImageFilePathKey: filePath, - }]; - } - } - } - return didWrite; -} - -- (UIImage *)_imageForViewOrLayer:(id)viewOrLayer -{ - if ([viewOrLayer isKindOfClass:[UIView class]]) { - if (_usesDrawViewHierarchyInRect) { - return [UIImage fb_imageForView:viewOrLayer]; - } else { - return [UIImage fb_imageForViewLayer:viewOrLayer]; - } - } else if ([viewOrLayer isKindOfClass:[CALayer class]]) { - return [UIImage fb_imageForLayer:viewOrLayer]; - } else { - [NSException raise:@"Only UIView and CALayer classes can be snapshotted" format:@"%@", viewOrLayer]; - } - return nil; -} - -@end diff --git a/Sample/Pods/FBSnapshotTestCase/LICENSE b/Sample/Pods/FBSnapshotTestCase/LICENSE deleted file mode 100644 index 2dd780c..0000000 --- a/Sample/Pods/FBSnapshotTestCase/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -BSD License - -For the FBSnapshotTestCase software - -Copyright (c) 2013, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Sample/Pods/FBSnapshotTestCase/README.md b/Sample/Pods/FBSnapshotTestCase/README.md deleted file mode 100644 index bc23b83..0000000 --- a/Sample/Pods/FBSnapshotTestCase/README.md +++ /dev/null @@ -1,97 +0,0 @@ -FBSnapshotTestCase -====================== - -[![Build Status](https://travis-ci.org/facebook/ios-snapshot-test-case.svg)](https://travis-ci.org/facebook/ios-snapshot-test-case) [![Cocoa Pod Version](https://cocoapod-badges.herokuapp.com/v/FBSnapshotTestCase/badge.svg)](http://cocoadocs.org/docsets/FBSnapshotTestCase/) - -What it does ------------- - -A "snapshot test case" takes a configured `UIView` or `CALayer` and uses the -`renderInContext:` method to get an image snapshot of its contents. It -compares this snapshot to a "reference image" stored in your source code -repository and fails the test if the two images don't match. - -Why? ----- - -At Facebook we write a lot of UI code. As you might imagine, each type of -feed story is rendered using a subclass of `UIView`. There are a lot of edge -cases that we want to handle correctly: - -- What if there is more text than can fit in the space available? -- What if an image doesn't match the size of an image view? -- What should the highlighted state look like? - -It's straightforward to test logic code, but less obvious how you should test -views. You can do a lot of rectangle asserts, but these are hard to understand -or visualize. Looking at an image diff shows you exactly what changed and how -it will look to users. - -We developed `FBSnapshotTestCase` to make snapshot tests easy. - -Installation with CocoaPods ---------------------------- - -1. Add the following lines to your Podfile: - - ``` - target "Tests" do - pod 'FBSnapshotTestCase' - end - ``` - - If you support iOS 7 use `FBSnapshotTestCase/Core` instead, which doesn't contain Swift support. - - Replace "Tests" with the name of your test project. - -2. There are [three ways](https://github.com/facebook/ios-snapshot-test-case/blob/master/FBSnapshotTestCase/FBSnapshotTestCase.h#L19-L29) of setting reference image directories, the recommended one is to define `FB_REFERENCE_IMAGE_DIR` in your scheme. This should point to the directory where you want reference images to be stored. At Facebook, we normally use this: - -|Name|Value| -|:---|:----| -|`FB_REFERENCE_IMAGE_DIR`|`$(SOURCE_ROOT)/$(PROJECT_NAME)Tests/ReferenceImages`| - - -![](FBSnapshotTestCaseDemo/Scheme_FB_REFERENCE_IMAGE_DIR.png) - -Creating a snapshot test ------------------------- - -1. Subclass `FBSnapshotTestCase` instead of `XCTestCase`. -2. From within your test, use `FBSnapshotVerifyView`. -3. Run the test once with `self.recordMode = YES;` in the test's `-setUp` - method. (This creates the reference images on disk.) -4. Remove the line enabling record mode and run the test. - -Features --------- - -- Automatically names reference images on disk according to test class and - selector. -- Prints a descriptive error message to the console on failure. (Bonus: - failure message includes a one-line command to see an image diff if - you have [Kaleidoscope](http://www.kaleidoscopeapp.com) installed.) -- Supply an optional "identifier" if you want to perform multiple snapshots - in a single test method. -- Support for `CALayer` via `FBSnapshotVerifyLayer`. -- `usesDrawViewHierarchyInRect` to handle cases like `UIVisualEffect`, `UIAppearance` and Size Classes. -- `isDeviceAgnostic` to allow appending the device model (`iPhone`, `iPad`, `iPod Touch`, etc), OS version and screen size to the images (allowing to have multiple tests for the same «snapshot» for different `OS`s and devices). - -Notes ------ - -Your unit test must be an "application test", not a "logic test." (That is, it -must be run within the Simulator so that it has access to UIKit.) In Xcode 5 -and later new projects only offer application tests, but older projects will -have separate targets for the two types. - -Authors -------- - -`FBSnapshotTestCase` was written at Facebook by -[Jonathan Dann](https://facebook.com/j.p.dann) with significant contributions by -[Todd Krabach](https://facebook.com/toddkrabach). - -License -------- - -`FBSnapshotTestCase` is BSD-licensed. See `LICENSE`. diff --git a/Sample/Pods/Headers/Private/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h b/Sample/Pods/Headers/Private/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h deleted file mode 120000 index 93356db..0000000 --- a/Sample/Pods/Headers/Private/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta+Snapshots/ExpectaObject+FBSnapshotTest.h b/Sample/Pods/Headers/Private/Expecta+Snapshots/ExpectaObject+FBSnapshotTest.h deleted file mode 120000 index e3e53b3..0000000 --- a/Sample/Pods/Headers/Private/Expecta+Snapshots/ExpectaObject+FBSnapshotTest.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta+Snapshots/ExpectaObject+FBSnapshotTest.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPBlockDefinedMatcher.h b/Sample/Pods/Headers/Private/Expecta/EXPBlockDefinedMatcher.h deleted file mode 120000 index ebefa87..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPBlockDefinedMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/EXPBlockDefinedMatcher.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPDefines.h b/Sample/Pods/Headers/Private/Expecta/EXPDefines.h deleted file mode 120000 index 22add0c..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPDefines.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/EXPDefines.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPDoubleTuple.h b/Sample/Pods/Headers/Private/Expecta/EXPDoubleTuple.h deleted file mode 120000 index 54aa0b5..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPDoubleTuple.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/EXPDoubleTuple.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPExpect.h b/Sample/Pods/Headers/Private/Expecta/EXPExpect.h deleted file mode 120000 index a677bdd..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPExpect.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/EXPExpect.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPFloatTuple.h b/Sample/Pods/Headers/Private/Expecta/EXPFloatTuple.h deleted file mode 120000 index 2b40569..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPFloatTuple.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/EXPFloatTuple.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatcher.h b/Sample/Pods/Headers/Private/Expecta/EXPMatcher.h deleted file mode 120000 index 3b20a12..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/EXPMatcher.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatcherHelpers.h b/Sample/Pods/Headers/Private/Expecta/EXPMatcherHelpers.h deleted file mode 120000 index 697385b..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatcherHelpers.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatcherHelpers.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beCloseTo.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beCloseTo.h deleted file mode 120000 index 0eed377..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beCloseTo.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beFalsy.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beFalsy.h deleted file mode 120000 index 92643c4..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beFalsy.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThan.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThan.h deleted file mode 120000 index 1ccc62b..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThan.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h deleted file mode 120000 index db5bf96..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beIdenticalTo.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beIdenticalTo.h deleted file mode 120000 index 6e17ea4..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beIdenticalTo.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beInTheRangeOf.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beInTheRangeOf.h deleted file mode 120000 index 362d8a7..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beInTheRangeOf.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beInstanceOf.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beInstanceOf.h deleted file mode 120000 index 4dd6063..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beInstanceOf.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beKindOf.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beKindOf.h deleted file mode 120000 index 113c7d3..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beKindOf.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beLessThan.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beLessThan.h deleted file mode 120000 index 675e86a..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beLessThan.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beLessThanOrEqualTo.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beLessThanOrEqualTo.h deleted file mode 120000 index c16df2f..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beLessThanOrEqualTo.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beNil.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beNil.h deleted file mode 120000 index 9f65a6c..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beNil.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beNil.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beSubclassOf.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beSubclassOf.h deleted file mode 120000 index 27aa7be..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beSubclassOf.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beSupersetOf.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beSupersetOf.h deleted file mode 120000 index ea3f770..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beSupersetOf.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beTruthy.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beTruthy.h deleted file mode 120000 index 192ac76..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beTruthy.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beginWith.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beginWith.h deleted file mode 120000 index 2efba8f..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+beginWith.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+beginWith.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+conformTo.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+conformTo.h deleted file mode 120000 index 062fb51..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+conformTo.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+conformTo.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+contain.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+contain.h deleted file mode 120000 index 3661fe5..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+contain.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+contain.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+endWith.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+endWith.h deleted file mode 120000 index 7e6c9cf..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+endWith.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+endWith.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+equal.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+equal.h deleted file mode 120000 index 7bee788..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+equal.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+equal.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+haveCountOf.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+haveCountOf.h deleted file mode 120000 index f46d23a..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+haveCountOf.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+match.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+match.h deleted file mode 120000 index 18f995d..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+match.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+match.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+postNotification.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+postNotification.h deleted file mode 120000 index c9422e3..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+postNotification.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+postNotification.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+raise.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+raise.h deleted file mode 120000 index 901e04c..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+raise.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+raise.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+raiseWithReason.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+raiseWithReason.h deleted file mode 120000 index 5b063b6..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+raiseWithReason.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+respondTo.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers+respondTo.h deleted file mode 120000 index e7a5fad..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers+respondTo.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers+respondTo.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPMatchers.h b/Sample/Pods/Headers/Private/Expecta/EXPMatchers.h deleted file mode 120000 index a454dc4..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPMatchers.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Matchers/EXPMatchers.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/EXPUnsupportedObject.h b/Sample/Pods/Headers/Private/Expecta/EXPUnsupportedObject.h deleted file mode 120000 index 60fae89..0000000 --- a/Sample/Pods/Headers/Private/Expecta/EXPUnsupportedObject.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/EXPUnsupportedObject.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/Expecta.h b/Sample/Pods/Headers/Private/Expecta/Expecta.h deleted file mode 120000 index 45ef877..0000000 --- a/Sample/Pods/Headers/Private/Expecta/Expecta.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/Expecta.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/ExpectaObject.h b/Sample/Pods/Headers/Private/Expecta/ExpectaObject.h deleted file mode 120000 index 36a99e1..0000000 --- a/Sample/Pods/Headers/Private/Expecta/ExpectaObject.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/ExpectaObject.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/ExpectaSupport.h b/Sample/Pods/Headers/Private/Expecta/ExpectaSupport.h deleted file mode 120000 index c59d3fc..0000000 --- a/Sample/Pods/Headers/Private/Expecta/ExpectaSupport.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/ExpectaSupport.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/NSObject+Expecta.h b/Sample/Pods/Headers/Private/Expecta/NSObject+Expecta.h deleted file mode 120000 index 55c3635..0000000 --- a/Sample/Pods/Headers/Private/Expecta/NSObject+Expecta.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/NSObject+Expecta.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Expecta/NSValue+Expecta.h b/Sample/Pods/Headers/Private/Expecta/NSValue+Expecta.h deleted file mode 120000 index ee557b8..0000000 --- a/Sample/Pods/Headers/Private/Expecta/NSValue+Expecta.h +++ /dev/null @@ -1 +0,0 @@ -../../../Expecta/Expecta/NSValue+Expecta.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCase.h b/Sample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCase.h deleted file mode 120000 index 2925eab..0000000 --- a/Sample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCase.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h b/Sample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h deleted file mode 120000 index 6127a30..0000000 --- a/Sample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestController.h b/Sample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestController.h deleted file mode 120000 index 4a7dea1..0000000 --- a/Sample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestController.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/FBSnapshotTestCase/UIApplication+StrictKeyWindow.h b/Sample/Pods/Headers/Private/FBSnapshotTestCase/UIApplication+StrictKeyWindow.h deleted file mode 120000 index efa5fe0..0000000 --- a/Sample/Pods/Headers/Private/FBSnapshotTestCase/UIApplication+StrictKeyWindow.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Compare.h b/Sample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Compare.h deleted file mode 120000 index 2fd266d..0000000 --- a/Sample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Compare.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Diff.h b/Sample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Diff.h deleted file mode 120000 index 2ecee67..0000000 --- a/Sample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Diff.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Snapshot.h b/Sample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Snapshot.h deleted file mode 120000 index 577a4cb..0000000 --- a/Sample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Snapshot.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/NSInvocation+OCMAdditions.h b/Sample/Pods/Headers/Private/OCMock/NSInvocation+OCMAdditions.h deleted file mode 120000 index 84f94f3..0000000 --- a/Sample/Pods/Headers/Private/OCMock/NSInvocation+OCMAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/NSInvocation+OCMAdditions.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/NSMethodSignature+OCMAdditions.h b/Sample/Pods/Headers/Private/OCMock/NSMethodSignature+OCMAdditions.h deleted file mode 120000 index 87ac967..0000000 --- a/Sample/Pods/Headers/Private/OCMock/NSMethodSignature+OCMAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/NSMethodSignature+OCMAdditions.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/NSNotificationCenter+OCMAdditions.h b/Sample/Pods/Headers/Private/OCMock/NSNotificationCenter+OCMAdditions.h deleted file mode 120000 index 9f46678..0000000 --- a/Sample/Pods/Headers/Private/OCMock/NSNotificationCenter+OCMAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/NSNotificationCenter+OCMAdditions.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/NSObject+OCMAdditions.h b/Sample/Pods/Headers/Private/OCMock/NSObject+OCMAdditions.h deleted file mode 120000 index 6fc84fd..0000000 --- a/Sample/Pods/Headers/Private/OCMock/NSObject+OCMAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/NSObject+OCMAdditions.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/NSValue+OCMAdditions.h b/Sample/Pods/Headers/Private/OCMock/NSValue+OCMAdditions.h deleted file mode 120000 index d031ef4..0000000 --- a/Sample/Pods/Headers/Private/OCMock/NSValue+OCMAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/NSValue+OCMAdditions.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCClassMockObject.h b/Sample/Pods/Headers/Private/OCMock/OCClassMockObject.h deleted file mode 120000 index 2f1f96b..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCClassMockObject.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCClassMockObject.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMArg.h b/Sample/Pods/Headers/Private/OCMock/OCMArg.h deleted file mode 120000 index 1090895..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMArg.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMArg.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMArgAction.h b/Sample/Pods/Headers/Private/OCMock/OCMArgAction.h deleted file mode 120000 index 41b92dd..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMArgAction.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMArgAction.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMBlockArgCaller.h b/Sample/Pods/Headers/Private/OCMock/OCMBlockArgCaller.h deleted file mode 120000 index 1e39ddd..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMBlockArgCaller.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMBlockArgCaller.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMBlockCaller.h b/Sample/Pods/Headers/Private/OCMock/OCMBlockCaller.h deleted file mode 120000 index 2510e82..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMBlockCaller.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMBlockCaller.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMBoxedReturnValueProvider.h b/Sample/Pods/Headers/Private/OCMock/OCMBoxedReturnValueProvider.h deleted file mode 120000 index c412f8d..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMBoxedReturnValueProvider.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMBoxedReturnValueProvider.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMConstraint.h b/Sample/Pods/Headers/Private/OCMock/OCMConstraint.h deleted file mode 120000 index 3089b8c..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMConstraint.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMConstraint.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMExceptionReturnValueProvider.h b/Sample/Pods/Headers/Private/OCMock/OCMExceptionReturnValueProvider.h deleted file mode 120000 index e0dbaec..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMExceptionReturnValueProvider.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMExceptionReturnValueProvider.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMExpectationRecorder.h b/Sample/Pods/Headers/Private/OCMock/OCMExpectationRecorder.h deleted file mode 120000 index 1da432a..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMExpectationRecorder.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMExpectationRecorder.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMFunctions.h b/Sample/Pods/Headers/Private/OCMock/OCMFunctions.h deleted file mode 120000 index 6a9606f..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMFunctions.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMFunctions.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMFunctionsPrivate.h b/Sample/Pods/Headers/Private/OCMock/OCMFunctionsPrivate.h deleted file mode 120000 index 88977c3..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMFunctionsPrivate.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMFunctionsPrivate.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMIndirectReturnValueProvider.h b/Sample/Pods/Headers/Private/OCMock/OCMIndirectReturnValueProvider.h deleted file mode 120000 index e4a0f66..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMIndirectReturnValueProvider.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMIndirectReturnValueProvider.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMInvocationExpectation.h b/Sample/Pods/Headers/Private/OCMock/OCMInvocationExpectation.h deleted file mode 120000 index ae7bd23..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMInvocationExpectation.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMInvocationExpectation.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMInvocationMatcher.h b/Sample/Pods/Headers/Private/OCMock/OCMInvocationMatcher.h deleted file mode 120000 index e178d64..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMInvocationMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMInvocationMatcher.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMInvocationStub.h b/Sample/Pods/Headers/Private/OCMock/OCMInvocationStub.h deleted file mode 120000 index 5ab5a9c..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMInvocationStub.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMInvocationStub.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMLocation.h b/Sample/Pods/Headers/Private/OCMock/OCMLocation.h deleted file mode 120000 index 25c8f0e..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMLocation.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMLocation.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMMacroState.h b/Sample/Pods/Headers/Private/OCMock/OCMMacroState.h deleted file mode 120000 index c8f3dd0..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMMacroState.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMMacroState.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMNotificationPoster.h b/Sample/Pods/Headers/Private/OCMock/OCMNotificationPoster.h deleted file mode 120000 index f879942..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMNotificationPoster.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMNotificationPoster.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMObserverRecorder.h b/Sample/Pods/Headers/Private/OCMock/OCMObserverRecorder.h deleted file mode 120000 index f0dfa86..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMObserverRecorder.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMObserverRecorder.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMPassByRefSetter.h b/Sample/Pods/Headers/Private/OCMock/OCMPassByRefSetter.h deleted file mode 120000 index 687a294..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMPassByRefSetter.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMPassByRefSetter.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMRealObjectForwarder.h b/Sample/Pods/Headers/Private/OCMock/OCMRealObjectForwarder.h deleted file mode 120000 index c22a73b..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMRealObjectForwarder.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMRealObjectForwarder.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMRecorder.h b/Sample/Pods/Headers/Private/OCMock/OCMRecorder.h deleted file mode 120000 index 75eb259..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMRecorder.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMRecorder.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMReturnValueProvider.h b/Sample/Pods/Headers/Private/OCMock/OCMReturnValueProvider.h deleted file mode 120000 index d5d857d..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMReturnValueProvider.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMReturnValueProvider.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMStubRecorder.h b/Sample/Pods/Headers/Private/OCMock/OCMStubRecorder.h deleted file mode 120000 index 23f5e6c..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMStubRecorder.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMStubRecorder.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMVerifier.h b/Sample/Pods/Headers/Private/OCMock/OCMVerifier.h deleted file mode 120000 index 2f36326..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMVerifier.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMVerifier.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMock.h b/Sample/Pods/Headers/Private/OCMock/OCMock.h deleted file mode 120000 index 17e2e68..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMock.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMock.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCMockObject.h b/Sample/Pods/Headers/Private/OCMock/OCMockObject.h deleted file mode 120000 index 5645aaa..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCMockObject.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCMockObject.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCObserverMockObject.h b/Sample/Pods/Headers/Private/OCMock/OCObserverMockObject.h deleted file mode 120000 index 73f73ef..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCObserverMockObject.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCObserverMockObject.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCPartialMockObject.h b/Sample/Pods/Headers/Private/OCMock/OCPartialMockObject.h deleted file mode 120000 index b76a341..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCPartialMockObject.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCPartialMockObject.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/OCMock/OCProtocolMockObject.h b/Sample/Pods/Headers/Private/OCMock/OCProtocolMockObject.h deleted file mode 120000 index ebe84d5..0000000 --- a/Sample/Pods/Headers/Private/OCMock/OCProtocolMockObject.h +++ /dev/null @@ -1 +0,0 @@ -../../../OCMock/Source/OCMock/OCProtocolMockObject.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/SPTCallSite.h b/Sample/Pods/Headers/Private/Specta/SPTCallSite.h deleted file mode 120000 index dbb535a..0000000 --- a/Sample/Pods/Headers/Private/Specta/SPTCallSite.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/SPTCallSite.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/SPTCompiledExample.h b/Sample/Pods/Headers/Private/Specta/SPTCompiledExample.h deleted file mode 120000 index 6597704..0000000 --- a/Sample/Pods/Headers/Private/Specta/SPTCompiledExample.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/SPTCompiledExample.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/SPTExample.h b/Sample/Pods/Headers/Private/Specta/SPTExample.h deleted file mode 120000 index 79a18d4..0000000 --- a/Sample/Pods/Headers/Private/Specta/SPTExample.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/SPTExample.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/SPTExampleGroup.h b/Sample/Pods/Headers/Private/Specta/SPTExampleGroup.h deleted file mode 120000 index 1effac5..0000000 --- a/Sample/Pods/Headers/Private/Specta/SPTExampleGroup.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/SPTExampleGroup.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/SPTExcludeGlobalBeforeAfterEach.h b/Sample/Pods/Headers/Private/Specta/SPTExcludeGlobalBeforeAfterEach.h deleted file mode 120000 index 64df734..0000000 --- a/Sample/Pods/Headers/Private/Specta/SPTExcludeGlobalBeforeAfterEach.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/SPTGlobalBeforeAfterEach.h b/Sample/Pods/Headers/Private/Specta/SPTGlobalBeforeAfterEach.h deleted file mode 120000 index 7f83b65..0000000 --- a/Sample/Pods/Headers/Private/Specta/SPTGlobalBeforeAfterEach.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/SPTSharedExampleGroups.h b/Sample/Pods/Headers/Private/Specta/SPTSharedExampleGroups.h deleted file mode 120000 index 579d360..0000000 --- a/Sample/Pods/Headers/Private/Specta/SPTSharedExampleGroups.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/SPTSharedExampleGroups.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/SPTSpec.h b/Sample/Pods/Headers/Private/Specta/SPTSpec.h deleted file mode 120000 index 3b1679a..0000000 --- a/Sample/Pods/Headers/Private/Specta/SPTSpec.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/SPTSpec.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/SPTTestSuite.h b/Sample/Pods/Headers/Private/Specta/SPTTestSuite.h deleted file mode 120000 index 2f607e4..0000000 --- a/Sample/Pods/Headers/Private/Specta/SPTTestSuite.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/SPTTestSuite.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/Specta.h b/Sample/Pods/Headers/Private/Specta/Specta.h deleted file mode 120000 index 111c968..0000000 --- a/Sample/Pods/Headers/Private/Specta/Specta.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/Specta.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/SpectaDSL.h b/Sample/Pods/Headers/Private/Specta/SpectaDSL.h deleted file mode 120000 index fd1ad37..0000000 --- a/Sample/Pods/Headers/Private/Specta/SpectaDSL.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/SpectaDSL.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/SpectaTypes.h b/Sample/Pods/Headers/Private/Specta/SpectaTypes.h deleted file mode 120000 index 9428b13..0000000 --- a/Sample/Pods/Headers/Private/Specta/SpectaTypes.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/SpectaTypes.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/SpectaUtility.h b/Sample/Pods/Headers/Private/Specta/SpectaUtility.h deleted file mode 120000 index 5762480..0000000 --- a/Sample/Pods/Headers/Private/Specta/SpectaUtility.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/SpectaUtility.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/XCTest+Private.h b/Sample/Pods/Headers/Private/Specta/XCTest+Private.h deleted file mode 120000 index bb4a8e0..0000000 --- a/Sample/Pods/Headers/Private/Specta/XCTest+Private.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/XCTest+Private.h \ No newline at end of file diff --git a/Sample/Pods/Headers/Private/Specta/XCTestCase+Specta.h b/Sample/Pods/Headers/Private/Specta/XCTestCase+Specta.h deleted file mode 120000 index 95f58cc..0000000 --- a/Sample/Pods/Headers/Private/Specta/XCTestCase+Specta.h +++ /dev/null @@ -1 +0,0 @@ -../../../Specta/Specta/Specta/XCTestCase+Specta.h \ No newline at end of file diff --git a/Sample/Pods/Manifest.lock b/Sample/Pods/Manifest.lock deleted file mode 100644 index 051169e..0000000 --- a/Sample/Pods/Manifest.lock +++ /dev/null @@ -1,24 +0,0 @@ -PODS: - - Expecta (1.0.5) - - Expecta+Snapshots (3.0.0): - - Expecta (~> 1.0) - - FBSnapshotTestCase/Core (~> 2.0) - - Specta (~> 1.0) - - FBSnapshotTestCase/Core (2.1.1) - - OCMock (3.3) - - Specta (1.0.5) - -DEPENDENCIES: - - Expecta (~> 1.0.5) - - Expecta+Snapshots (~> 3.0.0) - - OCMock (~> 3.2) - - Specta (~> 1.0.5) - -SPEC CHECKSUMS: - Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe - Expecta+Snapshots: c343f410c7a6392f3e22e78f94c44b6c0749a516 - FBSnapshotTestCase: 432afd8d059ccef7f207225894840a03fbcf7474 - OCMock: d68685bde31f69cb61d518dcb39269080c78b5ed - Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2 - -COCOAPODS: 0.39.0 diff --git a/Sample/Pods/OCMock/License.txt b/Sample/Pods/OCMock/License.txt deleted file mode 100644 index f433b1a..0000000 --- a/Sample/Pods/OCMock/License.txt +++ /dev/null @@ -1,177 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/Sample/Pods/OCMock/README.md b/Sample/Pods/OCMock/README.md deleted file mode 100644 index 948822e..0000000 --- a/Sample/Pods/OCMock/README.md +++ /dev/null @@ -1,10 +0,0 @@ -OCMock -====== - -OCMock is an Objective-C implementation of mock objects. - -For downloads, documentation, and support please visit [ocmock.org][]. - -[![Build Status](https://travis-ci.org/erikdoe/ocmock.svg?branch=master)](https://travis-ci.org/erikdoe/ocmock) - - [ocmock.org]: http://ocmock.org/ diff --git a/Sample/Pods/OCMock/Source/OCMock/NSInvocation+OCMAdditions.h b/Sample/Pods/OCMock/Source/OCMock/NSInvocation+OCMAdditions.h deleted file mode 100644 index 3db7005..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/NSInvocation+OCMAdditions.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2006-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface NSInvocation(OCMAdditions) - -+ (NSInvocation *)invocationForBlock:(id)block withArguments:(NSArray *)arguments; - -- (void)retainObjectArgumentsExcludingObject:(id)objectToExclude; - -- (id)getArgumentAtIndexAsObject:(NSInteger)argIndex; - -- (NSString *)invocationDescription; - -- (NSString *)argumentDescriptionAtIndex:(NSInteger)argIndex; - -- (NSString *)objectDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)charDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)unsignedCharDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)intDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)unsignedIntDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)shortDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)unsignedShortDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)longDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)unsignedLongDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)longLongDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)unsignedLongLongDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)doubleDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)floatDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)structDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)pointerDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)cStringDescriptionAtIndex:(NSInteger)anInt; -- (NSString *)selectorDescriptionAtIndex:(NSInteger)anInt; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/NSInvocation+OCMAdditions.m b/Sample/Pods/OCMock/Source/OCMock/NSInvocation+OCMAdditions.m deleted file mode 100644 index 49a9675..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/NSInvocation+OCMAdditions.m +++ /dev/null @@ -1,520 +0,0 @@ -/* - * Copyright (c) 2006-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#import "NSInvocation+OCMAdditions.h" -#import "OCMFunctionsPrivate.h" -#import "NSMethodSignature+OCMAdditions.h" - - -@implementation NSInvocation(OCMAdditions) - -+ (NSInvocation *)invocationForBlock:(id)block withArguments:(NSArray *)arguments -{ - NSMethodSignature *sig = [NSMethodSignature signatureForBlock:block]; - NSInvocation *inv = [self invocationWithMethodSignature:sig]; - - NSUInteger numArgsRequired = sig.numberOfArguments - 1; - if((arguments != nil) && ([arguments count] != numArgsRequired)) - [NSException raise:NSInvalidArgumentException format:@"Specified too few arguments for block; expected %lu arguments.", (unsigned long) numArgsRequired]; - - for(NSUInteger i = 0, j = 1; i < numArgsRequired; ++i, ++j) - { - id arg = [arguments objectAtIndex:i]; - [inv setArgumentWithObject:arg atIndex:j]; - } - - return inv; - -} - - -static NSString *const OCMRetainedObjectArgumentsKey = @"OCMRetainedObjectArgumentsKey"; - -- (void)retainObjectArgumentsExcludingObject:(id)objectToExclude -{ - if(objc_getAssociatedObject(self, OCMRetainedObjectArgumentsKey) != nil) - { - // looks like we've retained the arguments already; do nothing else - return; - } - - NSMutableArray *retainedArguments = [[NSMutableArray alloc] init]; - - id target = [self target]; - if((target != nil) && (target != objectToExclude) && !object_isClass(target)) - { - // Bad things will happen if the target is a block since it's not being - // copied. There isn't a very good way to tell if an invocation's target - // is a block though (the argument type at index 0 is always "@" even if - // the target is a Class or block), and in practice it's OK since you - // can't mock a block. - [retainedArguments addObject:target]; - } - - NSUInteger numberOfArguments = [[self methodSignature] numberOfArguments]; - for(NSUInteger index = 2; index < numberOfArguments; index++) - { - const char *argumentType = [[self methodSignature] getArgumentTypeAtIndex:index]; - if(OCMIsObjectType(argumentType) && !OCMIsClassType(argumentType)) - { - id argument; - [self getArgument:&argument atIndex:index]; - if((argument != nil) && (argument != objectToExclude)) - { - if(OCMIsBlockType(argumentType)) - { - // block types need to be copied in case they're stack blocks - id blockArgument = [argument copy]; - [retainedArguments addObject:blockArgument]; - [blockArgument release]; - } - else - { - [retainedArguments addObject:argument]; - } - } - } - } - - const char *returnType = [[self methodSignature] methodReturnType]; - if(OCMIsObjectType(returnType) && !OCMIsClassType(returnType)) - { - id returnValue; - [self getReturnValue:&returnValue]; - if((returnValue != nil) && (returnValue != objectToExclude)) - { - if(OCMIsBlockType(returnType)) - { - id blockReturnValue = [returnValue copy]; - [retainedArguments addObject:blockReturnValue]; - [blockReturnValue release]; - } - else - { - [retainedArguments addObject:returnValue]; - } - } - } - - objc_setAssociatedObject(self, OCMRetainedObjectArgumentsKey, retainedArguments, OBJC_ASSOCIATION_RETAIN); - [retainedArguments release]; -} - - -- (void)setArgumentWithObject:(id)arg atIndex:(NSInteger)idx -{ - const char *typeEncoding = [[self methodSignature] getArgumentTypeAtIndex:idx]; - if((arg == nil) || [arg isKindOfClass:[NSNull class]]) - { - if(typeEncoding[0] == '^') - { - void *nullPtr = NULL; - [self setArgument:&nullPtr atIndex:idx]; - } - else if(typeEncoding[0] == '@') - { - id nilObj = nil; - [self setArgument:&nilObj atIndex:idx]; - } - else if(OCMNumberTypeForObjCType(typeEncoding)) - { - NSUInteger argSize; - NSGetSizeAndAlignment(typeEncoding, NULL, &argSize); - void *argBuffer = calloc(1, argSize); - [self setArgument:argBuffer atIndex:idx]; - free(argBuffer); - } - else - { - [NSException raise:NSInvalidArgumentException format:@"Unable to create default value for type '%s'.", typeEncoding]; - } - } - else if(OCMIsObjectType(typeEncoding)) - { - [self setArgument:&arg atIndex:idx]; - } - else - { - if(![arg isKindOfClass:[NSValue class]]) - [NSException raise:NSInvalidArgumentException format:@"Argument '%@' should be boxed in NSValue.", arg]; - - char const *valEncoding = [arg objCType]; - - /// @note Here we allow any data pointer to be passed as a void pointer and - /// any numerical types to be passed as arguments to the block. - BOOL takesVoidPtr = !strcmp(typeEncoding, "^v") && valEncoding[0] == '^'; - BOOL takesNumber = OCMNumberTypeForObjCType(typeEncoding) && OCMNumberTypeForObjCType(valEncoding); - - if(!takesVoidPtr && !takesNumber && !OCMEqualTypesAllowingOpaqueStructs(typeEncoding, valEncoding)) - [NSException raise:NSInvalidArgumentException format:@"Argument type mismatch; type of argument required is '%s' but type of value provided is '%s'", typeEncoding, valEncoding]; - - NSUInteger argSize; - NSGetSizeAndAlignment(typeEncoding, &argSize, NULL); - void *argBuffer = malloc(argSize); - [arg getValue:argBuffer]; - [self setArgument:argBuffer atIndex:idx]; - free(argBuffer); - } - -} - - -- (id)getArgumentAtIndexAsObject:(NSInteger)argIndex -{ - const char *argType = OCMTypeWithoutQualifiers([[self methodSignature] getArgumentTypeAtIndex:(NSUInteger)argIndex]); - - if((strlen(argType) > 1) && (strchr("{^", argType[0]) == NULL) && (strcmp("@?", argType) != 0)) - [NSException raise:NSInvalidArgumentException format:@"Cannot handle argument type '%s'.", argType]; - - if(OCMIsObjectType(argType)) - { - id value; - [self getArgument:&value atIndex:argIndex]; - return value; - } - - switch(argType[0]) - { - case ':': - { - SEL s = (SEL)0; - [self getArgument:&s atIndex:argIndex]; - return [NSValue valueWithBytes:&s objCType:":"]; - } - case 'i': - { - int value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 's': - { - short value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'l': - { - long value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'q': - { - long long value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'c': - { - char value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'C': - { - unsigned char value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'I': - { - unsigned int value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'S': - { - unsigned short value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'L': - { - unsigned long value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'Q': - { - unsigned long long value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'f': - { - float value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'd': - { - double value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'D': - { - long double value; - [self getArgument:&value atIndex:argIndex]; - return [NSValue valueWithBytes:&value objCType:@encode(__typeof__(value))]; - } - case 'B': - { - bool value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case '^': - case '*': - { - void *value = NULL; - [self getArgument:&value atIndex:argIndex]; - return [NSValue valueWithPointer:value]; - } - case '{': // structure - { - NSUInteger argSize; - NSGetSizeAndAlignment([[self methodSignature] getArgumentTypeAtIndex:(NSUInteger)argIndex], &argSize, NULL); - if(argSize == 0) // TODO: Can this happen? Is frameLength a good choice in that case? - argSize = [[self methodSignature] frameLength]; - NSMutableData *argumentData = [[[NSMutableData alloc] initWithLength:argSize] 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]; - NSUInteger i; - for(i = 2; i < numberOfArgs; i++) - { - [description appendFormat:@"%@%@:", (i > 2 ? @" " : @""), [selectorParts objectAtIndex:(i - 2)]]; - [description appendString:[self argumentDescriptionAtIndex:(NSInteger)i]]; - } - - return [description autorelease]; -} - -- (NSString *)argumentDescriptionAtIndex:(NSInteger)argIndex -{ - const char *argType = OCMTypeWithoutQualifiers([[self methodSignature] getArgumentTypeAtIndex:(NSUInteger)argIndex]); - - switch(*argType) - { - case '@': return [self objectDescriptionAtIndex:argIndex]; - case 'B': return [self boolDescriptionAtIndex: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]; - case 'D': return [self longDoubleDescriptionAtIndex:argIndex]; - case '{': return [self structDescriptionAtIndex:argIndex]; - case '^': return [self pointerDescriptionAtIndex:argIndex]; - case '*': return [self cStringDescriptionAtIndex:argIndex]; - case ':': return [self selectorDescriptionAtIndex:argIndex]; - default: return [@""]; // avoid confusion with trigraphs... - } - -} - - -- (NSString *)objectDescriptionAtIndex:(NSInteger)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 - // The description cannot be nil, if it is then replace it - return [object description] ?: @""; -} - -- (NSString *)boolDescriptionAtIndex:(NSInteger)anInt -{ - bool value; - [self getArgument:&value atIndex:anInt]; - return value? @"YES" : @"NO"; -} - -- (NSString *)charDescriptionAtIndex:(NSInteger)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 (buffer[0] == 1 ? @"YES" : @"NO"); - else - return [NSString stringWithFormat:@"'%c'", *buffer]; -} - -- (NSString *)unsignedCharDescriptionAtIndex:(NSInteger)anInt -{ - unsigned char buffer[128]; - memset(buffer, 0x0, 128); - - [self getArgument:&buffer atIndex:anInt]; - return [NSString stringWithFormat:@"'%c'", *buffer]; -} - -- (NSString *)intDescriptionAtIndex:(NSInteger)anInt -{ - int intValue; - - [self getArgument:&intValue atIndex:anInt]; - return [NSString stringWithFormat:@"%d", intValue]; -} - -- (NSString *)unsignedIntDescriptionAtIndex:(NSInteger)anInt -{ - unsigned int intValue; - - [self getArgument:&intValue atIndex:anInt]; - return [NSString stringWithFormat:@"%d", intValue]; -} - -- (NSString *)shortDescriptionAtIndex:(NSInteger)anInt -{ - short shortValue; - - [self getArgument:&shortValue atIndex:anInt]; - return [NSString stringWithFormat:@"%hi", shortValue]; -} - -- (NSString *)unsignedShortDescriptionAtIndex:(NSInteger)anInt -{ - unsigned short shortValue; - - [self getArgument:&shortValue atIndex:anInt]; - return [NSString stringWithFormat:@"%hu", shortValue]; -} - -- (NSString *)longDescriptionAtIndex:(NSInteger)anInt -{ - long longValue; - - [self getArgument:&longValue atIndex:anInt]; - return [NSString stringWithFormat:@"%ld", longValue]; -} - -- (NSString *)unsignedLongDescriptionAtIndex:(NSInteger)anInt -{ - unsigned long longValue; - - [self getArgument:&longValue atIndex:anInt]; - return [NSString stringWithFormat:@"%lu", longValue]; -} - -- (NSString *)longLongDescriptionAtIndex:(NSInteger)anInt -{ - long long longLongValue; - - [self getArgument:&longLongValue atIndex:anInt]; - return [NSString stringWithFormat:@"%qi", longLongValue]; -} - -- (NSString *)unsignedLongLongDescriptionAtIndex:(NSInteger)anInt -{ - unsigned long long longLongValue; - - [self getArgument:&longLongValue atIndex:anInt]; - return [NSString stringWithFormat:@"%qu", longLongValue]; -} - -- (NSString *)doubleDescriptionAtIndex:(NSInteger)anInt -{ - double doubleValue; - - [self getArgument:&doubleValue atIndex:anInt]; - return [NSString stringWithFormat:@"%f", doubleValue]; -} - -- (NSString *)floatDescriptionAtIndex:(NSInteger)anInt -{ - float floatValue; - - [self getArgument:&floatValue atIndex:anInt]; - return [NSString stringWithFormat:@"%f", floatValue]; -} - -- (NSString *)longDoubleDescriptionAtIndex:(NSInteger)anInt -{ - long double longDoubleValue; - - [self getArgument:&longDoubleValue atIndex:anInt]; - return [NSString stringWithFormat:@"%Lf", longDoubleValue]; -} - -- (NSString *)structDescriptionAtIndex:(NSInteger)anInt -{ - return [NSString stringWithFormat:@"(%@)", [[self getArgumentAtIndexAsObject:anInt] description]]; -} - -- (NSString *)pointerDescriptionAtIndex:(NSInteger)anInt -{ - void *buffer; - - [self getArgument:&buffer atIndex:anInt]; - return [NSString stringWithFormat:@"%p", buffer]; -} - -- (NSString *)cStringDescriptionAtIndex:(NSInteger)anInt -{ - char buffer[104]; - char *cStringPtr; - - [self getArgument:&cStringPtr atIndex:anInt]; - strlcpy(buffer, cStringPtr, sizeof(buffer)); - strlcpy(buffer + 100, "...", (sizeof(buffer) - 100)); - return [NSString stringWithFormat:@"\"%s\"", buffer]; -} - -- (NSString *)selectorDescriptionAtIndex:(NSInteger)anInt -{ - SEL selectorValue; - - [self getArgument:&selectorValue atIndex:anInt]; - return [NSString stringWithFormat:@"@selector(%@)", NSStringFromSelector(selectorValue)]; -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/NSMethodSignature+OCMAdditions.h b/Sample/Pods/OCMock/Source/OCMock/NSMethodSignature+OCMAdditions.h deleted file mode 100644 index d01f5fd..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/NSMethodSignature+OCMAdditions.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface NSMethodSignature(OCMAdditions) - -+ (NSMethodSignature *)signatureForDynamicPropertyAccessedWithSelector:(SEL)selector inClass:(Class)aClass; -+ (NSMethodSignature *)signatureForBlock:(id)block; - -- (BOOL)usesSpecialStructureReturn; - -- (NSString *)fullTypeString; -- (const char *)fullObjCTypes; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/NSMethodSignature+OCMAdditions.m b/Sample/Pods/OCMock/Source/OCMock/NSMethodSignature+OCMAdditions.m deleted file mode 100644 index bc043b2..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/NSMethodSignature+OCMAdditions.m +++ /dev/null @@ -1,205 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "NSMethodSignature+OCMAdditions.h" -#import "OCMFunctionsPrivate.h" -#import - - -@implementation NSMethodSignature(OCMAdditions) - -#pragma mark Signatures for dynamic properties - -+ (NSMethodSignature *)signatureForDynamicPropertyAccessedWithSelector:(SEL)selector inClass:(Class)aClass -{ - BOOL isGetter = YES; - objc_property_t property = [self propertyMatchingSelector:selector inClass:aClass isGetter:&isGetter]; - if(property == NULL) - return nil; - - const char *propertyAttributesString = property_getAttributes(property); - NSArray *propertyAttributes = [[NSString stringWithCString:propertyAttributesString - encoding:NSASCIIStringEncoding] componentsSeparatedByString:@","]; - NSString *typeStr = nil; - BOOL isDynamic = NO; - for(NSString *attribute in propertyAttributes) - { - if([attribute isEqualToString:@"D"]) - isDynamic = YES; - else if([attribute hasPrefix:@"T"]) - typeStr = [attribute substringFromIndex:1]; - } - - if(!isDynamic) - return nil; - - NSRange r = [typeStr rangeOfString:@"\""]; // incomplete workaround to deal with structs - if(r.location != NSNotFound) - typeStr = [typeStr substringToIndex:r.location]; - - NSString *sigStringFormat = isGetter ? @"%@@:" : @"v@:%@"; - const char *sigCString = [[NSString stringWithFormat:sigStringFormat, typeStr] cStringUsingEncoding:NSASCIIStringEncoding]; - return [NSMethodSignature signatureWithObjCTypes:sigCString]; -} - - -+ (objc_property_t)propertyMatchingSelector:(SEL)selector inClass:(Class)aClass isGetter:(BOOL *)isGetterPtr -{ - NSString *propertyName = NSStringFromSelector(selector); - - // first try selector as is aassuming it's a getter - objc_property_t property = class_getProperty(aClass, [propertyName cStringUsingEncoding:NSASCIIStringEncoding]); - if(property != NULL) - { - *isGetterPtr = YES; - return property; - } - - // try setter next if selector starts with "set" - if([propertyName hasPrefix:@"set"]) - { - propertyName = [propertyName substringFromIndex:@"set".length]; - propertyName = [propertyName stringByReplacingCharactersInRange:NSMakeRange(0, 1) withString:[[propertyName substringToIndex:1] lowercaseString]]; - if([propertyName hasSuffix:@":"]) - propertyName = [propertyName substringToIndex:[propertyName length] - 1]; - - property = class_getProperty(aClass, [propertyName cStringUsingEncoding:NSASCIIStringEncoding]); - if(property != NULL) - { - *isGetterPtr = NO; - return property; - } - } - - // search through properties with custom getter/setter that corresponds to selector - unsigned int propertiesCount = 0; - objc_property_t *allProperties = class_copyPropertyList(aClass, &propertiesCount); - for(unsigned int i = 0 ; i < propertiesCount; i++) - { - NSArray *propertyAttributes = [[NSString stringWithCString:property_getAttributes(allProperties[i]) - encoding:NSASCIIStringEncoding] componentsSeparatedByString:@","]; - for(NSString *attribute in propertyAttributes) - { - if(([attribute hasPrefix:@"G"] || [attribute hasPrefix:@"S"]) && - [[attribute substringFromIndex:1] isEqualToString:propertyName]) - { - *isGetterPtr = ![attribute hasPrefix:@"S"]; - property = allProperties[i]; - i = propertiesCount; - break; - } - } - } - free(allProperties); - - return property; -} - - -#pragma mark Signatures for blocks - -struct OCMBlockDef -{ - void *isa; // initialized to &_NSConcreteStackBlock or &_NSConcreteGlobalBlock - int flags; - int reserved; - void (*invoke)(void *, ...); - struct block_descriptor { - unsigned long int reserved; // NULL - unsigned long int size; // sizeof(struct Block_literal_1) - // optional helper functions - void (*copy_helper)(void *dst, void *src); // IFF (1<<25) - void (*dispose_helper)(void *src); // IFF (1<<25) - // required ABI.2010.3.16 - const char *signature; // IFF (1<<30) - } *descriptor; -}; - -enum -{ - OCMBlockDescriptionFlagsHasCopyDispose = (1 << 25), - OCMBlockDescriptionFlagsHasSignature = (1 << 30) -}; - - -+ (NSMethodSignature *)signatureForBlock:(id)block -{ - /* For a more complete implementation of parsing the block data structure see: - * - * https://github.com/ebf/CTObjectiveCRuntimeAdditions/tree/master/CTObjectiveCRuntimeAdditions/CTObjectiveCRuntimeAdditions - */ - - struct OCMBlockDef *blockRef = (__bridge struct OCMBlockDef *)block; - - if(!(blockRef->flags & OCMBlockDescriptionFlagsHasSignature)) - return nil; - - void *signatureLocation = blockRef->descriptor; - signatureLocation += sizeof(unsigned long int); - signatureLocation += sizeof(unsigned long int); - if(blockRef->flags & OCMBlockDescriptionFlagsHasCopyDispose) - { - signatureLocation += sizeof(void(*)(void *dst, void *src)); - signatureLocation += sizeof(void (*)(void *src)); - } - - const char *signature = (*(const char **)signatureLocation); - return [NSMethodSignature signatureWithObjCTypes:signature]; -} - - -#pragma mark Extended attributes - -- (BOOL)usesSpecialStructureReturn -{ - const char *types = OCMTypeWithoutQualifiers([self methodReturnType]); - - if((types == NULL) || (types[0] != '{')) - return NO; - - /* In some cases structures are returned by ref. The rules are complex and depend on the - architecture, see: - - http://sealiesoftware.com/blog/archive/2008/10/30/objc_explain_objc_msgSend_stret.html - http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/LowLevelABI/000-Introduction/introduction.html - https://github.com/atgreen/libffi/blob/master/src/x86/ffi64.c - http://www.uclibc.org/docs/psABI-x86_64.pdf - http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042e/IHI0042E_aapcs.pdf - - NSMethodSignature knows the details but has no API to return it, though it is in - the debugDescription. Horribly kludgy. - */ - NSRange range = [[self debugDescription] rangeOfString:@"is special struct return? YES"]; - return range.length > 0; -} - - -- (NSString *)fullTypeString -{ - NSMutableString *typeString = [NSMutableString string]; - [typeString appendFormat:@"%s", [self methodReturnType]]; - for (NSUInteger i=0; i<[self numberOfArguments]; i++) - [typeString appendFormat:@"%s", [self getArgumentTypeAtIndex:i]]; - return typeString; -} - - -- (const char *)fullObjCTypes -{ - return [[self fullTypeString] UTF8String]; -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/NSNotificationCenter+OCMAdditions.h b/Sample/Pods/OCMock/Source/OCMock/NSNotificationCenter+OCMAdditions.h deleted file mode 100644 index 7d58aab..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/NSNotificationCenter+OCMAdditions.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@class OCObserverMockObject; - - -@interface NSNotificationCenter(OCMAdditions) - -- (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/NSNotificationCenter+OCMAdditions.m b/Sample/Pods/OCMock/Source/OCMock/NSNotificationCenter+OCMAdditions.m deleted file mode 100644 index f758764..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/NSNotificationCenter+OCMAdditions.m +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "NSNotificationCenter+OCMAdditions.h" -#import "OCObserverMockObject.h" - - -@implementation NSNotificationCenter(OCMAdditions) - -- (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender -{ - [notificationObserver autoRemoveFromCenter:self]; - [self addObserver:notificationObserver selector:@selector(handleNotification:) name:notificationName object:notificationSender]; -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/NSObject+OCMAdditions.h b/Sample/Pods/OCMock/Source/OCMock/NSObject+OCMAdditions.h deleted file mode 100644 index 519fde9..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/NSObject+OCMAdditions.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2013-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface NSObject(OCMAdditions) - -+ (IMP)instanceMethodForwarderForSelector:(SEL)aSelector; -+ (void)enumerateMethodsInClass:(Class)aClass usingBlock:(void (^)(Class cls, SEL sel))aBlock; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/NSObject+OCMAdditions.m b/Sample/Pods/OCMock/Source/OCMock/NSObject+OCMAdditions.m deleted file mode 100644 index 8f3c391..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/NSObject+OCMAdditions.m +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "NSObject+OCMAdditions.h" -#import "NSMethodSignature+OCMAdditions.h" -#import - -@implementation NSObject(OCMAdditions) - -+ (IMP)instanceMethodForwarderForSelector:(SEL)aSelector -{ - // use sel_registerName() and not @selector to avoid warning - SEL selectorWithNoImplementation = sel_registerName("methodWhichMustNotExist::::"); - -#ifndef __arm64__ - static NSMutableDictionary *_OCMReturnTypeCache; - - if(_OCMReturnTypeCache == nil) - _OCMReturnTypeCache = [[NSMutableDictionary alloc] init]; - - BOOL needsStructureReturn; - void *rawCacheKey[2] = { (void *)self, aSelector }; - NSData *cacheKey = [NSData dataWithBytes:rawCacheKey length:sizeof(rawCacheKey)]; - NSNumber *cachedValue = [_OCMReturnTypeCache objectForKey:cacheKey]; - - if(cachedValue == nil) - { - NSMethodSignature *sig = [self instanceMethodSignatureForSelector:aSelector]; - needsStructureReturn = [sig usesSpecialStructureReturn]; - [_OCMReturnTypeCache setObject:@(needsStructureReturn) forKey:cacheKey]; - } - else - { - needsStructureReturn = [cachedValue boolValue]; - } - - if(needsStructureReturn) - return class_getMethodImplementation_stret([NSObject class], selectorWithNoImplementation); -#endif - - return class_getMethodImplementation([NSObject class], selectorWithNoImplementation); -} - - -+ (void)enumerateMethodsInClass:(Class)aClass usingBlock:(void (^)(Class cls, SEL sel))aBlock -{ - for(Class cls = aClass; cls != nil; cls = class_getSuperclass(cls)) - { - Method *methodList = class_copyMethodList(cls, NULL); - if(methodList == NULL) - continue; - - for(Method *mPtr = methodList; *mPtr != NULL; mPtr++) - { - SEL sel = method_getName(*mPtr); - aBlock(cls, sel); - } - free(methodList); - } -} - - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/NSValue+OCMAdditions.h b/Sample/Pods/OCMock/Source/OCMock/NSValue+OCMAdditions.h deleted file mode 100644 index d6977af..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/NSValue+OCMAdditions.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface NSValue(OCMAdditions) - -- (BOOL)getBytes:(void *)outputBuf objCType:(const char *)targetType; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/NSValue+OCMAdditions.m b/Sample/Pods/OCMock/Source/OCMock/NSValue+OCMAdditions.m deleted file mode 100644 index b3aa293..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/NSValue+OCMAdditions.m +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "NSValue+OCMAdditions.h" -#import "OCMFunctionsPrivate.h" - -@implementation NSValue(OCMAdditions) - -static NSNumber *OCMNumberForValue(NSValue *value) -{ -#define CREATE_NUM(_type) ({ _type _v; [value getValue:&_v]; @(_v); }) - switch([value objCType][0]) - { - case 'c': return CREATE_NUM(char); - case 'C': return CREATE_NUM(unsigned char); - case 'B': return CREATE_NUM(bool); - case 's': return CREATE_NUM(short); - case 'S': return CREATE_NUM(unsigned short); - case 'i': return CREATE_NUM(int); - case 'I': return CREATE_NUM(unsigned int); - case 'l': return CREATE_NUM(long); - case 'L': return CREATE_NUM(unsigned long); - case 'q': return CREATE_NUM(long long); - case 'Q': return CREATE_NUM(unsigned long long); - case 'f': return CREATE_NUM(float); - case 'd': return CREATE_NUM(double); - default: return nil; - } -} - - -- (BOOL)getBytes:(void *)outputBuf objCType:(const char *)targetType -{ - /* - * See if they are similar number types, and if we can convert losslessly between them. - * For the most part, we set things up to use CFNumberGetValue, which returns false if - * conversion will be lossy. - */ - CFNumberType inputType = OCMNumberTypeForObjCType([self objCType]); - CFNumberType outputType = OCMNumberTypeForObjCType(targetType); - - if(inputType == 0 || outputType == 0) // one or both are non-number types - return NO; - - NSNumber *inputNumber = [self isKindOfClass:[NSNumber class]] ? (NSNumber *)self : OCMNumberForValue(self); - - /* - * Due to some legacy, back-compatible requirements in CFNumber.c, CFNumberGetValue can return true for - * some conversions which should not be allowed (by reading source, conversions from integer types to - * 8-bit or 16-bit integer types). So, check ourselves. - */ - long long min; - long long max; - long long val = [inputNumber longLongValue]; - switch(targetType[0]) - { - case 'B': - case 'c': min = CHAR_MIN; max = CHAR_MAX; break; - case 'C': min = 0; max = UCHAR_MAX; break; - case 's': min = SHRT_MIN; max = SHRT_MAX; break; - case 'S': min = 0; max = USHRT_MAX; break; - default: min = LLONG_MIN; max = LLONG_MAX; break; - } - if(val < min || val > max) - return NO; - - /* Get the number, and return NO if the value was out of range or conversion was lossy */ - return CFNumberGetValue((CFNumberRef)inputNumber, outputType, outputBuf); -} - - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCClassMockObject.h b/Sample/Pods/OCMock/Source/OCMock/OCClassMockObject.h deleted file mode 100644 index 29c67f1..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCClassMockObject.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2005-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface OCClassMockObject : OCMockObject -{ - Class mockedClass; - Class originalMetaClass; -} - -- (id)initWithClass:(Class)aClass; - -- (Class)mockedClass; -- (Class)mockObjectClass; // since -class returns the mockedClass - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCClassMockObject.m b/Sample/Pods/OCMock/Source/OCMock/OCClassMockObject.m deleted file mode 100644 index 867082d..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCClassMockObject.m +++ /dev/null @@ -1,295 +0,0 @@ -/* - * Copyright (c) 2005-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#import "OCClassMockObject.h" -#import "NSObject+OCMAdditions.h" -#import "OCMFunctionsPrivate.h" -#import "OCMInvocationStub.h" -#import "NSMethodSignature+OCMAdditions.h" - -@implementation OCClassMockObject - -#pragma mark Initialisers, description, accessors, etc. - -- (id)initWithClass:(Class)aClass -{ - NSParameterAssert(aClass != nil); - [super init]; - mockedClass = aClass; - [self prepareClassForClassMethodMocking]; - return self; -} - -- (void)dealloc -{ - [self stopMocking]; - [super dealloc]; -} - -- (NSString *)description -{ - return [NSString stringWithFormat:@"OCMockObject(%@)", NSStringFromClass(mockedClass)]; -} - -- (Class)mockedClass -{ - return mockedClass; -} - -#pragma mark Extending/overriding superclass behaviour - -- (void)stopMocking -{ - if(originalMetaClass != nil) - { - /* The mocked class has the meta class of a dynamically created subclass as its meta class, - but we need a reference to the subclass to dispose it. Asking the meta class for its - class name returns the actual class name, which we can then use to look up the class... - */ - const char *createdSubclassName = object_getClassName(mockedClass); - Class createdSubclass = objc_lookUpClass(createdSubclassName); - - [self restoreMetaClass]; - - objc_disposeClassPair(createdSubclass); - } - [super stopMocking]; -} - -- (void)restoreMetaClass -{ - OCMSetAssociatedMockForClass(nil, mockedClass); - object_setClass(mockedClass, originalMetaClass); - originalMetaClass = nil; -} - -- (void)addStub:(OCMInvocationStub *)aStub -{ - [super addStub:aStub]; - if([aStub recordedAsClassMethod]) - [self setupForwarderForClassMethodSelector:[[aStub recordedInvocation] selector]]; -} - - -#pragma mark Class method mocking - -- (void)prepareClassForClassMethodMocking -{ - /* haven't figured out how to work around runtime dependencies on NSString, so exclude it for now */ - if([[mockedClass class] isSubclassOfClass:[NSString class]]) - return; - - /* if there is another mock for this exact class, stop it */ - id otherMock = OCMGetAssociatedMockForClass(mockedClass, NO); - if(otherMock != nil) - [otherMock restoreMetaClass]; - - OCMSetAssociatedMockForClass(self, mockedClass); - - /* dynamically create a subclass and use its meta class as the meta class for the mocked class */ - Class subclass = OCMCreateSubclass(mockedClass, mockedClass); - originalMetaClass = object_getClass(mockedClass); - id newMetaClass = object_getClass(subclass); - - /* create a dummy initialize method */ - Method myDummyInitializeMethod = class_getInstanceMethod([self mockObjectClass], @selector(initializeForClassObject)); - const char *initializeTypes = method_getTypeEncoding(myDummyInitializeMethod); - IMP myDummyInitializeIMP = method_getImplementation(myDummyInitializeMethod); - class_addMethod(newMetaClass, @selector(initialize), myDummyInitializeIMP, initializeTypes); - - object_setClass(mockedClass, newMetaClass); // only after dummy initialize is installed (iOS9) - - /* point forwardInvocation: of the object to the implementation in the mock */ - Method myForwardMethod = class_getInstanceMethod([self mockObjectClass], @selector(forwardInvocationForClassObject:)); - IMP myForwardIMP = method_getImplementation(myForwardMethod); - class_addMethod(newMetaClass, @selector(forwardInvocation:), myForwardIMP, method_getTypeEncoding(myForwardMethod)); - - - /* adding forwarder for most class methods (instance methods on meta class) to allow for verify after run */ - NSArray *methodBlackList = @[@"class", @"forwardingTargetForSelector:", @"methodSignatureForSelector:", @"forwardInvocation:", @"isBlock", - @"instanceMethodForwarderForSelector:", @"instanceMethodSignatureForSelector:"]; - [NSObject enumerateMethodsInClass:originalMetaClass usingBlock:^(Class cls, SEL sel) { - if((cls == object_getClass([NSObject class])) || (cls == [NSObject class]) || (cls == object_getClass(cls))) - return; - NSString *className = NSStringFromClass(cls); - NSString *selName = NSStringFromSelector(sel); - if(([className hasPrefix:@"NS"] || [className hasPrefix:@"UI"]) && - ([selName hasPrefix:@"_"] || [selName hasSuffix:@"_"])) - return; - if([methodBlackList containsObject:selName]) - return; - @try - { - [self setupForwarderForClassMethodSelector:sel]; - } - @catch(NSException *e) - { - // ignore for now - } - }]; -} - -- (void)setupForwarderForClassMethodSelector:(SEL)selector -{ - SEL aliasSelector = OCMAliasForOriginalSelector(selector); - if(class_getClassMethod(mockedClass, aliasSelector) != NULL) - return; - - Method originalMethod = class_getClassMethod(mockedClass, selector); - IMP originalIMP = method_getImplementation(originalMethod); - const char *types = method_getTypeEncoding(originalMethod); - - Class metaClass = object_getClass(mockedClass); - IMP forwarderIMP = [originalMetaClass instanceMethodForwarderForSelector:selector]; - class_replaceMethod(metaClass, selector, forwarderIMP, types); - class_addMethod(metaClass, aliasSelector, originalIMP, types); -} - - -- (void)forwardInvocationForClassObject:(NSInvocation *)anInvocation -{ - // in here "self" is a reference to the real class, not the mock - OCClassMockObject *mock = OCMGetAssociatedMockForClass((Class) self, YES); - if(mock == nil) - { - [NSException raise:NSInternalInconsistencyException format:@"No mock for class %@", NSStringFromClass((Class)self)]; - } - if([mock handleInvocation:anInvocation] == NO) - { - [anInvocation setSelector:OCMAliasForOriginalSelector([anInvocation selector])]; - [anInvocation invoke]; - } -} - -- (void)initializeForClassObject -{ - // we really just want to have an implementation so that the superclass's is not called -} - - -#pragma mark Proxy API - -- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector -{ - NSMethodSignature *signature = [mockedClass instanceMethodSignatureForSelector:aSelector]; - if(signature == nil) - { - signature = [NSMethodSignature signatureForDynamicPropertyAccessedWithSelector:aSelector inClass:mockedClass]; - } - return signature; -} - -- (Class)mockObjectClass -{ - return [super class]; -} - -- (Class)class -{ - return mockedClass; -} - -- (BOOL)respondsToSelector:(SEL)selector -{ - return [mockedClass instancesRespondToSelector:selector]; -} - -- (BOOL)isKindOfClass:(Class)aClass -{ - return [mockedClass isSubclassOfClass:aClass]; -} - -- (BOOL)conformsToProtocol:(Protocol *)aProtocol -{ - return class_conformsToProtocol(mockedClass, aProtocol); -} - -@end - - -#pragma mark - - -/** - taken from: - `class-dump -f isNS /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/System/Library/Frameworks/CoreFoundation.framework` - - @interface NSObject (__NSIsKinds) - - (_Bool)isNSValue__; - - (_Bool)isNSTimeZone__; - - (_Bool)isNSString__; - - (_Bool)isNSSet__; - - (_Bool)isNSOrderedSet__; - - (_Bool)isNSNumber__; - - (_Bool)isNSDictionary__; - - (_Bool)isNSDate__; - - (_Bool)isNSData__; - - (_Bool)isNSArray__; - */ - -@implementation OCClassMockObject(NSIsKindsImplementation) - -- (BOOL)isNSValue__ -{ - return [mockedClass isSubclassOfClass:[NSValue class]]; -} - -- (BOOL)isNSTimeZone__ -{ - return [mockedClass isSubclassOfClass:[NSTimeZone class]]; -} - -- (BOOL)isNSSet__ -{ - return [mockedClass isSubclassOfClass:[NSSet class]]; -} - -- (BOOL)isNSOrderedSet__ -{ - return [mockedClass isSubclassOfClass:[NSOrderedSet class]]; -} - -- (BOOL)isNSNumber__ -{ - return [mockedClass isSubclassOfClass:[NSNumber class]]; -} - -- (BOOL)isNSDate__ -{ - return [mockedClass isSubclassOfClass:[NSDate class]]; -} - -- (BOOL)isNSString__ -{ - return [mockedClass isSubclassOfClass:[NSString class]]; -} - -- (BOOL)isNSDictionary__ -{ - return [mockedClass isSubclassOfClass:[NSDictionary class]]; -} - -- (BOOL)isNSData__ -{ - return [mockedClass isSubclassOfClass:[NSData class]]; -} - -- (BOOL)isNSArray__ -{ - return [mockedClass isSubclassOfClass:[NSArray class]]; -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMArg.h b/Sample/Pods/OCMock/Source/OCMock/OCMArg.h deleted file mode 100644 index 6df735e..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMArg.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface OCMArg : NSObject - -// constraining arguments - -+ (id)any; -+ (SEL)anySelector; -+ (void *)anyPointer; -+ (id __autoreleasing *)anyObjectRef; -+ (id)isNil; -+ (id)isNotNil; -+ (id)isEqual:(id)value; -+ (id)isNotEqual:(id)value; -+ (id)isKindOfClass:(Class)cls; -+ (id)checkWithSelector:(SEL)selector onObject:(id)anObject; -+ (id)checkWithBlock:(BOOL (^)(id obj))block; - -// manipulating arguments - -+ (id *)setTo:(id)value; -+ (void *)setToValue:(NSValue *)value; -+ (id)invokeBlock; -+ (id)invokeBlockWithArgs:(id)first,... NS_REQUIRES_NIL_TERMINATION; - -+ (id)defaultValue; - -// internal use only - -+ (id)resolveSpecialValues:(NSValue *)value; - -@end - -#define OCMOCK_ANY [OCMArg any] - -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) - #define OCMOCK_VALUE(variable) \ - ({ __typeof__(variable) __v = (variable); [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; }) -#else - #define OCMOCK_VALUE(variable) [NSValue value:&variable withObjCType:@encode(__typeof__(variable))] -#endif - diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMArg.m b/Sample/Pods/OCMock/Source/OCMock/OCMArg.m deleted file mode 100644 index 6a90120..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMArg.m +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#import -#import -#import "OCMPassByRefSetter.h" -#import "OCMBlockArgCaller.h" - -@implementation OCMArg - -+ (id)any -{ - return [OCMAnyConstraint constraint]; -} - -+ (void *)anyPointer -{ - return (void *)0x01234567; -} - -+ (id __autoreleasing *)anyObjectRef -{ - return (id *)0x01234567; -} - -+ (SEL)anySelector -{ - return NSSelectorFromString(@"aSelectorThatMatchesAnySelector"); -} - -+ (id)isNil -{ - return [OCMIsNilConstraint constraint]; -} - -+ (id)isNotNil -{ - return [OCMIsNotNilConstraint constraint]; -} - -+ (id)isEqual:(id)value -{ - return value; -} - -+ (id)isNotEqual:(id)value -{ - OCMIsNotEqualConstraint *constraint = [OCMIsNotEqualConstraint constraint]; - constraint->testValue = value; - return constraint; -} - -+ (id)isKindOfClass:(Class)cls -{ - return [[[OCMBlockConstraint alloc] initWithConstraintBlock:^BOOL(id obj) { - return [obj isKindOfClass:cls]; - }] autorelease]; -} - -+ (id)checkWithSelector:(SEL)selector onObject:(id)anObject -{ - return [OCMConstraint constraintWithSelector:selector onObject:anObject]; -} - -+ (id)checkWithBlock:(BOOL (^)(id))block -{ - return [[[OCMBlockConstraint alloc] initWithConstraintBlock:block] autorelease]; -} - -+ (id *)setTo:(id)value -{ - return (id *)[[[OCMPassByRefSetter alloc] initWithValue:value] autorelease]; -} - -+ (void *)setToValue:(NSValue *)value -{ - return (id *)[[[OCMPassByRefSetter alloc] initWithValue:value] autorelease]; -} - -+ (id)invokeBlock -{ - return [[[OCMBlockArgCaller alloc] init] autorelease]; -} - -+ (id)invokeBlockWithArgs:(id)first,... NS_REQUIRES_NIL_TERMINATION -{ - - NSMutableArray *params = [NSMutableArray array]; - va_list args; - if(first) - { - [params addObject:first]; - va_start(args, first); - id obj; - while((obj = va_arg(args, id))) - { - [params addObject:obj]; - } - va_end(args); - } - return [[[OCMBlockArgCaller alloc] initWithBlockArguments:params] autorelease]; - -} - -+ (id)defaultValue -{ - return [NSNull null]; -} - - -+ (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; - } - else if(type[0] == ':') - { - SEL selector; - [value getValue:&selector]; - if(selector == NSSelectorFromString(@"aSelectorThatMatchesAnySelector")) - return [OCMArg any]; - } - return value; -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMArgAction.h b/Sample/Pods/OCMock/Source/OCMock/OCMArgAction.h deleted file mode 100644 index 15fc62c..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMArgAction.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (c) 2015-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface OCMArgAction : NSObject - -- (void)handleArgument:(id)argument; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMArgAction.m b/Sample/Pods/OCMock/Source/OCMock/OCMArgAction.m deleted file mode 100644 index ff1b831..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMArgAction.m +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2015-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMArgAction.h" - - -@implementation OCMArgAction - -- (void)handleArgument:(id)argument -{ - -} - - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMBlockArgCaller.h b/Sample/Pods/OCMock/Source/OCMock/OCMBlockArgCaller.h deleted file mode 100644 index 3c63a91..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMBlockArgCaller.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2015-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMArgAction.h" - -@interface OCMBlockArgCaller : OCMArgAction -{ - NSArray *arguments; -} - -- (instancetype)initWithBlockArguments:(NSArray *)someArgs; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMBlockArgCaller.m b/Sample/Pods/OCMock/Source/OCMock/OCMBlockArgCaller.m deleted file mode 100644 index aac0618..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMBlockArgCaller.m +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2015-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMBlockArgCaller.h" -#import "NSInvocation+OCMAdditions.h" - - -@implementation OCMBlockArgCaller - -- (instancetype)initWithBlockArguments:(NSArray *)someArgs -{ - self = [super init]; - if(self) - { - arguments = [someArgs copy]; - } - return self; -} - -- (void)dealloc -{ - [arguments release]; - [super dealloc]; -} - -- (id)copyWithZone:(NSZone *)zone -{ - return [self retain]; -} - -- (void)handleArgument:(id)aBlock -{ - if(aBlock) - { - NSInvocation *inv = [NSInvocation invocationForBlock:aBlock withArguments:arguments]; - [inv invokeWithTarget:aBlock]; - } -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMBlockCaller.h b/Sample/Pods/OCMock/Source/OCMock/OCMBlockCaller.h deleted file mode 100644 index fab09a3..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMBlockCaller.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2010-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - - -@interface OCMBlockCaller : NSObject -{ - void (^block)(NSInvocation *); -} - -- (id)initWithCallBlock:(void (^)(NSInvocation *))theBlock; - -- (void)handleInvocation:(NSInvocation *)anInvocation; - -@end - diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMBlockCaller.m b/Sample/Pods/OCMock/Source/OCMock/OCMBlockCaller.m deleted file mode 100644 index a5aaea8..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMBlockCaller.m +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2010-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMBlockCaller.h" - - -@implementation OCMBlockCaller - --(id)initWithCallBlock:(void (^)(NSInvocation *))theBlock -{ - if ((self = [super init])) - { - block = [theBlock copy]; - } - - return self; -} - --(void)dealloc -{ - [block release]; - [super dealloc]; -} - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - if (block != nil) - { - block(anInvocation); - } -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMBoxedReturnValueProvider.h b/Sample/Pods/OCMock/Source/OCMock/OCMBoxedReturnValueProvider.h deleted file mode 100644 index f4728a2..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMBoxedReturnValueProvider.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMReturnValueProvider.h" - -@interface OCMBoxedReturnValueProvider : OCMReturnValueProvider -{ -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMBoxedReturnValueProvider.m b/Sample/Pods/OCMock/Source/OCMock/OCMBoxedReturnValueProvider.m deleted file mode 100644 index b2b016f..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMBoxedReturnValueProvider.m +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMBoxedReturnValueProvider.h" -#import "OCMFunctionsPrivate.h" -#import "NSValue+OCMAdditions.h" - -@implementation OCMBoxedReturnValueProvider - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - const char *returnType = [[anInvocation methodSignature] methodReturnType]; - NSUInteger returnTypeSize = [[anInvocation methodSignature] methodReturnLength]; - char valueBuffer[returnTypeSize]; - NSValue *returnValueAsNSValue = (NSValue *)returnValue; - - if([self isMethodReturnType:returnType compatibleWithValueType:[returnValueAsNSValue objCType]]) - { - [returnValueAsNSValue getValue:valueBuffer]; - [anInvocation setReturnValue:valueBuffer]; - } - else if([returnValueAsNSValue getBytes:valueBuffer objCType:returnType]) - { - [anInvocation setReturnValue:valueBuffer]; - } - else - { - [NSException raise:NSInvalidArgumentException - format:@"Return value cannot be used for method; method signature declares '%s' but value is '%s'.", returnType, [returnValueAsNSValue objCType]]; - } -} - - -- (BOOL)isMethodReturnType:(const char *)returnType compatibleWithValueType:(const char *)valueType -{ - /* Same types are obviously compatible */ - if(strcmp(returnType, valueType) == 0) - return YES; - - /* Allow void* for methods that return id, mainly to be able to handle nil */ - if(strcmp(returnType, @encode(id)) == 0 && strcmp(valueType, @encode(void *)) == 0) - return YES; - - return OCMEqualTypesAllowingOpaqueStructs(returnType, valueType); -} - - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMConstraint.h b/Sample/Pods/OCMock/Source/OCMock/OCMConstraint.h deleted file mode 100644 index 19fc1a7..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMConstraint.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2007-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - - -@interface OCMConstraint : NSObject - -+ (instancetype)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 - -+ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; -+ (instancetype)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 - -@interface OCMBlockConstraint : OCMConstraint -{ - BOOL (^block)(id); -} - -- (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; - -@end - - -#define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] -#define CONSTRAINTV(aSelector, aValue) [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMConstraint.m b/Sample/Pods/OCMock/Source/OCMock/OCMConstraint.m deleted file mode 100644 index cc1204f..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMConstraint.m +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright (c) 2007-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - - -@implementation OCMConstraint - -+ (instancetype)constraint -{ - return [[[self alloc] init] autorelease]; -} - -- (BOOL)evaluate:(id)value -{ - return NO; -} - -- (id)copyWithZone:(struct _NSZone *)zone -{ - return [self retain]; -} - -+ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject -{ - OCMInvocationConstraint *constraint = [OCMInvocationConstraint constraint]; - NSMethodSignature *signature = [anObject methodSignatureForSelector:aSelector]; - if(signature == nil) - [NSException raise:NSInvalidArgumentException format:@"Unkown selector %@ used in constraint.", NSStringFromSelector(aSelector)]; - NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature]; - [invocation setTarget:anObject]; - [invocation setSelector:aSelector]; - constraint->invocation = invocation; - return constraint; -} - -+ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue -{ - OCMInvocationConstraint *constraint = [self constraintWithSelector:aSelector onObject:anObject]; - if([[constraint->invocation methodSignature] numberOfArguments] < 4) - [NSException raise:NSInvalidArgumentException format:@"Constraint with value requires selector with two arguments."]; - [constraint->invocation setArgument:&aValue atIndex:3]; - return constraint; -} - - -@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 - - -@implementation OCMBlockConstraint - -- (instancetype)initWithConstraintBlock:(BOOL (^)(id))aBlock -{ - if ((self = [super init])) - { - block = [aBlock copy]; - } - - return self; -} - -- (void)dealloc { - [block release]; - [super dealloc]; -} - -- (BOOL)evaluate:(id)value -{ - return block ? block(value) : NO; -} - - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMExceptionReturnValueProvider.h b/Sample/Pods/OCMock/Source/OCMock/OCMExceptionReturnValueProvider.h deleted file mode 100644 index 793c4fd..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMExceptionReturnValueProvider.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMReturnValueProvider.h" - -extern NSString *OCMStubbedException; - -@interface OCMExceptionReturnValueProvider : OCMReturnValueProvider -{ -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMExceptionReturnValueProvider.m b/Sample/Pods/OCMock/Source/OCMock/OCMExceptionReturnValueProvider.m deleted file mode 100644 index 17dad5d..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMExceptionReturnValueProvider.m +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMExceptionReturnValueProvider.h" - - -@implementation OCMExceptionReturnValueProvider - -NSString *OCMStubbedException = @"OCMStubbedException"; - - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - [[NSException exceptionWithName:OCMStubbedException reason:@"Exception stubbed in test." userInfo:@{ @"exception": returnValue }] raise]; -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMExpectationRecorder.h b/Sample/Pods/OCMock/Source/OCMock/OCMExpectationRecorder.h deleted file mode 100644 index d6de3c0..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMExpectationRecorder.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (c) 2004-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface OCMExpectationRecorder : OCMStubRecorder - -- (id)never; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMExpectationRecorder.m b/Sample/Pods/OCMock/Source/OCMock/OCMExpectationRecorder.m deleted file mode 100644 index 07f13d1..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMExpectationRecorder.m +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2004-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMExpectationRecorder.h" -#import "OCMInvocationExpectation.h" - -@implementation OCMExpectationRecorder - -#pragma mark Initialisers, description, accessors, etc. - -- (id)init -{ - self = [super init]; - [invocationMatcher release]; - invocationMatcher = [[OCMInvocationExpectation alloc] init]; - return self; -} - -- (OCMInvocationExpectation *)expectation -{ - return (OCMInvocationExpectation *)invocationMatcher; -} - - -#pragma mark Modifying the expectation - -- (id)never -{ - [[self expectation] setMatchAndReject:YES]; - return self; -} - - -#pragma mark Finishing recording - -- (void)forwardInvocation:(NSInvocation *)anInvocation -{ - [super forwardInvocation:anInvocation]; - [mockObject addExpectation:[self expectation]]; -} - - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMFunctions.h b/Sample/Pods/OCMock/Source/OCMock/OCMFunctions.h deleted file mode 100644 index b0c2df3..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMFunctions.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - - -#if defined(__cplusplus) -#define OCMOCK_EXTERN extern "C" -#else -#define OCMOCK_EXTERN extern -#endif - - -OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMFunctions.m b/Sample/Pods/OCMock/Source/OCMock/OCMFunctions.m deleted file mode 100644 index 79f6e9a..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMFunctions.m +++ /dev/null @@ -1,334 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#import "OCMFunctionsPrivate.h" -#import "OCMLocation.h" -#import "OCClassMockObject.h" -#import "OCPartialMockObject.h" - - -#pragma mark Known private API - -@interface NSException(OCMKnownExceptionMethods) -+ (NSException *)failureInFile:(NSString *)file atLine:(int)line withDescription:(NSString *)formatString, ...; -@end - -@interface NSObject(OCMKnownTestCaseMethods) -- (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)file atLine:(NSUInteger)line expected:(BOOL)expected; -- (void)failWithException:(NSException *)exception; -@end - - -#pragma mark Functions related to ObjC type system - -const char *OCMTypeWithoutQualifiers(const char *objCType) -{ - while(strchr("rnNoORV", objCType[0]) != NULL) - objCType += 1; - return objCType; -} - - -static BOOL OCMIsUnqualifiedClassType(const char *unqualifiedObjCType) -{ - return (strcmp(unqualifiedObjCType, @encode(Class)) == 0); -} - -BOOL OCMIsClassType(const char *objCType) -{ - return OCMIsUnqualifiedClassType(OCMTypeWithoutQualifiers(objCType)); -} - - -static BOOL OCMIsUnqualifiedBlockType(const char *unqualifiedObjCType) -{ - char blockType[] = @encode(void(^)()); - if(strcmp(unqualifiedObjCType, blockType) == 0) - return YES; - - // sometimes block argument/return types are tacked onto the type, in angle brackets - if(strncmp(unqualifiedObjCType, blockType, sizeof(blockType) - 1) == 0 && unqualifiedObjCType[sizeof(blockType) - 1] == '<') - return YES; - - return NO; -} - -BOOL OCMIsBlockType(const char *objCType) -{ - return OCMIsUnqualifiedBlockType(OCMTypeWithoutQualifiers(objCType)); -} - - -BOOL OCMIsObjectType(const char *objCType) -{ - const char *unqualifiedObjCType = OCMTypeWithoutQualifiers(objCType); - - char objectType[] = @encode(id); - if(strcmp(unqualifiedObjCType, objectType) == 0 || OCMIsUnqualifiedClassType(unqualifiedObjCType)) - return YES; - - // sometimes the name of an object's class is tacked onto the type, in double quotes - if(strncmp(unqualifiedObjCType, objectType, sizeof(objectType) - 1) == 0 && unqualifiedObjCType[sizeof(objectType) - 1] == '"') - return YES; - - // if the returnType is a typedef to an object, it has the form ^{OriginClass=#} - NSString *regexString = @"^\\^\\{(.*)=#.*\\}"; - NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regexString options:0 error:NULL]; - NSString *type = [NSString stringWithCString:unqualifiedObjCType encoding:NSASCIIStringEncoding]; - if([regex numberOfMatchesInString:type options:0 range:NSMakeRange(0, type.length)] > 0) - return YES; - - // if the return type is a block we treat it like an object - return OCMIsUnqualifiedBlockType(unqualifiedObjCType); -} - - -CFNumberType OCMNumberTypeForObjCType(const char *objcType) -{ - switch (objcType[0]) - { - case 'c': return kCFNumberCharType; - case 'C': return kCFNumberCharType; - case 'B': return kCFNumberCharType; - case 's': return kCFNumberShortType; - case 'S': return kCFNumberShortType; - case 'i': return kCFNumberIntType; - case 'I': return kCFNumberIntType; - case 'l': return kCFNumberLongType; - case 'L': return kCFNumberLongType; - case 'q': return kCFNumberLongLongType; - case 'Q': return kCFNumberLongLongType; - case 'f': return kCFNumberFloatType; - case 'd': return kCFNumberDoubleType; - default: return 0; - } -} - -/* - * Sometimes an external type is an opaque struct (which will have an @encode of "{structName}" - * or "{structName=}") but the actual method return type, or property type, will know the contents - * of the struct (so will have an objcType of say "{structName=iiSS}". This function will determine - * those are equal provided they have the same structure name, otherwise everything else will be - * compared textually. This can happen particularly for pointers to such structures, which still - * encode what is being pointed to. - * - * For some types some runtime functions throw exceptions, which is why we wrap this in an - * exception handler just below. - */ -static BOOL OCMEqualTypesAllowingOpaqueStructsInternal(const char *type1, const char *type2) -{ - type1 = OCMTypeWithoutQualifiers(type1); - type2 = OCMTypeWithoutQualifiers(type2); - - switch (type1[0]) - { - case '{': - case '(': - { - if (type2[0] != type1[0]) - return NO; - char endChar = type1[0] == '{'? '}' : ')'; - - const char *type1End = strchr(type1, endChar); - const char *type2End = strchr(type2, endChar); - const char *type1Equals = strchr(type1, '='); - const char *type2Equals = strchr(type2, '='); - - /* Opaque types either don't have an equals sign (just the name and the end brace), or - * empty content after the equals sign. - * We want that to compare the same as a type of the same name but with the content. - */ - BOOL type1Opaque = (type1Equals == NULL || (type1End < type1Equals) || type1Equals[1] == endChar); - BOOL type2Opaque = (type2Equals == NULL || (type2End < type2Equals) || type2Equals[1] == endChar); - const char *type1NameEnd = (type1Equals == NULL || (type1End < type1Equals)) ? type1End : type1Equals; - const char *type2NameEnd = (type2Equals == NULL || (type2End < type2Equals)) ? type2End : type2Equals; - intptr_t type1NameLen = type1NameEnd - type1; - intptr_t type2NameLen = type2NameEnd - type2; - - /* If the names are not equal, return NO */ - if (type1NameLen != type2NameLen || strncmp(type1, type2, type1NameLen)) - return NO; - - /* If the same name, and at least one is opaque, that is close enough. */ - if (type1Opaque || type2Opaque) - return YES; - - /* Otherwise, compare all the elements. Use NSGetSizeAndAlignment to walk through the struct elements. */ - type1 = type1Equals + 1; - type2 = type2Equals + 1; - while (type1[0] != endChar && type1[0] != '\0') - { - if (!OCMEqualTypesAllowingOpaqueStructs(type1, type2)) - return NO; - type1 = NSGetSizeAndAlignment(type1, NULL, NULL); - type2 = NSGetSizeAndAlignment(type2, NULL, NULL); - } - return YES; - } - case '^': - /* for a pointer, make sure the other is a pointer, then recursively compare the rest */ - if (type2[0] != type1[0]) - return NO; - return OCMEqualTypesAllowingOpaqueStructs(type1 + 1, type2 + 1); - - case '?': - return type2[0] == '?'; - - case '\0': - return type2[0] == '\0'; - - default: - { - // Move the type pointers past the current types, then compare that region - const char *afterType1 = NSGetSizeAndAlignment(type1, NULL, NULL); - const char *afterType2 = NSGetSizeAndAlignment(type2, NULL, NULL); - intptr_t type1Len = afterType1 - type1; - intptr_t type2Len = afterType2 - type2; - - return (type1Len == type2Len && (strncmp(type1, type2, type1Len) == 0)); - } - } -} - -BOOL OCMEqualTypesAllowingOpaqueStructs(const char *type1, const char *type2) -{ - @try - { - return OCMEqualTypesAllowingOpaqueStructsInternal(type1, type2); - } - @catch (NSException *e) - { - /* Probably a bitfield or something that NSGetSizeAndAlignment chokes on, oh well */ - return NO; - } -} - - -#pragma mark Creating classes - -Class OCMCreateSubclass(Class class, void *ref) -{ - const char *className = [[NSString stringWithFormat:@"%@-%p-%u", NSStringFromClass(class), ref, arc4random()] UTF8String]; - Class subclass = objc_allocateClassPair(class, className, 0); - objc_registerClassPair(subclass); - return subclass; -} - - -#pragma mark Alias for renaming real methods - -static NSString *const OCMRealMethodAliasPrefix = @"ocmock_replaced_"; -static const char *const OCMRealMethodAliasPrefixCString = "ocmock_replaced_"; - -BOOL OCMIsAliasSelector(SEL selector) -{ - return [NSStringFromSelector(selector) hasPrefix:OCMRealMethodAliasPrefix]; -} - -SEL OCMAliasForOriginalSelector(SEL selector) -{ - char aliasName[2048]; - const char *originalName = sel_getName(selector); - strlcpy(aliasName, OCMRealMethodAliasPrefixCString, sizeof(aliasName)); - strlcat(aliasName, originalName, sizeof(aliasName)); - return sel_registerName(aliasName); -} - -SEL OCMOriginalSelectorForAlias(SEL selector) -{ - if(!OCMIsAliasSelector(selector)) - [NSException raise:NSInvalidArgumentException format:@"Not an alias selector; found %@", NSStringFromSelector(selector)]; - NSString *string = NSStringFromSelector(selector); - return NSSelectorFromString([string substringFromIndex:[OCMRealMethodAliasPrefix length]]); -} - - -#pragma mark Wrappers around associative references - -static NSString *const OCMClassMethodMockObjectKey = @"OCMClassMethodMockObjectKey"; - -void OCMSetAssociatedMockForClass(OCClassMockObject *mock, Class aClass) -{ - if((mock != nil) && (objc_getAssociatedObject(aClass, OCMClassMethodMockObjectKey) != nil)) - [NSException raise:NSInternalInconsistencyException format:@"Another mock is already associated with class %@", NSStringFromClass(aClass)]; - objc_setAssociatedObject(aClass, OCMClassMethodMockObjectKey, mock, OBJC_ASSOCIATION_ASSIGN); -} - -OCClassMockObject *OCMGetAssociatedMockForClass(Class aClass, BOOL includeSuperclasses) -{ - OCClassMockObject *mock = nil; - do - { - mock = objc_getAssociatedObject(aClass, OCMClassMethodMockObjectKey); - aClass = class_getSuperclass(aClass); - } - while((mock == nil) && (aClass != nil) && includeSuperclasses); - return mock; -} - -static NSString *const OCMPartialMockObjectKey = @"OCMPartialMockObjectKey"; - -void OCMSetAssociatedMockForObject(OCClassMockObject *mock, id anObject) -{ - if((mock != nil) && (objc_getAssociatedObject(anObject, OCMPartialMockObjectKey) != nil)) - [NSException raise:NSInternalInconsistencyException format:@"Another mock is already associated with object %@", anObject]; - objc_setAssociatedObject(anObject, OCMPartialMockObjectKey, mock, OBJC_ASSOCIATION_ASSIGN); -} - -OCPartialMockObject *OCMGetAssociatedMockForObject(id anObject) -{ - return objc_getAssociatedObject(anObject, OCMPartialMockObjectKey); -} - - -#pragma mark Functions related to IDE error reporting - -void OCMReportFailure(OCMLocation *loc, NSString *description) -{ - id testCase = [loc testCase]; - if((testCase != nil) && [testCase respondsToSelector:@selector(recordFailureWithDescription:inFile:atLine:expected:)]) - { - [testCase recordFailureWithDescription:description inFile:[loc file] atLine:[loc line] expected:NO]; - } - else if((testCase != nil) && [testCase respondsToSelector:@selector(failWithException:)]) - { - NSException *exception = nil; - if([NSException instancesRespondToSelector:@selector(failureInFile:atLine:withDescription:)]) - { - exception = [NSException failureInFile:[loc file] atLine:(int)[loc line] withDescription:description]; - } - else - { - NSString *reason = [NSString stringWithFormat:@"%@:%lu %@", [loc file], (unsigned long)[loc line], description]; - exception = [NSException exceptionWithName:@"OCMockTestFailure" reason:reason userInfo:nil]; - } - [testCase failWithException:exception]; - } - else if(loc != nil) - { - NSLog(@"%@:%lu %@", [loc file], (unsigned long)[loc line], description); - NSString *reason = [NSString stringWithFormat:@"%@:%lu %@", [loc file], (unsigned long)[loc line], description]; - [[NSException exceptionWithName:@"OCMockTestFailure" reason:reason userInfo:nil] raise]; - - } - else - { - NSLog(@"%@", description); - [[NSException exceptionWithName:@"OCMockTestFailure" reason:description userInfo:nil] raise]; - } - -} diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMFunctionsPrivate.h b/Sample/Pods/OCMock/Source/OCMock/OCMFunctionsPrivate.h deleted file mode 100644 index 1984c22..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMFunctionsPrivate.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@class OCMLocation; -@class OCClassMockObject; -@class OCPartialMockObject; - - -BOOL OCMIsClassType(const char *objCType); -BOOL OCMIsBlockType(const char *objCType); -BOOL OCMIsObjectType(const char *objCType); -const char *OCMTypeWithoutQualifiers(const char *objCType); -BOOL OCMEqualTypesAllowingOpaqueStructs(const char *type1, const char *type2); -CFNumberType OCMNumberTypeForObjCType(const char *objcType); - -Class OCMCreateSubclass(Class cls, void *ref); - -BOOL OCMIsAliasSelector(SEL selector); -SEL OCMAliasForOriginalSelector(SEL selector); -SEL OCMOriginalSelectorForAlias(SEL selector); - -void OCMSetAssociatedMockForClass(OCClassMockObject *mock, Class aClass); -OCClassMockObject *OCMGetAssociatedMockForClass(Class aClass, BOOL includeSuperclasses); - -void OCMSetAssociatedMockForObject(OCClassMockObject *mock, id anObject); -OCPartialMockObject *OCMGetAssociatedMockForObject(id anObject); - -void OCMReportFailure(OCMLocation *loc, NSString *description); diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMIndirectReturnValueProvider.h b/Sample/Pods/OCMock/Source/OCMock/OCMIndirectReturnValueProvider.h deleted file mode 100644 index a6cd759..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMIndirectReturnValueProvider.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface OCMIndirectReturnValueProvider : NSObject -{ - id provider; - SEL selector; -} - -- (id)initWithProvider:(id)aProvider andSelector:(SEL)aSelector; - -- (void)handleInvocation:(NSInvocation *)anInvocation; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMIndirectReturnValueProvider.m b/Sample/Pods/OCMock/Source/OCMock/OCMIndirectReturnValueProvider.m deleted file mode 100644 index b7c07a0..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMIndirectReturnValueProvider.m +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "NSMethodSignature+OCMAdditions.h" -#import "OCMIndirectReturnValueProvider.h" -#import "NSInvocation+OCMAdditions.h" - - -@implementation OCMIndirectReturnValueProvider - -- (id)initWithProvider:(id)aProvider andSelector:(SEL)aSelector -{ - if ((self = [super init])) - { - provider = [aProvider retain]; - selector = aSelector; - } - - return self; -} - -- (void)dealloc -{ - [provider release]; - [super dealloc]; -} - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - id originalTarget = [anInvocation target]; - SEL originalSelector = [anInvocation selector]; - - [anInvocation setTarget:provider]; - [anInvocation setSelector:selector]; - [anInvocation invoke]; - - [anInvocation setTarget:originalTarget]; - [anInvocation setSelector:originalSelector]; -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMInvocationExpectation.h b/Sample/Pods/OCMock/Source/OCMock/OCMInvocationExpectation.h deleted file mode 100644 index 5a65719..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMInvocationExpectation.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMInvocationStub.h" - -@interface OCMInvocationExpectation : OCMInvocationStub -{ - BOOL matchAndReject; - BOOL isSatisfied; -} - -- (void)setMatchAndReject:(BOOL)flag; -- (BOOL)isMatchAndReject; - -- (BOOL)isSatisfied; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMInvocationExpectation.m b/Sample/Pods/OCMock/Source/OCMock/OCMInvocationExpectation.m deleted file mode 100644 index a6846d9..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMInvocationExpectation.m +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMInvocationExpectation.h" -#import "NSInvocation+OCMAdditions.h" - - -@implementation OCMInvocationExpectation - -- (void)setMatchAndReject:(BOOL)flag -{ - matchAndReject = flag; - if(matchAndReject) - isSatisfied = YES; -} - -- (BOOL)isMatchAndReject -{ - return matchAndReject; -} - -- (BOOL)isSatisfied -{ - return isSatisfied; -} - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - [super handleInvocation:anInvocation]; - - if(matchAndReject) - { - isSatisfied = NO; - [NSException raise:NSInternalInconsistencyException format:@"%@: explicitly disallowed method invoked: %@", - [self description], [anInvocation invocationDescription]]; - } - else - { - isSatisfied = YES; - } -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMInvocationMatcher.h b/Sample/Pods/OCMock/Source/OCMock/OCMInvocationMatcher.h deleted file mode 100644 index 460b95a..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMInvocationMatcher.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface OCMInvocationMatcher : NSObject -{ - NSInvocation *recordedInvocation; - BOOL recordedAsClassMethod; - BOOL ignoreNonObjectArgs; -} - -- (void)setInvocation:(NSInvocation *)anInvocation; -- (NSInvocation *)recordedInvocation; - -- (void)setRecordedAsClassMethod:(BOOL)flag; -- (BOOL)recordedAsClassMethod; - -- (void)setIgnoreNonObjectArgs:(BOOL)flag; - -- (BOOL)matchesSelector:(SEL)aSelector; -- (BOOL)matchesInvocation:(NSInvocation *)anInvocation; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMInvocationMatcher.m b/Sample/Pods/OCMock/Source/OCMock/OCMInvocationMatcher.m deleted file mode 100644 index 56ed3b9..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMInvocationMatcher.m +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#import -#import -#import "OCMPassByRefSetter.h" -#import "NSInvocation+OCMAdditions.h" -#import "OCMInvocationMatcher.h" -#import "OCClassMockObject.h" -#import "OCMFunctionsPrivate.h" -#import "OCMBlockArgCaller.h" - - -@interface NSObject(HCMatcherDummy) -- (BOOL)matches:(id)item; -@end - - -@implementation OCMInvocationMatcher - -- (void)dealloc -{ - [recordedInvocation release]; - [super dealloc]; -} - -- (void)setInvocation:(NSInvocation *)anInvocation -{ - [recordedInvocation release]; - // Don't do a regular -retainArguments on the invocation that we use for matching. NSInvocation - // effectively does an strcpy on char* arguments which messes up matching them literally and blows - // up with anyPointer (in strlen since it's not actually a C string). Also on the off-chance that - // anInvocation contains self as an argument, -retainArguments would create a retain cycle. - [anInvocation retainObjectArgumentsExcludingObject:self]; - recordedInvocation = [anInvocation retain]; -} - -- (void)setRecordedAsClassMethod:(BOOL)flag -{ - recordedAsClassMethod = flag; -} - -- (BOOL)recordedAsClassMethod -{ - return recordedAsClassMethod; -} - -- (void)setIgnoreNonObjectArgs:(BOOL)flag -{ - ignoreNonObjectArgs = flag; -} - -- (NSString *)description -{ - return [recordedInvocation invocationDescription]; -} - -- (NSInvocation *)recordedInvocation -{ - return recordedInvocation; -} - -- (BOOL)matchesSelector:(SEL)sel -{ - if(sel == [recordedInvocation selector]) - return YES; - if(OCMIsAliasSelector(sel) && - OCMOriginalSelectorForAlias(sel) == [recordedInvocation selector]) - return YES; - - return NO; -} - -- (BOOL)matchesInvocation:(NSInvocation *)anInvocation -{ - id target = [anInvocation target]; - BOOL isClassMethodInvocation = (target != nil) && (target == [target class]); - if(isClassMethodInvocation != recordedAsClassMethod) - return NO; - - if(![self matchesSelector:[anInvocation selector]]) - return NO; - - NSMethodSignature *signature = [recordedInvocation methodSignature]; - NSUInteger n = [signature numberOfArguments]; - for(NSUInteger i = 2; i < n; i++) - { - if(ignoreNonObjectArgs && !OCMIsObjectType([signature getArgumentTypeAtIndex:i])) - { - continue; - } - - id recordedArg = [recordedInvocation getArgumentAtIndexAsObject:i]; - id 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:[OCMArgAction class]]) - { - // ignore, will be dealt with in handleInvocation: where applicable - } - 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/Sample/Pods/OCMock/Source/OCMock/OCMInvocationStub.h b/Sample/Pods/OCMock/Source/OCMock/OCMInvocationStub.h deleted file mode 100644 index 987f31f..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMInvocationStub.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMInvocationMatcher.h" - -@interface OCMInvocationStub : OCMInvocationMatcher -{ - NSMutableArray *invocationActions; -} - -- (void)addInvocationAction:(id)anAction; -- (NSArray *)invocationActions; - -- (void)handleInvocation:(NSInvocation *)anInvocation; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMInvocationStub.m b/Sample/Pods/OCMock/Source/OCMock/OCMInvocationStub.m deleted file mode 100644 index 3c260be..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMInvocationStub.m +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMInvocationStub.h" -#import "OCMFunctionsPrivate.h" -#import "OCMArg.h" -#import "OCMArgAction.h" -#import "NSInvocation+OCMAdditions.h" - -@implementation OCMInvocationStub - -- (id)init -{ - self = [super init]; - invocationActions = [[NSMutableArray alloc] init]; - return self; -} - -- (void)dealloc -{ - [invocationActions release]; - [super dealloc]; -} - - -- (void)addInvocationAction:(id)anAction -{ - [invocationActions addObject:anAction]; -} - -- (NSArray *)invocationActions -{ - return invocationActions; -} - - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - NSMethodSignature *signature = [recordedInvocation methodSignature]; - NSUInteger n = [signature numberOfArguments]; - for(NSUInteger i = 2; i < n; i++) - { - id recordedArg = [recordedInvocation getArgumentAtIndexAsObject:i]; - id passedArg = [anInvocation getArgumentAtIndexAsObject:i]; - - if([recordedArg isProxy]) - continue; - - if([recordedArg isKindOfClass:[NSValue class]]) - recordedArg = [OCMArg resolveSpecialValues:recordedArg]; - - if(![recordedArg isKindOfClass:[OCMArgAction class]]) - continue; - - [recordedArg handleArgument:passedArg]; - } - - [invocationActions makeObjectsPerformSelector:@selector(handleInvocation:) withObject:anInvocation]; -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMLocation.h b/Sample/Pods/OCMock/Source/OCMock/OCMLocation.h deleted file mode 100644 index 7870c52..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMLocation.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#import "OCMFunctions.h" - - -@interface OCMLocation : NSObject -{ - id testCase; - NSString *file; - NSUInteger line; -} - -+ (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; - -- (instancetype)initWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; - -- (id)testCase; -- (NSString *)file; -- (NSUInteger)line; - -@end - -OCMOCK_EXTERN OCMLocation *OCMMakeLocation(id testCase, const char *file, int line); diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMLocation.m b/Sample/Pods/OCMock/Source/OCMock/OCMLocation.m deleted file mode 100644 index 59ca3bd..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMLocation.m +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMLocation.h" - -@implementation OCMLocation - -+ (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine -{ - return [[[OCMLocation alloc] initWithTestCase:aTestCase file:aFile line:aLine] autorelease]; -} - -- (instancetype)initWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine -{ - if ((self = [super init])) - { - testCase = aTestCase; - file = [aFile retain]; - line = aLine; - } - - return self; -} - -- (void)dealloc -{ - [file release]; - [super dealloc]; -} - -- (id)testCase -{ - return testCase; -} - -- (NSString *)file -{ - return file; -} - -- (NSUInteger)line -{ - return line; -} - -@end - - -OCMLocation *OCMMakeLocation(id testCase, const char *fileCString, int line) -{ - return [OCMLocation locationWithTestCase:testCase file:[NSString stringWithUTF8String:fileCString] line:line]; -} - diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMMacroState.h b/Sample/Pods/OCMock/Source/OCMock/OCMMacroState.h deleted file mode 100644 index dba41be..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMMacroState.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@class OCMLocation; -@class OCMRecorder; -@class OCMStubRecorder; -@class OCMockObject; - - -@interface OCMMacroState : NSObject -{ - OCMRecorder *recorder; -} - -+ (void)beginStubMacro; -+ (OCMStubRecorder *)endStubMacro; - -+ (void)beginExpectMacro; -+ (OCMStubRecorder *)endExpectMacro; - -+ (void)beginRejectMacro; -+ (OCMStubRecorder *)endRejectMacro; - -+ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; -+ (void)endVerifyMacro; - -+ (OCMMacroState *)globalState; - -- (OCMRecorder *)recorder; - -- (void)switchToClassMethod; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMMacroState.m b/Sample/Pods/OCMock/Source/OCMock/OCMMacroState.m deleted file mode 100644 index d50873b..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMMacroState.m +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMMacroState.h" -#import "OCMStubRecorder.h" -#import "OCMockObject.h" -#import "OCMExpectationRecorder.h" -#import "OCMVerifier.h" -#import "OCMInvocationMatcher.h" - - -@implementation OCMMacroState - -static NSString *const OCMGlobalStateKey = @"OCMGlobalStateKey"; - -#pragma mark Methods to begin/end macros - -+ (void)beginStubMacro -{ - OCMStubRecorder *recorder = [[[OCMStubRecorder alloc] init] autorelease]; - OCMMacroState *macroState = [[OCMMacroState alloc] initWithRecorder:recorder]; - [NSThread currentThread].threadDictionary[OCMGlobalStateKey] = macroState; - [macroState release]; -} - -+ (OCMStubRecorder *)endStubMacro -{ - NSMutableDictionary *threadDictionary = [NSThread currentThread].threadDictionary; - OCMMacroState *globalState = threadDictionary[OCMGlobalStateKey]; - OCMStubRecorder *recorder = [(OCMStubRecorder *)[globalState recorder] retain]; - [threadDictionary removeObjectForKey:OCMGlobalStateKey]; - return [recorder autorelease]; -} - - -+ (void)beginExpectMacro -{ - OCMExpectationRecorder *recorder = [[[OCMExpectationRecorder alloc] init] autorelease]; - OCMMacroState *macroState = [[OCMMacroState alloc] initWithRecorder:recorder]; - [NSThread currentThread].threadDictionary[OCMGlobalStateKey] = macroState; - [macroState release]; -} - -+ (OCMStubRecorder *)endExpectMacro -{ - return [self endStubMacro]; -} - - -+ (void)beginRejectMacro -{ - OCMExpectationRecorder *recorder = [[[OCMExpectationRecorder alloc] init] autorelease]; - [recorder never]; - OCMMacroState *macroState = [[OCMMacroState alloc] initWithRecorder:recorder]; - [NSThread currentThread].threadDictionary[OCMGlobalStateKey] = macroState; - [macroState release]; -} - -+ (OCMStubRecorder *)endRejectMacro -{ - return [self endStubMacro]; -} - - -+ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation -{ - OCMVerifier *recorder = [[[OCMVerifier alloc] init] autorelease]; - [recorder setLocation:aLocation]; - OCMMacroState *macroState = [[OCMMacroState alloc] initWithRecorder:recorder]; - [NSThread currentThread].threadDictionary[OCMGlobalStateKey] = macroState; - [macroState release]; -} - -+ (void)endVerifyMacro -{ - [[NSThread currentThread].threadDictionary removeObjectForKey:OCMGlobalStateKey]; -} - - -#pragma mark Accessing global state - -+ (OCMMacroState *)globalState -{ - return [NSThread currentThread].threadDictionary[OCMGlobalStateKey]; -} - - -#pragma mark Init, dealloc, accessors - -- (id)initWithRecorder:(OCMRecorder *)aRecorder -{ - if ((self = [super init])) - { - recorder = [aRecorder retain]; - } - - return self; -} - -- (void)dealloc -{ - [recorder release]; - NSAssert([NSThread currentThread].threadDictionary[OCMGlobalStateKey] != self, @"Unexpected dealloc while set as the global state"); - [super dealloc]; -} - -- (OCMRecorder *)recorder -{ - return recorder; -} - - -#pragma mark Changing the recorder - -- (void)switchToClassMethod -{ - [recorder classMethod]; -} - - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMNotificationPoster.h b/Sample/Pods/OCMock/Source/OCMock/OCMNotificationPoster.h deleted file mode 100644 index 40564b4..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMNotificationPoster.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface OCMNotificationPoster : NSObject -{ - NSNotification *notification; -} - -- (id)initWithNotification:(id)aNotification; - -- (void)handleInvocation:(NSInvocation *)anInvocation; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMNotificationPoster.m b/Sample/Pods/OCMock/Source/OCMock/OCMNotificationPoster.m deleted file mode 100644 index 0753b27..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMNotificationPoster.m +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMNotificationPoster.h" - - -@implementation OCMNotificationPoster - -- (id)initWithNotification:(id)aNotification -{ - if ((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/Sample/Pods/OCMock/Source/OCMock/OCMObserverRecorder.h b/Sample/Pods/OCMock/Source/OCMock/OCMObserverRecorder.h deleted file mode 100644 index a6ae5bf..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMObserverRecorder.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface OCMObserverRecorder : NSObject -{ - NSNotification *recordedNotification; -} - -- (NSNotification *)notificationWithName:(NSString *)name object:(id)sender; - -- (NSNotification *)notificationWithName:(NSString *)name object:(id)sender userInfo:(NSDictionary *)userInfo; - -- (BOOL)matchesNotification:(NSNotification *)aNotification; - -- (BOOL)argument:(id)expectedArg matchesArgument:(id)observedArg; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMObserverRecorder.m b/Sample/Pods/OCMock/Source/OCMock/OCMObserverRecorder.m deleted file mode 100644 index 921c0ec..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMObserverRecorder.m +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#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 - -- (NSNotification *)notificationWithName:(NSString *)name object:(id)sender -{ - recordedNotification = [[NSNotification notificationWithName:name object:sender] retain]; - return nil; -} - -- (NSNotification *)notificationWithName:(NSString *)name object:(id)sender userInfo:(NSDictionary *)userInfo -{ - recordedNotification = [[NSNotification notificationWithName:name object:sender userInfo:userInfo] retain]; - return nil; -} - - -#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]]) - { - return [expectedArg evaluate:observedArg]; - } - else if([expectedArg conformsToProtocol:objc_getProtocol("HCMatcher")]) - { - return [expectedArg matches:observedArg]; - } - else if (expectedArg == observedArg) - { - return YES; - } - else if (expectedArg == nil || observedArg == nil) - { - return NO; - } - else - { - return [expectedArg isEqual:observedArg]; - } -} - - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMPassByRefSetter.h b/Sample/Pods/OCMock/Source/OCMock/OCMPassByRefSetter.h deleted file mode 100644 index bd0d546..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMPassByRefSetter.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMArgAction.h" - -@interface OCMPassByRefSetter : OCMArgAction -{ - id value; -} - -- (id)initWithValue:(id)value; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMPassByRefSetter.m b/Sample/Pods/OCMock/Source/OCMock/OCMPassByRefSetter.m deleted file mode 100644 index 2714141..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMPassByRefSetter.m +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMPassByRefSetter.h" - - -@implementation OCMPassByRefSetter - -- (id)initWithValue:(id)aValue -{ - if ((self = [super init])) - { - value = [aValue retain]; - } - - return self; -} - -- (void)dealloc -{ - [value release]; - [super dealloc]; -} - -- (void)handleArgument:(id)arg -{ - void *pointerValue = [arg pointerValue]; - if(pointerValue != NULL) - { - if([value isKindOfClass:[NSValue class]]) - [(NSValue *)value getValue:pointerValue]; - else - *(id *)pointerValue = value; - } -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMRealObjectForwarder.h b/Sample/Pods/OCMock/Source/OCMock/OCMRealObjectForwarder.h deleted file mode 100644 index 92485f1..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMRealObjectForwarder.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2010-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface OCMRealObjectForwarder : NSObject -{ -} - -- (void)handleInvocation:(NSInvocation *)anInvocation; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMRealObjectForwarder.m b/Sample/Pods/OCMock/Source/OCMock/OCMRealObjectForwarder.m deleted file mode 100644 index c081a27..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMRealObjectForwarder.m +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2010-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#import "OCPartialMockObject.h" -#import "OCMRealObjectForwarder.h" -#import "OCMFunctionsPrivate.h" - - -@implementation OCMRealObjectForwarder - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - id invocationTarget = [anInvocation target]; - - [anInvocation setSelector:OCMAliasForOriginalSelector([anInvocation selector])]; - if ([invocationTarget isProxy]) - { - if (class_getInstanceMethod([invocationTarget mockObjectClass], @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]]; - } - else - { - [NSException raise:NSInternalInconsistencyException - format:@"Method andForwardToRealObject can only be used with partial mocks and class methods."]; - } - } - - [anInvocation invoke]; -} - - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMRecorder.h b/Sample/Pods/OCMock/Source/OCMock/OCMRecorder.h deleted file mode 100644 index 9670d08..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMRecorder.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@class OCMockObject; -@class OCMInvocationMatcher; - - -@interface OCMRecorder : NSProxy -{ - OCMockObject *mockObject; - OCMInvocationMatcher *invocationMatcher; -} - -- (instancetype)init; -- (instancetype)initWithMockObject:(OCMockObject *)aMockObject; - -- (void)setMockObject:(OCMockObject *)aMockObject; - -- (OCMInvocationMatcher *)invocationMatcher; - -- (id)classMethod; -- (id)ignoringNonObjectArgs; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMRecorder.m b/Sample/Pods/OCMock/Source/OCMock/OCMRecorder.m deleted file mode 100644 index 273563a..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMRecorder.m +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#import "OCMRecorder.h" -#import "OCMockObject.h" -#import "OCMInvocationMatcher.h" -#import "OCClassMockObject.h" - -@implementation OCMRecorder - -- (instancetype)init -{ - // no super, we're inheriting from NSProxy - return self; -} - -- (instancetype)initWithMockObject:(OCMockObject *)aMockObject -{ - [self init]; - [self setMockObject:aMockObject]; - return self; -} - -- (void)setMockObject:(OCMockObject *)aMockObject -{ - mockObject = aMockObject; -} - -- (void)dealloc -{ - [invocationMatcher release]; - [super dealloc]; -} - -- (NSString *)description -{ - return [invocationMatcher description]; -} - -- (OCMInvocationMatcher *)invocationMatcher -{ - return invocationMatcher; -} - - -#pragma mark Modifying the matcher - -- (id)classMethod -{ - // should we handle the case where this is called with a mock that isn't a class mock? - [invocationMatcher setRecordedAsClassMethod:YES]; - return self; -} - -- (id)ignoringNonObjectArgs -{ - [invocationMatcher setIgnoreNonObjectArgs:YES]; - return self; -} - - -#pragma mark Recording the actual invocation - -- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector -{ - if([invocationMatcher recordedAsClassMethod]) - return [[(OCClassMockObject *)mockObject mockedClass] methodSignatureForSelector:aSelector]; - - NSMethodSignature *signature = [mockObject methodSignatureForSelector:aSelector]; - if(signature == nil) - { - // if we're a working with a class mock and there is a class method, auto-switch - if(([object_getClass(mockObject) isSubclassOfClass:[OCClassMockObject class]]) && - ([[(OCClassMockObject *)mockObject mockedClass] respondsToSelector:aSelector])) - { - [self classMethod]; - signature = [self methodSignatureForSelector:aSelector]; - } - } - return signature; -} - -- (void)forwardInvocation:(NSInvocation *)anInvocation -{ - [anInvocation setTarget:nil]; - [invocationMatcher setInvocation:anInvocation]; -} - -- (void)doesNotRecognizeSelector:(SEL)aSelector -{ - [NSException raise:NSInvalidArgumentException format:@"%@: cannot stub/expect/verify method '%@' because no such method exists in the mocked class.", mockObject, NSStringFromSelector(aSelector)]; -} - - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMReturnValueProvider.h b/Sample/Pods/OCMock/Source/OCMock/OCMReturnValueProvider.h deleted file mode 100644 index 673b40f..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMReturnValueProvider.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface OCMReturnValueProvider : NSObject -{ - id returnValue; -} - -- (instancetype)initWithValue:(id)aValue; - -- (void)handleInvocation:(NSInvocation *)anInvocation; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMReturnValueProvider.m b/Sample/Pods/OCMock/Source/OCMock/OCMReturnValueProvider.m deleted file mode 100644 index ed8dfec..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMReturnValueProvider.m +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "NSMethodSignature+OCMAdditions.h" -#import "OCMReturnValueProvider.h" -#import "OCMFunctions.h" - - -@implementation OCMReturnValueProvider - -- (instancetype)initWithValue:(id)aValue -{ - if ((self = [super init])) - { - returnValue = [aValue retain]; - } - - return self; -} - -- (void)dealloc -{ - [returnValue release]; - [super dealloc]; -} - -- (void)handleInvocation:(NSInvocation *)anInvocation -{ - if(!OCMIsObjectType([[anInvocation methodSignature] methodReturnType])) - { - @throw [NSException exceptionWithName:NSInvalidArgumentException reason:@"Expected invocation with object return type. Did you mean to use andReturnValue: instead?" userInfo:nil]; - } - NSString *sel = NSStringFromSelector([anInvocation selector]); - if([sel hasPrefix:@"alloc"] || [sel hasPrefix:@"new"] || [sel hasPrefix:@"copy"] || [sel hasPrefix:@"mutableCopy"]) - { - // methods that "create" an object return it with an extra retain count - [returnValue retain]; - } - [anInvocation setReturnValue:&returnValue]; -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMStubRecorder.h b/Sample/Pods/OCMock/Source/OCMock/OCMStubRecorder.h deleted file mode 100644 index e32029f..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMStubRecorder.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (c) 2004-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#import -#import - -@interface OCMStubRecorder : OCMRecorder - -- (id)andReturn:(id)anObject; -- (id)andReturnValue:(NSValue *)aValue; -- (id)andThrow:(NSException *)anException; -- (id)andPost:(NSNotification *)aNotification; -- (id)andCall:(SEL)selector onObject:(id)anObject; -- (id)andDo:(void (^)(NSInvocation *invocation))block; -- (id)andForwardToRealObject; - -@end - - -@interface OCMStubRecorder (Properties) - -#define andReturn(aValue) _andReturn(({ \ - __typeof__(aValue) _val = (aValue); \ - NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ - if (OCMIsObjectType(@encode(__typeof(_val)))) { \ - objc_setAssociatedObject(_nsval, "OCMAssociatedBoxedValue", *(__unsafe_unretained id *) (void *) &_val, OBJC_ASSOCIATION_RETAIN); \ - } \ - _nsval; \ -})) -@property (nonatomic, readonly) OCMStubRecorder *(^ _andReturn)(NSValue *); - -#define andThrow(anException) _andThrow(anException) -@property (nonatomic, readonly) OCMStubRecorder *(^ _andThrow)(NSException *); - -#define andPost(aNotification) _andPost(aNotification) -@property (nonatomic, readonly) OCMStubRecorder *(^ _andPost)(NSNotification *); - -#define andCall(anObject, aSelector) _andCall(anObject, aSelector) -@property (nonatomic, readonly) OCMStubRecorder *(^ _andCall)(id, SEL); - -#define andDo(aBlock) _andDo(aBlock) -@property (nonatomic, readonly) OCMStubRecorder *(^ _andDo)(void (^)(NSInvocation *)); - -#define andForwardToRealObject() _andForwardToRealObject() -@property (nonatomic, readonly) OCMStubRecorder *(^ _andForwardToRealObject)(void); - -@end - - - diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMStubRecorder.m b/Sample/Pods/OCMock/Source/OCMock/OCMStubRecorder.m deleted file mode 100644 index 255d6a0..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMStubRecorder.m +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Copyright (c) 2004-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMStubRecorder.h" -#import "OCClassMockObject.h" -#import "OCMReturnValueProvider.h" -#import "OCMBoxedReturnValueProvider.h" -#import "OCMExceptionReturnValueProvider.h" -#import "OCMIndirectReturnValueProvider.h" -#import "OCMNotificationPoster.h" -#import "OCMBlockCaller.h" -#import "OCMRealObjectForwarder.h" -#import "OCMFunctions.h" -#import "OCMInvocationStub.h" - - -@implementation OCMStubRecorder - -#pragma mark Initialisers, description, accessors, etc. - -- (id)init -{ - self = [super init]; - invocationMatcher = [[OCMInvocationStub alloc] init]; - return self; -} - -- (OCMInvocationStub *)stub -{ - return (OCMInvocationStub *)invocationMatcher; -} - - -#pragma mark Recording invocation actions - -- (id)andReturn:(id)anObject -{ - [[self stub] addInvocationAction:[[[OCMReturnValueProvider alloc] initWithValue:anObject] autorelease]]; - return self; -} - -- (id)andReturnValue:(NSValue *)aValue -{ - [[self stub] addInvocationAction:[[[OCMBoxedReturnValueProvider alloc] initWithValue:aValue] autorelease]]; - return self; -} - -- (id)andThrow:(NSException *)anException -{ - [[self stub] addInvocationAction:[[[OCMExceptionReturnValueProvider alloc] initWithValue:anException] autorelease]]; - return self; -} - -- (id)andPost:(NSNotification *)aNotification -{ - [[self stub] addInvocationAction:[[[OCMNotificationPoster alloc] initWithNotification:aNotification] autorelease]]; - return self; -} - -- (id)andCall:(SEL)selector onObject:(id)anObject -{ - [[self stub] addInvocationAction:[[[OCMIndirectReturnValueProvider alloc] initWithProvider:anObject andSelector:selector] autorelease]]; - return self; -} - -- (id)andDo:(void (^)(NSInvocation *))aBlock -{ - [[self stub] addInvocationAction:[[[OCMBlockCaller alloc] initWithCallBlock:aBlock] autorelease]]; - return self; -} - -- (id)andForwardToRealObject -{ - [[self stub] addInvocationAction:[[[OCMRealObjectForwarder alloc] init] autorelease]]; - return self; -} - - -#pragma mark Finishing recording - -- (void)forwardInvocation:(NSInvocation *)anInvocation -{ - [super forwardInvocation:anInvocation]; - [mockObject addStub:[self stub]]; -} - - -@end - - -@implementation OCMStubRecorder (Properties) - -@dynamic _andReturn; - -- (OCMStubRecorder *(^)(NSValue *))_andReturn -{ - id (^theBlock)(id) = ^ (NSValue *aValue) - { - if(OCMIsObjectType([aValue objCType])) - { - NSValue *objValue = nil; - [aValue getValue:&objValue]; - return [self andReturn:objValue]; - } - else - { - return [self andReturnValue:aValue]; - } - }; - return [[theBlock copy] autorelease]; -} - - -@dynamic _andThrow; - -- (OCMStubRecorder *(^)(NSException *))_andThrow -{ - id (^theBlock)(id) = ^ (NSException * anException) - { - return [self andThrow:anException]; - }; - return [[theBlock copy] autorelease]; -} - - -@dynamic _andPost; - -- (OCMStubRecorder *(^)(NSNotification *))_andPost -{ - id (^theBlock)(id) = ^ (NSNotification * aNotification) - { - return [self andPost:aNotification]; - }; - return [[theBlock copy] autorelease]; -} - - -@dynamic _andCall; - -- (OCMStubRecorder *(^)(id, SEL))_andCall -{ - id (^theBlock)(id, SEL) = ^ (id anObject, SEL aSelector) - { - return [self andCall:aSelector onObject:anObject]; - }; - return [[theBlock copy] autorelease]; -} - - -@dynamic _andDo; - -- (OCMStubRecorder *(^)(void (^)(NSInvocation *)))_andDo -{ - id (^theBlock)(void (^)(NSInvocation *)) = ^ (void (^ blockToCall)(NSInvocation *)) - { - return [self andDo:blockToCall]; - }; - return [[theBlock copy] autorelease]; -} - - -@dynamic _andForwardToRealObject; - -- (OCMStubRecorder *(^)(void))_andForwardToRealObject -{ - id (^theBlock)(void) = ^ (void) - { - return [self andForwardToRealObject]; - }; - return [[theBlock copy] autorelease]; -} - - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMVerifier.h b/Sample/Pods/OCMock/Source/OCMock/OCMVerifier.h deleted file mode 100644 index 3fda12e..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMVerifier.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCMRecorder.h" -#import "OCMLocation.h" - - -@interface OCMVerifier : OCMRecorder - -@property(retain) OCMLocation *location; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMVerifier.m b/Sample/Pods/OCMock/Source/OCMock/OCMVerifier.m deleted file mode 100644 index 0d07a76..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMVerifier.m +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2014-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#import "OCMVerifier.h" -#import "OCMockObject.h" -#import "OCMLocation.h" -#import "OCMInvocationMatcher.h" - - -@implementation OCMVerifier - -- (id)init -{ - if ((self = [super init])) - { - invocationMatcher = [[OCMInvocationMatcher alloc] init]; - } - - return self; -} - -- (void)forwardInvocation:(NSInvocation *)anInvocation -{ - [super forwardInvocation:anInvocation]; - [mockObject verifyInvocation:invocationMatcher atLocation:self.location]; -} - -- (void)dealloc -{ - [_location release]; - [super dealloc]; -} - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMock.h b/Sample/Pods/OCMock/Source/OCMock/OCMock.h deleted file mode 100644 index 9d55813..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMock.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright (c) 2004-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#import -#import -#import -#import -#import -#import -#import -#import - - -#define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] - -#define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] - -#define OCMProtocolMock(protocol) [OCMockObject niceMockForProtocol:protocol] - -#define OCMStrictProtocolMock(protocol) [OCMockObject mockForProtocol:protocol] - -#define OCMPartialMock(obj) [OCMockObject partialMockForObject:obj] - -#define OCMObserverMock() [OCMockObject observerMock] - - -#define OCMStub(invocation) \ -({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginStubMacro]; \ - OCMStubRecorder *recorder = nil; \ - @try{ \ - invocation; \ - }@finally{ \ - recorder = [OCMMacroState endStubMacro]; \ - } \ - recorder; \ - ); \ -}) - -#define OCMExpect(invocation) \ -({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginExpectMacro]; \ - OCMStubRecorder *recorder = nil; \ - @try{ \ - invocation; \ - }@finally{ \ - recorder = [OCMMacroState endExpectMacro]; \ - } \ - recorder; \ - ); \ -}) - -#define OCMReject(invocation) \ -({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginRejectMacro]; \ - OCMStubRecorder *recorder = nil; \ - @try{ \ - invocation; \ - }@finally{ \ - recorder = [OCMMacroState endRejectMacro]; \ - } \ - recorder; \ - ); \ -}) - -#define ClassMethod(invocation) \ - _OCMSilenceWarnings( \ - [[OCMMacroState globalState] switchToClassMethod]; \ - invocation; \ - ); - - -#define OCMVerifyAll(mock) [mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] - -#define OCMVerifyAllWithDelay(mock, delay) [mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] - -#define OCMVerify(invocation) \ -({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ - @try{ \ - invocation; \ - }@finally{ \ - [OCMMacroState endVerifyMacro]; \ - } \ - ); \ -}) - -#define _OCMSilenceWarnings(macro) \ -({ \ - _Pragma("clang diagnostic push") \ - _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ - _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ - macro \ - _Pragma("clang diagnostic pop") \ -}) diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMockObject.h b/Sample/Pods/OCMock/Source/OCMock/OCMockObject.h deleted file mode 100644 index 31f7ac4..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMockObject.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2004-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@class OCMLocation; -@class OCMInvocationStub; -@class OCMStubRecorder; -@class OCMInvocationMatcher; -@class OCMInvocationExpectation; - - -@interface OCMockObject : NSProxy -{ - BOOL isNice; - BOOL expectationOrderMatters; - NSMutableArray *stubs; - NSMutableArray *expectations; - NSMutableArray *exceptions; - NSMutableArray *invocations; -} - -+ (id)mockForClass:(Class)aClass; -+ (id)mockForProtocol:(Protocol *)aProtocol; -+ (id)partialMockForObject:(NSObject *)anObject; - -+ (id)niceMockForClass:(Class)aClass; -+ (id)niceMockForProtocol:(Protocol *)aProtocol; - -+ (id)observerMock; - -- (instancetype)init; - -- (void)setExpectationOrderMatters:(BOOL)flag; - -- (id)stub; -- (id)expect; -- (id)reject; - -- (id)verify; -- (id)verifyAtLocation:(OCMLocation *)location; - -- (void)verifyWithDelay:(NSTimeInterval)delay; -- (void)verifyWithDelay:(NSTimeInterval)delay atLocation:(OCMLocation *)location; - -- (void)stopMocking; - -// internal use only - -- (void)addStub:(OCMInvocationStub *)aStub; -- (void)addExpectation:(OCMInvocationExpectation *)anExpectation; - -- (BOOL)handleInvocation:(NSInvocation *)anInvocation; -- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation; -- (BOOL)handleSelector:(SEL)sel; - -- (void)verifyInvocation:(OCMInvocationMatcher *)matcher; -- (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; - -@end - diff --git a/Sample/Pods/OCMock/Source/OCMock/OCMockObject.m b/Sample/Pods/OCMock/Source/OCMock/OCMockObject.m deleted file mode 100644 index a4e0b26..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCMockObject.m +++ /dev/null @@ -1,437 +0,0 @@ -/* - * Copyright (c) 2004-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#import "OCClassMockObject.h" -#import "OCProtocolMockObject.h" -#import "OCPartialMockObject.h" -#import "OCObserverMockObject.h" -#import "OCMStubRecorder.h" -#import -#import "NSInvocation+OCMAdditions.h" -#import "OCMInvocationMatcher.h" -#import "OCMMacroState.h" -#import "OCMFunctionsPrivate.h" -#import "OCMVerifier.h" -#import "OCMInvocationExpectation.h" -#import "OCMExceptionReturnValueProvider.h" -#import "OCMExpectationRecorder.h" - - -@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 -ObjC linker flag?"]; -} - - -#pragma mark Factory methods - -+ (id)mockForClass:(Class)aClass -{ - return [[[OCClassMockObject 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. - -- (instancetype)init -{ - // no [super init], we're inheriting from NSProxy - expectationOrderMatters = NO; - stubs = [[NSMutableArray alloc] init]; - expectations = [[NSMutableArray alloc] init]; - exceptions = [[NSMutableArray alloc] init]; - invocations = [[NSMutableArray alloc] init]; - return self; -} - -- (void)dealloc -{ - [stubs release]; - [expectations release]; - [exceptions release]; - [invocations release]; - [super dealloc]; -} - -- (NSString *)description -{ - return @"OCMockObject"; -} - -- (void)addStub:(OCMInvocationStub *)aStub -{ - @synchronized(stubs) - { - [stubs addObject:aStub]; - } -} - -- (void)addExpectation:(OCMInvocationExpectation *)anExpectation -{ - @synchronized(expectations) - { - [expectations addObject:anExpectation]; - } -} - - -#pragma mark Public API - -- (void)setExpectationOrderMatters:(BOOL)flag -{ - expectationOrderMatters = flag; -} - -- (void)stopMocking -{ - // no-op for mock objects that are not class object or partial mocks -} - - -- (id)stub -{ - return [[[OCMStubRecorder alloc] initWithMockObject:self] autorelease]; -} - -- (id)expect -{ - return [[[OCMExpectationRecorder alloc] initWithMockObject:self] autorelease]; -} - -- (id)reject -{ - return [[self expect] never]; -} - - -- (id)verify -{ - return [self verifyAtLocation:nil]; -} - -- (id)verifyAtLocation:(OCMLocation *)location -{ - NSMutableArray *unsatisfiedExpectations = [NSMutableArray array]; - @synchronized(expectations) - { - for(OCMInvocationExpectation *e in expectations) - { - if(![e isSatisfied]) - [unsatisfiedExpectations addObject:e]; - } - } - - if([unsatisfiedExpectations count] == 1) - { - NSString *description = [NSString stringWithFormat:@"%@: expected method was not invoked: %@", - [self description], [[unsatisfiedExpectations objectAtIndex:0] description]]; - OCMReportFailure(location, description); - } - else if([unsatisfiedExpectations count] > 0) - { - NSString *description = [NSString stringWithFormat:@"%@: %@ expected methods were not invoked: %@", - [self description], @([unsatisfiedExpectations count]), [self _stubDescriptions:YES]]; - OCMReportFailure(location, description); - } - - OCMInvocationExpectation *firstException = nil; - @synchronized(exceptions) - { - firstException = [exceptions.firstObject retain]; - } - if(firstException) - { - NSString *description = [NSString stringWithFormat:@"%@: %@ (This is a strict mock failure that was ignored when it actually occured.)", - [self description], [firstException description]]; - OCMReportFailure(location, description); - } - [firstException release]; - - return [[[OCMVerifier alloc] initWithMockObject:self] autorelease]; -} - - -- (void)verifyWithDelay:(NSTimeInterval)delay -{ - [self verifyWithDelay:delay atLocation:nil]; -} - -- (void)verifyWithDelay:(NSTimeInterval)delay atLocation:(OCMLocation *)location -{ - NSTimeInterval step = 0.01; - while(delay > 0) - { - @synchronized(expectations) - { - if([expectations count] == 0) - break; - } - [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:MIN(step, delay)]]; - delay -= step; - step *= 2; - } - [self verifyAtLocation:location]; -} - - -#pragma mark Verify after running - -- (void)verifyInvocation:(OCMInvocationMatcher *)matcher -{ - [self verifyInvocation:matcher atLocation:nil]; -} - -- (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location -{ - @synchronized(invocations) - { - for(NSInvocation *invocation in invocations) - { - if([matcher matchesInvocation:invocation]) - return; - } - } - NSString *description = [NSString stringWithFormat:@"%@: Method %@ was not invoked.", - [self description], [matcher description]]; - - OCMReportFailure(location, description); -} - - -#pragma mark Handling invocations - -- (id)forwardingTargetForSelector:(SEL)aSelector -{ - if([OCMMacroState globalState] != nil) - { - OCMRecorder *recorder = [[OCMMacroState globalState] recorder]; - [recorder setMockObject:self]; - return recorder; - } - return nil; -} - - -- (BOOL)handleSelector:(SEL)sel -{ - @synchronized(stubs) - { - for(OCMInvocationStub *recorder in stubs) - if([recorder matchesSelector:sel]) - return YES; - } - return NO; -} - -- (void)forwardInvocation:(NSInvocation *)anInvocation -{ - @try - { - if([self handleInvocation:anInvocation] == NO) - [self handleUnRecordedInvocation:anInvocation]; - } - @catch(NSException *e) - { - if([[e name] isEqualToString:OCMStubbedException]) - { - e = [[e userInfo] objectForKey:@"exception"]; - } - else - { - // add non-stubbed method to list of exceptions to be re-raised in verify - @synchronized(exceptions) - { - [exceptions addObject:e]; - } - } - [e raise]; - } -} - -- (BOOL)handleInvocation:(NSInvocation *)anInvocation -{ - @synchronized(invocations) - { - // We can't do a normal retain arguments on anInvocation because its target/arguments/return - // value could be self. That would produce a retain cycle self->invocations->anInvocation->self. - // However we need to retain everything on anInvocation that isn't self because we expect them to - // stick around after this method returns. Use our special method to retain just what's needed. - [anInvocation retainObjectArgumentsExcludingObject:self]; - [invocations addObject:anInvocation]; - } - - OCMInvocationStub *stub = nil; - @synchronized(stubs) - { - for(stub in stubs) - { - // If the stub forwards its invocation to the real object, then we don't want to do handleInvocation: yet, since forwarding the invocation to the real object could call a method that is expected to happen after this one, which is bad if expectationOrderMatters is YES - if([stub matchesInvocation:anInvocation]) - break; - } - // Retain the stub in case it ends up being removed from stubs and expectations, since we still have to call handleInvocation on the stub at the end - [stub retain]; - } - if(stub == nil) - return NO; - - BOOL removeStub = NO; - @synchronized(expectations) - { - if([expectations containsObject:stub]) - { - OCMInvocationExpectation *expectation = [self _nextExpectedInvocation]; - if(expectationOrderMatters && (expectation != stub)) - { - [NSException raise:NSInternalInconsistencyException format:@"%@: unexpected method invoked: %@\n\texpected:\t%@", - [self description], [stub description], [[expectations objectAtIndex:0] description]]; - } - - // We can't check isSatisfied yet, since the stub won't be satisfied until we call handleInvocation:, and we don't want to call handleInvocation: yes for the reason in the comment above, since we'll still have the current expectation in the expectations array, which will cause an exception if expectationOrderMatters is YES and we're not ready for any future expected methods to be called yet - if(![(OCMInvocationExpectation *)stub isMatchAndReject]) - { - [expectations removeObject:stub]; - removeStub = YES; - } - } - } - if(removeStub) - { - @synchronized(stubs) - { - [stubs removeObject:stub]; - } - } - [stub handleInvocation:anInvocation]; - [stub release]; - - return YES; -} - -// Must be synchronized on expectations when calling this method. -- (OCMInvocationExpectation *)_nextExpectedInvocation -{ - for(OCMInvocationExpectation *expectation in expectations) - if(![expectation isMatchAndReject]) - return expectation; - return nil; -} - -- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation -{ - if(isNice == NO) - { - [NSException raise:NSInternalInconsistencyException format:@"%@: unexpected method invoked: %@ %@", - [self description], [anInvocation invocationDescription], [self _stubDescriptions:NO]]; - } -} - -- (void)doesNotRecognizeSelector:(SEL)aSelector __unused -{ - if([OCMMacroState globalState] != nil) - { - // we can't do anything clever with the macro state because we must raise an exception here - [NSException raise:NSInvalidArgumentException format:@"%@: Cannot stub/expect/verify method '%@' because no such method exists in the mocked class.", - [self description], NSStringFromSelector(aSelector)]; - } - else - { - [NSException raise:NSInvalidArgumentException format:@"-[%@ %@]: unrecognized selector sent to instance %p", - [self description], NSStringFromSelector(aSelector), (void *)self]; - } -} - - -#pragma mark Helper methods - -- (NSString *)_stubDescriptions:(BOOL)onlyExpectations -{ - NSMutableString *outputString = [NSMutableString string]; - NSArray *stubsCopy = nil; - @synchronized(stubs) - { - stubsCopy = [stubs copy]; - } - for(OCMStubRecorder *stub in stubsCopy) - { - BOOL expectationsContainStub = NO; - @synchronized(expectations) - { - expectationsContainStub = [expectations containsObject:stub]; - } - - NSString *prefix = @""; - - if(onlyExpectations) - { - if(expectationsContainStub == NO) - continue; - } - else - { - if(expectationsContainStub) - prefix = @"expected:\t"; - else - prefix = @"stubbed:\t"; - } - [outputString appendFormat:@"\n\t%@%@", prefix, [stub description]]; - } - [stubsCopy release]; - return outputString; -} - - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCObserverMockObject.h b/Sample/Pods/OCMock/Source/OCMock/OCObserverMockObject.h deleted file mode 100644 index 3cbcd3c..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCObserverMockObject.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@class OCMLocation; - - -@interface OCObserverMockObject : NSObject -{ - BOOL expectationOrderMatters; - NSMutableArray *recorders; - NSMutableArray *centers; -} - -- (void)setExpectationOrderMatters:(BOOL)flag; - -- (id)expect; - -- (void)verify; -- (void)verifyAtLocation:(OCMLocation *)location; - -- (void)handleNotification:(NSNotification *)aNotification; - -// internal use - -- (void)autoRemoveFromCenter:(NSNotificationCenter *)aCenter; -- (NSNotification *)notificationWithName:(NSString *)name object:(id)sender; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCObserverMockObject.m b/Sample/Pods/OCMock/Source/OCMock/OCObserverMockObject.m deleted file mode 100644 index 03db0d3..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCObserverMockObject.m +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCObserverMockObject.h" -#import "OCMObserverRecorder.h" -#import "OCMLocation.h" -#import "OCMFunctionsPrivate.h" - - -@implementation OCObserverMockObject - -#pragma mark Initialisers, description, accessors, etc. - -- (id)init -{ - if ((self = [super init])) - { - recorders = [[NSMutableArray alloc] init]; - centers = [[NSMutableArray alloc] init]; - } - - return self; -} - -- (id)retain -{ - return [super retain]; -} - -- (void)dealloc -{ - for(NSNotificationCenter *c in centers) - [c removeObserver:self]; - [centers release]; - [recorders release]; - [super dealloc]; -} - -- (NSString *)description -{ - return @"OCMockObserver"; -} - -- (void)setExpectationOrderMatters:(BOOL)flag -{ - expectationOrderMatters = flag; -} - -- (void)autoRemoveFromCenter:(NSNotificationCenter *)aCenter -{ - @synchronized(centers) - { - [centers addObject:aCenter]; - } -} - - -#pragma mark Public API - -- (id)expect -{ - OCMObserverRecorder *recorder = [[[OCMObserverRecorder alloc] init] autorelease]; - @synchronized(recorders) - { - [recorders addObject:recorder]; - } - return recorder; -} - -- (void)verify -{ - [self verifyAtLocation:nil]; -} - -- (void)verifyAtLocation:(OCMLocation *)location -{ - @synchronized(recorders) - { - if([recorders count] == 1) - { - NSString *description = [NSString stringWithFormat:@"%@: expected notification was not observed: %@", - [self description], [[recorders lastObject] description]]; - OCMReportFailure(location, description); - } - else if([recorders count] > 0) - { - NSString *description = [NSString stringWithFormat:@"%@ : %@ expected notifications were not observed.", - [self description], @([recorders count])]; - OCMReportFailure(location, description); - } - } -} - - -#pragma mark Receiving recording requests via macro - -- (NSNotification *)notificationWithName:(NSString *)name object:(id)sender -{ - return [[self expect] notificationWithName:name object:sender]; -} - - -#pragma mark Receiving notifications - -- (void)handleNotification:(NSNotification *)aNotification -{ - @synchronized(recorders) - { - 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/Sample/Pods/OCMock/Source/OCMock/OCPartialMockObject.h b/Sample/Pods/OCMock/Source/OCMock/OCPartialMockObject.h deleted file mode 100644 index 5a8fd0e..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCPartialMockObject.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import "OCClassMockObject.h" - -@interface OCPartialMockObject : OCClassMockObject -{ - NSObject *realObject; -} - -- (id)initWithObject:(NSObject *)anObject; - -- (NSObject *)realObject; - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCPartialMockObject.m b/Sample/Pods/OCMock/Source/OCMock/OCPartialMockObject.m deleted file mode 100644 index 991e994..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCPartialMockObject.m +++ /dev/null @@ -1,220 +0,0 @@ -/* - * Copyright (c) 2009-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#import "OCMockObject.h" -#import "OCPartialMockObject.h" -#import "NSMethodSignature+OCMAdditions.h" -#import "NSObject+OCMAdditions.h" -#import "OCMFunctionsPrivate.h" -#import "OCMInvocationStub.h" - - -@implementation OCPartialMockObject - -#pragma mark Initialisers, description, accessors, etc. - -- (id)initWithObject:(NSObject *)anObject -{ - NSParameterAssert(anObject != nil); - [self assertClassIsSupported:[anObject class]]; - [super initWithClass:[anObject class]]; - realObject = [anObject retain]; - [self prepareObjectForInstanceMethodMocking]; - return self; -} - -- (void)dealloc -{ - [self stopMocking]; - [realObject release]; - [super dealloc]; -} - -- (NSString *)description -{ - return [NSString stringWithFormat:@"OCPartialMockObject(%@)", NSStringFromClass(mockedClass)]; -} - -- (NSObject *)realObject -{ - return realObject; -} - -#pragma mark Helper methods - -- (void)assertClassIsSupported:(Class)class -{ - NSString *classname = NSStringFromClass(class); - NSString *reason = nil; - if([classname hasPrefix:@"__NSTagged"] || [classname hasPrefix:@"NSTagged"]) - reason = [NSString stringWithFormat:@"OCMock does not support partially mocking tagged classes; got %@", classname]; - else if([classname hasPrefix:@"__NSCF"]) - reason = [NSString stringWithFormat:@"OCMock does not support partially mocking toll-free bridged classes; got %@", classname]; - - if(reason != nil) - [[NSException exceptionWithName:NSInvalidArgumentException reason:reason userInfo:nil] raise]; -} - - -#pragma mark Extending/overriding superclass behaviour - -- (void)stopMocking -{ - if(realObject != nil) - { - Class partialMockClass = object_getClass(realObject); - OCMSetAssociatedMockForObject(nil, realObject); - object_setClass(realObject, [self mockedClass]); - [realObject release]; - realObject = nil; - objc_disposeClassPair(partialMockClass); - } - [super stopMocking]; -} - -- (void)addStub:(OCMInvocationStub *)aStub -{ - [super addStub:aStub]; - if(![aStub recordedAsClassMethod]) - [self setupForwarderForSelector:[[aStub recordedInvocation] selector]]; -} - -- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation -{ - [anInvocation invokeWithTarget:realObject]; -} - - -#pragma mark Subclass management - -- (void)prepareObjectForInstanceMethodMocking -{ - OCMSetAssociatedMockForObject(self, realObject); - - /* dynamically create a subclass and set it as the class of the object */ - Class subclass = OCMCreateSubclass(mockedClass, realObject); - object_setClass(realObject, subclass); - - /* point forwardInvocation: of the object to the implementation in the mock */ - Method myForwardMethod = class_getInstanceMethod([self mockObjectClass], @selector(forwardInvocationForRealObject:)); - IMP myForwardIMP = method_getImplementation(myForwardMethod); - class_addMethod(subclass, @selector(forwardInvocation:), myForwardIMP, method_getTypeEncoding(myForwardMethod)); - - /* do the same for forwardingTargetForSelector, remember existing imp with alias selector */ - Method myForwardingTargetMethod = class_getInstanceMethod([self mockObjectClass], @selector(forwardingTargetForSelectorForRealObject:)); - IMP myForwardingTargetIMP = method_getImplementation(myForwardingTargetMethod); - IMP originalForwardingTargetIMP = [mockedClass instanceMethodForSelector:@selector(forwardingTargetForSelector:)]; - class_addMethod(subclass, @selector(forwardingTargetForSelector:), myForwardingTargetIMP, method_getTypeEncoding(myForwardingTargetMethod)); - class_addMethod(subclass, @selector(ocmock_replaced_forwardingTargetForSelector:), originalForwardingTargetIMP, method_getTypeEncoding(myForwardingTargetMethod)); - - /* We also override the -class method to return the original class */ - Method myObjectClassMethod = class_getInstanceMethod([self mockObjectClass], @selector(classForRealObject)); - const char *objectClassTypes = method_getTypeEncoding(myObjectClassMethod); - IMP myObjectClassImp = method_getImplementation(myObjectClassMethod); - class_addMethod(subclass, @selector(class), myObjectClassImp, objectClassTypes); - - /* Adding forwarder for most instance methods to allow for verify after run */ - NSArray *methodBlackList = @[@"class", @"forwardingTargetForSelector:", @"methodSignatureForSelector:", @"forwardInvocation:", - @"allowsWeakReference", @"retainWeakReference", @"isBlock", @"retainCount", @"retain", @"release", @"autorelease"]; - [NSObject enumerateMethodsInClass:mockedClass usingBlock:^(Class cls, SEL sel) { - if((cls == [NSObject class]) || (cls == [NSProxy class])) - return; - NSString *className = NSStringFromClass(cls); - NSString *selName = NSStringFromSelector(sel); - if(([className hasPrefix:@"NS"] || [className hasPrefix:@"UI"]) && - ([selName hasPrefix:@"_"] || [selName hasSuffix:@"_"])) - return; - if([methodBlackList containsObject:selName]) - return; - @try - { - [self setupForwarderForSelector:sel]; - } - @catch(NSException *e) - { - // ignore for now - } - }]; -} - -- (void)setupForwarderForSelector:(SEL)sel -{ - SEL aliasSelector = OCMAliasForOriginalSelector(sel); - if(class_getInstanceMethod(object_getClass(realObject), aliasSelector) != NULL) - return; - - Method originalMethod = class_getInstanceMethod(mockedClass, sel); - IMP originalIMP = method_getImplementation(originalMethod); - const char *types = method_getTypeEncoding(originalMethod); - /* Might be NULL if the selector is forwarded to another class */ - // TODO: check the fallback implementation is actually sufficient - if(types == NULL) - types = ([[mockedClass instanceMethodSignatureForSelector:sel] fullObjCTypes]); - - Class subclass = object_getClass([self realObject]); - IMP forwarderIMP = [mockedClass instanceMethodForwarderForSelector:sel]; - class_replaceMethod(subclass, sel, forwarderIMP, types); - class_addMethod(subclass, aliasSelector, originalIMP, types); -} - - -// Implementation of the -class method; return the Class that was reported with [realObject class] prior to mocking -- (Class)classForRealObject -{ - // in here "self" is a reference to the real object, not the mock - OCPartialMockObject *mock = OCMGetAssociatedMockForObject(self); - if(mock == nil) - [NSException raise:NSInternalInconsistencyException format:@"No partial mock for object %p", self]; - return [mock mockedClass]; -} - - -- (id)forwardingTargetForSelectorForRealObject:(SEL)sel -{ - // in here "self" is a reference to the real object, not the mock - OCPartialMockObject *mock = OCMGetAssociatedMockForObject(self); - if(mock == nil) - [NSException raise:NSInternalInconsistencyException format:@"No partial mock for object %p", self]; - if([mock handleSelector:sel]) - return self; - - return [self ocmock_replaced_forwardingTargetForSelector:sel]; -} - -// Make the compiler happy in -forwardingTargetForSelectorForRealObject: because it can't find the message… -- (id)ocmock_replaced_forwardingTargetForSelector:(SEL)sel -{ - return nil; -} - - -- (void)forwardInvocationForRealObject:(NSInvocation *)anInvocation -{ - // in here "self" is a reference to the real object, not the mock - OCPartialMockObject *mock = OCMGetAssociatedMockForObject(self); - if(mock == nil) - [NSException raise:NSInternalInconsistencyException format:@"No partial mock for object %p", self]; - - if([mock handleInvocation:anInvocation] == NO) - { - [anInvocation setSelector:OCMAliasForOriginalSelector([anInvocation selector])]; - [anInvocation invoke]; - } -} - - -@end diff --git a/Sample/Pods/OCMock/Source/OCMock/OCProtocolMockObject.h b/Sample/Pods/OCMock/Source/OCMock/OCProtocolMockObject.h deleted file mode 100644 index 0b3f6b1..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCProtocolMockObject.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2005-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import - -@interface OCProtocolMockObject : OCMockObject -{ - Protocol *mockedProtocol; -} - -- (id)initWithProtocol:(Protocol *)aProtocol; - -@end - diff --git a/Sample/Pods/OCMock/Source/OCMock/OCProtocolMockObject.m b/Sample/Pods/OCMock/Source/OCMock/OCProtocolMockObject.m deleted file mode 100644 index 55dc7b5..0000000 --- a/Sample/Pods/OCMock/Source/OCMock/OCProtocolMockObject.m +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2005-2016 Erik Doernenburg and contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may - * not use these files except in compliance with the License. You may obtain - * a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -#import -#import "NSMethodSignature+OCMAdditions.h" -#import "OCProtocolMockObject.h" - -@implementation OCProtocolMockObject - -#pragma mark Initialisers, description, accessors, etc. - -- (id)initWithProtocol:(Protocol *)aProtocol -{ - NSParameterAssert(aProtocol != nil); - [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 { BOOL isRequired; BOOL isInstance; } opts[4] = { {YES, YES}, {NO, YES}, {YES, NO}, {NO, NO} }; - for(int i = 0; i < 4; i++) - { - struct objc_method_description methodDescription = protocol_getMethodDescription(mockedProtocol, aSelector, opts[i].isRequired, opts[i].isInstance); - if(methodDescription.name != NULL) - return [NSMethodSignature signatureWithObjCTypes:methodDescription.types]; - } - return nil; -} - -- (BOOL)conformsToProtocol:(Protocol *)aProtocol -{ - return protocol_conformsToProtocol(mockedProtocol, aProtocol); -} - -- (BOOL)respondsToSelector:(SEL)selector -{ - return ([self methodSignatureForSelector:selector] != nil); -} - -@end diff --git a/Sample/Pods/Pods.xcodeproj/project.pbxproj b/Sample/Pods/Pods.xcodeproj/project.pbxproj deleted file mode 100644 index b5bc9a0..0000000 --- a/Sample/Pods/Pods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1926 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 01398FFBA401692249E11D256382A754 /* SPTCompiledExample.m in Sources */ = {isa = PBXBuildFile; fileRef = E7E177B36A131EE0D9A9CB466210A683 /* SPTCompiledExample.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 022DD32C1475CD07C5D35FD04E7B4799 /* SPTExcludeGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A6C066D6534AAC8AE98A891A44A0DEB /* SPTExcludeGlobalBeforeAfterEach.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 063FD641DAB4C94B2340FFABF6EA6991 /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = 160A297977B4484AC3DB15164F010752 /* FBSnapshotTestCasePlatform.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 06B1FC90B61BF117E8475C51E9048A6A /* EXPBlockDefinedMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = F73CE0D91625EC1BF551759F27A877AA /* EXPBlockDefinedMatcher.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0864EB7729B1ACCCDB21F02563A7C7BC /* OCMStubRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 0652C06542264D35EE65692082902C68 /* OCMStubRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0D16B556212D317A0D4FEB71E102E207 /* EXPMatchers+beLessThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BC77F99BC937C91437DCA57DFD34AE8 /* EXPMatchers+beLessThan.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0F94F5B0ABB3252B9275B7C129EC7A26 /* EXPMatchers+equal.h in Headers */ = {isa = PBXBuildFile; fileRef = A265441F8DC84F5D9ABC1CBD05EE9B29 /* EXPMatchers+equal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 112B5AAC1A183984484B3C376409308C /* EXPMatchers+beNil.m in Sources */ = {isa = PBXBuildFile; fileRef = CFC21CE26A91EC9835774431E802F83F /* EXPMatchers+beNil.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 11C1AEB289C1EB80089349B71F09D04B /* EXPMatchers+raiseWithReason.h in Headers */ = {isa = PBXBuildFile; fileRef = AB021EC9C083DF9015E2EE88F7056215 /* EXPMatchers+raiseWithReason.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 123EBAAC712690F9F6A44695AFF934F9 /* NSValue+Expecta.m in Sources */ = {isa = PBXBuildFile; fileRef = FF0614556C3D0394CDF8D0F820CEF43D /* NSValue+Expecta.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 12E68D9F5B6EC5840BD702652CE35197 /* OCMInvocationStub.h in Headers */ = {isa = PBXBuildFile; fileRef = 1758184A53CBB6E263F41E45CEDDD891 /* OCMInvocationStub.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 131532787AD40BE1F35DF288D2E6FFD7 /* EXPMatchers+beInTheRangeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 2208CF946B84473A18395715B6BFCE91 /* EXPMatchers+beInTheRangeOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 160FDA46EE919AAF97E0E4EC04C9E232 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CF084266D04F9AD0F1FFD71C6AFC3FF /* Foundation.framework */; }; - 18359C98147B5E9CBFDBB349F54C8BE2 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B097D27B5AD98A52CC165EFAE43F2B5 /* UIKit.framework */; }; - 184017B1C7A1AA1AEA8DFBB519C8CB89 /* EXPExpect.m in Sources */ = {isa = PBXBuildFile; fileRef = 87F23BC9B918339E19E64770281BDF06 /* EXPExpect.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1A1AB2EC52323C5EA28DAA99F1E1A90D /* EXPMatchers+endWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 2442AEEF1C6E5759D7D56DE480A2746B /* EXPMatchers+endWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1AD5F8ED94A2C42569ED1C1A8E33A4EA /* SPTCallSite.m in Sources */ = {isa = PBXBuildFile; fileRef = 670BDCC5A7307E3BA3C9B54FF1002CD6 /* SPTCallSite.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1B668D9637D2CDD722343444E2B2A6F5 /* SPTSharedExampleGroups.h in Headers */ = {isa = PBXBuildFile; fileRef = AD06F937619DD2C67E54B75304243D2A /* SPTSharedExampleGroups.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1C39AB1D67D218284DC3AE22E6401361 /* OCMExceptionReturnValueProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 44C79FA0EA1527EEE6AE0E4B666B116E /* OCMExceptionReturnValueProvider.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1F47EC6A29CEE8FEBCB94D6679801158 /* NSNotificationCenter+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = AA80F58A8DE070476BF21B72F0420D6F /* NSNotificationCenter+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1F4D5DB6CB3F389BEB36A2835B94C6D5 /* OCMock.h in Headers */ = {isa = PBXBuildFile; fileRef = EE848A9A67CBB5C4B5AEBF450FD0D665 /* OCMock.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 204D694B03BFF3B244A6AB73FACFFC43 /* Expecta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A8C3E2E1123D10DBCAD77579441DD80 /* Expecta-dummy.m */; }; - 20F4938DBA15023BB3936848E1431350 /* OCClassMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 08912DEB417A23F7312671607BC3DB78 /* OCClassMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 21B54CBFCD48E0B8E4B3EC34B00E6452 /* FBSnapshotTestCase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C93D23F4DB7569CC800036F3F8FAFE2E /* FBSnapshotTestCase.framework */; }; - 245A46D58AAB05C0BC0DCB6833213687 /* OCMInvocationMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EED45BBEC1498FBDC5610C650BD59E8 /* OCMInvocationMatcher.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 25747E29F598A4D2967B7C95C9D2686D /* EXPMatchers+beFalsy.m in Sources */ = {isa = PBXBuildFile; fileRef = 83A3D2639E3DCCE5A443C54EDD36F620 /* EXPMatchers+beFalsy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 260BC7EED9289AF321A6F791964CE472 /* EXPMatchers+respondTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 83817E5A76A1A97CE899303514BC1B7E /* EXPMatchers+respondTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 261D58F2B02CBA96DAF0261E2CCA9FAF /* NSValue+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DB657F9A1034DF2702C2EE83C6AF9E5B /* NSValue+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 27B97EDD517EE1DA44955F63ED7C182F /* SpectaTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ABF99789A6B462BEF6B569056A48ED9 /* SpectaTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2838BC8A78080C94E3C8CAAB3681386E /* ExpectaObject+FBSnapshotTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 13D4F069586C731C6FC6D3D63F92BC79 /* ExpectaObject+FBSnapshotTest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2899D75C4C56232A7367DAE26FB445CA /* FBSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E6EF08617C34AB18552F62F973DD170 /* FBSnapshotTestCase-dummy.m */; }; - 2916A0606136A9DC67F2463AB230868B /* EXPMatchers+match.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E76207DA2A944232E6B13ADC6EA4050 /* EXPMatchers+match.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2ADADEC378A839F5AE006E3523EC265F /* OCPartialMockObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 2753CDC7298EC15166D8F99034A37918 /* OCPartialMockObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2AEC155C662A8FFDBAC9074FD1D3F78F /* NSInvocation+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = F7AE22C3ED4F758DEC6221E6AA07BCFD /* NSInvocation+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2D125712F3D241F8D8C1A9B7EE0478C6 /* OCMInvocationExpectation.h in Headers */ = {isa = PBXBuildFile; fileRef = E6C7FFBBCA5F9BDEB51994B16DCE0BE2 /* OCMInvocationExpectation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2E14619153A453BB8DF389FB6EA147BE /* ExpectaObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D87EC71E1DE52E3131BE5D27163AF0E /* ExpectaObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2E8E1DB775E98A71556D1D20FE5300F1 /* SPTExampleGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = B29B60E3368E4964B2FD74943937517A /* SPTExampleGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2F427490ACABC4408D57CC0592276678 /* EXPDoubleTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 18026D6427CEEFE1AA8E02B4D266304D /* EXPDoubleTuple.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2F6696940FB679BC4F7429A7522133D8 /* SPTTestSuite.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F42BA30865CABD6651BBB7CAB9D828B /* SPTTestSuite.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3049CE5D25E37F927285AA2094C081CF /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = 57F17C018217067A4104F38296C4920E /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 31AD7EA575A85A48C15578D2D4A56B40 /* OCMRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C373CDE20272955F46BD945CE650B07 /* OCMRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 323201D5C037F4514FD0122AA6FD12E7 /* EXPMatchers+beCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = A2BC709AA0769241CD3CAB49993DDD66 /* EXPMatchers+beCloseTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 32B2217B8779D7217ECA824127984755 /* SPTSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = A7914C95C78E50AEE78723BCDF96341A /* SPTSpec.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 34B6E9A30603BEBBD87BA535B7D384CA /* EXPMatchers+beInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AE70DE4B63D9EABAA69F00DE40459BD /* EXPMatchers+beInstanceOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 363EB8DCEF89422AD65214142D13A181 /* EXPMatchers+beLessThan.m in Sources */ = {isa = PBXBuildFile; fileRef = 89A080E038194208331AB86572C238D6 /* EXPMatchers+beLessThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 372F7A9CCE59CE86316CF436F832A3FC /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B1DC0A55A6C213531193FC597FBA191 /* EXPMatchers+beGreaterThanOrEqualTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 37A2D0F8493469EF2495FC689440F079 /* EXPMatchers+beLessThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = DE9FAF28D06CE63AD7B5E8DAF4FC5512 /* EXPMatchers+beLessThanOrEqualTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3856B94C2DDE0D2E4EE78B7E7B296C40 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CF084266D04F9AD0F1FFD71C6AFC3FF /* Foundation.framework */; }; - 385E0C8625F730CB397EBEEAF477AD4D /* SPTTestSuite.h in Headers */ = {isa = PBXBuildFile; fileRef = C916666F4970D467B4668A79A7D14FE3 /* SPTTestSuite.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 397B320B7C59C168CC5B62E18ED8DEA0 /* EXPMatchers+beSubclassOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 64C551B101D59789628D0750E8AF8DE4 /* EXPMatchers+beSubclassOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3B5B7495707BF7133B9FB3F834045611 /* EXPBlockDefinedMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = B2017A1E2D8F64C3D5CF53A2B92A6948 /* EXPBlockDefinedMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3C09B54E398E561C4A99794FF94BCDA6 /* OCMExpectationRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B43A83CED2460F675AE668E834E811F /* OCMExpectationRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3C2700C7DAA15C6AF84A595865C42F4D /* EXPMatchers+contain.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A8A6ED34645C892B78F28FB2ECDCF0A /* EXPMatchers+contain.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 407B7E172CF4D398A45B711A56D17BED /* OCMNotificationPoster.m in Sources */ = {isa = PBXBuildFile; fileRef = 901D45469F153F28C7D5911937167318 /* OCMNotificationPoster.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 409435B4AEA9DC5CD528509299026001 /* OCMObserverRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 23EA43C9CE53FC40EF72BA4B64FBF113 /* OCMObserverRecorder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4342E54F74BAD31ADFA094CB969746B5 /* OCMPassByRefSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A7D3400EB7A0DA716695A281C448E38 /* OCMPassByRefSetter.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 45782334B39C6B9B4E52B34B2B9B4413 /* EXPMatcherHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 346306BA4B1171D278F72CE75B97863A /* EXPMatcherHelpers.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 46137F5CC368BF38BAF0D0AF81DD8FFE /* EXPMatchers+raise.h in Headers */ = {isa = PBXBuildFile; fileRef = E05DAE3B05A6A083F7E2225143879EBF /* EXPMatchers+raise.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 471FD4F68E27AB26FA2AEBB8B245CEE4 /* NSValue+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 1254FEF984EE71EDE667D881759ADBE0 /* NSValue+Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4762F9550CF409B0B4577238B43DE7E6 /* EXPMatchers+haveCountOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FA46B4BDE48D618CFF49F07A52AABC7 /* EXPMatchers+haveCountOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 48DDD9BE0005FDDF9C91EBE57B03D1D4 /* OCMIndirectReturnValueProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = F96946A57D67F22520C1EC4EC0A72A09 /* OCMIndirectReturnValueProvider.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 49232DF4B87EB42059061B74B0337C1C /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = DEEF236D8A040764A443E5DDAFBA2384 /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 49DB462C455568591A759157D2850B86 /* OCObserverMockObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A71716528808CB70BE4C82229AF8D40 /* OCObserverMockObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4D099399F94AAD9151493AAD10D4A809 /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = D96ED1848DEDAAF32718B85D113448D1 /* EXPMatchers+beGreaterThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4E91FC9241DAF2AFAC03983082025C10 /* OCMReturnValueProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = D57DB49A9651C135121B1CE1EE05F34D /* OCMReturnValueProvider.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 504AB3CD7D70064A552DFDCB428C01A7 /* EXPMatchers+beInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = A74028BBEA5D167370B34CE686341FFE /* EXPMatchers+beInstanceOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 50E0999E3627D4EE8D09255E9A1C6391 /* OCProtocolMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DA180D5CF82191A21DCD89E8F4C3D8F /* OCProtocolMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 51DDDB0FB4899757CF6A826B531B940D /* EXPUnsupportedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 24782C2ED08C3CC53C238A390391C350 /* EXPUnsupportedObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5208A3B7EFA0DA3920BFB9ECF9DB554F /* EXPMatchers+equal.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FDEC1D8DD473FC0A972EF9F37E15D08 /* EXPMatchers+equal.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 550E2E9521D94B380758D591A966D513 /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = 01207E9464BF252DF57ADFF813C36884 /* UIImage+Snapshot.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 55553C15705BB759C13FE09D6526ACFF /* EXPMatchers+endWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 739597836396CF54973916FBF996C976 /* EXPMatchers+endWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 562957229D9AEAA9039CCCF00426D5AE /* SpectaUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = D911519C14FD273EF6C44258A457A0A7 /* SpectaUtility.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 565D3987D1DB73341F3BA1F9473A9F54 /* EXPMatchers+beKindOf.m in Sources */ = {isa = PBXBuildFile; fileRef = E96FBDB8F43C5E2CCF0FFFAD93755D36 /* EXPMatchers+beKindOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 580AB941F4C4348B0C9B499A93AEBB05 /* OCMInvocationStub.m in Sources */ = {isa = PBXBuildFile; fileRef = FE0EEF0DC9E439AD3B2415203D947088 /* OCMInvocationStub.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5B24DD80DB6F71F3D0522CA288A36A09 /* ExpectaSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 312F7C8423EFDE5C6A34E050219093EA /* ExpectaSupport.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5BA53A42B4B0FF9FEEAC39DFB8BBFD5D /* OCMock-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 804ADFECB653FE12784EDA2F7EF68E2B /* OCMock-dummy.m */; }; - 5C6CAA7BBCEE2A72664CAFAF8CDAE91B /* EXPMatchers+respondTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 52EA69A57C8284BC9A23A67D9A956669 /* EXPMatchers+respondTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5C8F2AD48B357E7B71DBBA7DFABA29C6 /* EXPMatchers+beLessThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C14EB4DBF62FF662E407453C7E759B /* EXPMatchers+beLessThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5D7A5ED2A4EC0BE072A11A5DA7B878A5 /* NSMethodSignature+OCMAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DCEE64F2F4AE6BECDB997185001B7045 /* NSMethodSignature+OCMAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5EA7043FE10E75D02F3C3052AF8B8318 /* EXPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 6035659D269EFE49F1C3717D2EAD9C2C /* EXPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5F47AE9BE7B1E45C419B344639CDBD8A /* OCPartialMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 07F04AC3D1BE31C11F947F7D1E3DE4B8 /* OCPartialMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5F6FC4706E7444375E677294DFEEB5C6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CF084266D04F9AD0F1FFD71C6AFC3FF /* Foundation.framework */; }; - 5F95FFA001F7D021C9D3D0D1262F4BD2 /* NSValue+OCMAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = C28F2045CE6785C0928D1C0BAA8F40A3 /* NSValue+OCMAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 60537EE95D37BD4B83D06371EA26F26F /* Specta-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BF77615CD909F370321FDC9B2DF1EF42 /* Specta-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 608C0FC9E9FE0A3F6CF799277F606BDB /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = 65C8B8374D486A390DE5DFF04F440B7F /* UIImage+Compare.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 610249954D9E36ED0639D3B5DB4157F3 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 38D55BF5B79C4ACFAC741FC2A1B3BEAC /* XCTest.framework */; }; - 621085B04DAEF68485F2FBEC20FA156D /* OCMReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 553997707DDD51E66C4493783EEECD52 /* OCMReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 65BC31095CCDFC80CBF6BBA843751F23 /* EXPMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = B3117DBBC98D95C9BEDBD1D1D74F5468 /* EXPMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 65BD2EAA1888CC88B8CA7E28B4F9EAEB /* OCMLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 12176C69F68A5ABF1B10383270817903 /* OCMLocation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 66325B104E947AB524E034CA3D8D9FC7 /* Pods-SampleTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DCDBD2416BDA81AE05FEE8C80FDAD9D0 /* Pods-SampleTests-dummy.m */; }; - 67459AD239EF669A365519E06B45DCFE /* EXPExpect.h in Headers */ = {isa = PBXBuildFile; fileRef = 5293D13E006F7339167141FC03C66954 /* EXPExpect.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 686B378129E94577605E62FD1572EFD3 /* OCMExpectationRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 576F6E93CB1DE7B1821A8F7B226E647A /* OCMExpectationRecorder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6885F05342E49CEA44778080981FA0D9 /* FBSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FA7DD410F195F07B601A0D883A11EBC3 /* FBSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 69CB28B1446963CE44FD81251FC9B338 /* OCMRealObjectForwarder.h in Headers */ = {isa = PBXBuildFile; fileRef = 84789DED610EFD1816F0B248C30F078A /* OCMRealObjectForwarder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6AC3A9A1825CEA7B5A6CAC3DBBDF9D93 /* EXPMatchers+raiseWithReason.m in Sources */ = {isa = PBXBuildFile; fileRef = E09C109C624CFC330B87F61C3A50295C /* EXPMatchers+raiseWithReason.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6B49333F4E51BF7BCBA80998F539B74B /* OCMMacroState.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DB296ECEBAF846288D3E1C76E73B815 /* OCMMacroState.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6B8A84238CE703476738B5C6866A4DE6 /* ExpectaObject+FBSnapshotTest.h in Headers */ = {isa = PBXBuildFile; fileRef = 065012AD3BD8DA8B8173ECDEBCD54A5B /* ExpectaObject+FBSnapshotTest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6BE7DD872FA8D68B235E3F3AC1564529 /* EXPMatchers+beSupersetOf.m in Sources */ = {isa = PBXBuildFile; fileRef = ECE0AB9A130C90C337381E6457129E0B /* EXPMatchers+beSupersetOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6C2B256D8B3B81B44410963DA29EA7D0 /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = C75686CCB2803C7002721213AAA73E09 /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6E1D978790705E137FDE439AA68DD3AA /* EXPFloatTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = B0B86E6E8D2B9220059B823ABE2BBE13 /* EXPFloatTuple.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6EEA015C4E0A0EAEC5ACD1287ECEC05B /* ExpectaObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E0855474B49241EC129EBC84436B1047 /* ExpectaObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6EFC63A5CED45BB39FC79D87F2C47D6B /* EXPMatchers+beGreaterThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A60408F982956D1E0CBFDA5EF374502 /* EXPMatchers+beGreaterThan.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6F731C00101AEF70E9975383963A059D /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B4989001B4A32102DD76D4E78FFA7F2 /* UIImage+Diff.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 706A41DDC289EAF1F2D211D800D91C87 /* EXPMatchers+beginWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ACA2783BEB1635E3E9766A90C79C7CD /* EXPMatchers+beginWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 75590CD1E4916B13C22A56FF92B5016F /* NSNotificationCenter+OCMAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 26789AFA5C4D1FAE22F3FF79681B27CA /* NSNotificationCenter+OCMAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 76C11F59C3940979399B3AA9E547E845 /* OCMMacroState.h in Headers */ = {isa = PBXBuildFile; fileRef = BDDF5C2EBC89139C18C707A6C426A66D /* OCMMacroState.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 76CCABE79C04444450153424D7CE1DC1 /* EXPMatchers+beSupersetOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FD884DE1353D6C853DE920BEC09DBEB /* EXPMatchers+beSupersetOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 76D514410DDA00454990598F46BE8696 /* Expecta+Snapshots-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BF0521E8146AC9D7A48CBACB34D02B0 /* Expecta+Snapshots-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 775F059D5771456DC08DC5544650290A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CF084266D04F9AD0F1FFD71C6AFC3FF /* Foundation.framework */; }; - 77F53FE7276B799EC2C3289B095A4C3D /* XCTestCase+Specta.m in Sources */ = {isa = PBXBuildFile; fileRef = FC29D2F218DDE04E685942E76CF1C8A0 /* XCTestCase+Specta.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 782A052F46927F486092F43622F6AB2D /* OCMBlockCaller.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BB254D4CEF8B4BF989AFA1D78FF3551 /* OCMBlockCaller.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 79558B1F97ABE4AB8942DC18BEBD4B82 /* EXPMatchers+beKindOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 86AC61221D63A2C71C98C54DBDB1AD20 /* EXPMatchers+beKindOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 797D76D6582EE431937A33BB1E662270 /* OCMInvocationMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 783675C01EF7353EF3504D6FC328D5C0 /* OCMInvocationMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7A211860F672261C1522DCDF1FFC9ED0 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 38D55BF5B79C4ACFAC741FC2A1B3BEAC /* XCTest.framework */; }; - 7A7038C357C2EB201912131F70C52957 /* OCMFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 5719B0B0ABD04B5F95ACC66E97D4FEFD /* OCMFunctions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7B223B4E6EF14BA12DA113F7EE10B96C /* NSObject+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = CF278C4327EDBE7500895E856542D318 /* NSObject+Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7D7BE573A26FE8D0A5CFA21637505AC1 /* OCMock-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BA1A454989C57E96887A0735C9234252 /* OCMock-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7E57BCB6FE33ABB76C95E0E93AB36A8E /* SPTSharedExampleGroups.m in Sources */ = {isa = PBXBuildFile; fileRef = EFC2E3057DD3C696FED18684AA06284B /* SPTSharedExampleGroups.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7EC9790FACD1C148874CDADEDB4B47C1 /* OCMIndirectReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B2B8A8B538D59BBBF90BEAC3BDEF8CF /* OCMIndirectReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 828A6CE4F88922FCBAEFD1201C6DE519 /* OCMConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CC402FA402F490DD6F12FE59228B1BD /* OCMConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 82E05444D6EE3E8133AB04B420729C1D /* EXPMatchers+FBSnapshotTest.h in Headers */ = {isa = PBXBuildFile; fileRef = 320A87E589072084D6E57C5B5F29B8A2 /* EXPMatchers+FBSnapshotTest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8329271371047F27FD273F1F7AF61BD6 /* Specta.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C69DF8F7AD5A0ABA3453069F77F5742 /* Specta.framework */; }; - 837B593D7C1D01B4EA400247309D6AB0 /* Expecta-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 81EB8C7E0D83E78B01F2EEEEA4B416AC /* Expecta-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 85E31076D5530AEEB45ACF16B2B8A983 /* EXPMatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = D52DEFBCFA628A82BC7CDB5062FDC221 /* EXPMatchers.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 85E4C4DC8D9C4B4D8651D9C059B4CDC1 /* Expecta.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E47922AA0F6D472C6BD29B15DF2DE148 /* Expecta.framework */; }; - 85EB2F216487CB2E8F3FCCFBC4D69912 /* EXPMatchers+beTruthy.h in Headers */ = {isa = PBXBuildFile; fileRef = B47672CB7E25D6FDB4C504B8B2277A64 /* EXPMatchers+beTruthy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 86578341F02E4CADA661C2D3E6198029 /* OCMBlockArgCaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 913036F819F99CFF239DFA7ADB41285C /* OCMBlockArgCaller.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 872770A1A071CA70A9C1B3C2C44A3355 /* NSMethodSignature+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D95EF16C132615581DFE65FBEF10ED9 /* NSMethodSignature+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8C8C1B0D83FE6A4352F15154DB16372C /* EXPMatcherHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CD6CD302B8BBA3B33191378239A98F1 /* EXPMatcherHelpers.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8CE7EF38446C50EAEEDD5895710FF328 /* OCMArg.m in Sources */ = {isa = PBXBuildFile; fileRef = D710DC8C2F5BC3993C98B50548C61AB9 /* OCMArg.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8E65FA35DBE8FC5DD791D1772637CC52 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43D0C843C76C84AA3308E4554D59848C /* QuartzCore.framework */; }; - 90481222B0ADC2AD289D875EDE606ABF /* Specta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 423D7053E375161D862818F22F22574D /* Specta-dummy.m */; }; - 9501D11D86F452C48D5E33525B5C3C35 /* OCMFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = A1D0237374E6DA2B12E5AA4BFF284128 /* OCMFunctions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 96EA932B3F397059018EC0F939A3D609 /* Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A68885A9A38FC6A21A871963707DDAB /* Specta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 970175646E29A9615D4C37AFF998A4A2 /* Pods-SampleTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA61254FF9BEB4CB02694A515390302 /* Pods-SampleTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 97205ECF01FCEF6C26021D4A6C918B20 /* SPTCompiledExample.h in Headers */ = {isa = PBXBuildFile; fileRef = 18808647D8073435359B9C7D96AB1574 /* SPTCompiledExample.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 98563873177CC5FBDD3458CF844194C9 /* XCTest+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 44A3A688D53D598683B46E22CF3F87FC /* XCTest+Private.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 98AFA0B27D72E0CFF085DC034564E77B /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 38D55BF5B79C4ACFAC741FC2A1B3BEAC /* XCTest.framework */; }; - 992CDD8DAB72763DE0672F8B9E6409F0 /* SPTExample.m in Sources */ = {isa = PBXBuildFile; fileRef = B73C8480BC8A08402683B70F7367DA4D /* SPTExample.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9935F1F8BE953282BECFCCC819F0EDE0 /* SpectaDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = C556F1D206349FDFBF8471D1A86E633F /* SpectaDSL.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 99DE2E96B25CA6AAD7F0695223E0B7CE /* SPTSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = BCDB21BD5EFEB64BC172CC95D8FB0174 /* SPTSpec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9B2E761A064459F77EA9870BEF03ACC3 /* EXPMatchers+postNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = B400EE2BF4412178E23080CD23782112 /* EXPMatchers+postNotification.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9FB2E35B78D41B9E2B391F4253A77ABA /* OCMConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = FC18F544DB555CBD8E0024FBD55E042E /* OCMConstraint.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A072699986ACB6D9FD21198CB2AFB7F8 /* Expecta+Snapshots-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DA65D24A1CDDB168F46D3F24674B17E /* Expecta+Snapshots-dummy.m */; }; - A1F6B0C0F210F55C9E2BEFF28372BBAA /* EXPMatchers+conformTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 638E302DF599EE250812F664071888D5 /* EXPMatchers+conformTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A4393F79E3D5628C07E1D9D6F87749F0 /* OCMStubRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A0A1615799FEAA5D5CC7F095273BF4B /* OCMStubRecorder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A49832C29637716A807180254EE009F7 /* OCMNotificationPoster.h in Headers */ = {isa = PBXBuildFile; fileRef = 48151C55FD0D9356C9B8C135C7F31F6D /* OCMNotificationPoster.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A6B7C730B8F621AF9EA9ED8F280C00D0 /* OCMArgAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B0445B145F90828A4FBB9AE0DB3F7AC /* OCMArgAction.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A72400D26D3BE977E6A45C264AAE9740 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CF084266D04F9AD0F1FFD71C6AFC3FF /* Foundation.framework */; }; - A8C187181C77CEABC83CD9CCFB387089 /* OCClassMockObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 18573E9AF15D8F91833417BF13D35C77 /* OCClassMockObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A99BE4C31F44A5DC1A929F4FBEBCFB6A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 38D55BF5B79C4ACFAC741FC2A1B3BEAC /* XCTest.framework */; }; - A9BE7728FE3885251E9CC0D0A8A9C779 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 5163A3988FB5D9C0AC9E5788EF6B002D /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AAAC712F6198BB176F2C3AC396C7AB76 /* NSInvocation+OCMAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 116E6A324B470B542CC6BB53A711B1E0 /* NSInvocation+OCMAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ADB9B72E9E91E3BB2F8198D39D3EE54C /* EXPMatchers+postNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 62927A8B75C4F2FC9DB28F4A393D2BA6 /* EXPMatchers+postNotification.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - ADD2FBEA7C59439D47E6C520109BE1C1 /* OCMPassByRefSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 48B30EDED84DA9F1C8ABCD8AEFF78B25 /* OCMPassByRefSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AF1F46668D4591602887998C6E9C10AD /* EXPMatchers+beCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 775BA4463C9CCE30F4635C258E088A69 /* EXPMatchers+beCloseTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AFFC8900E52BBEC72059334132F3A8F3 /* ExpectaSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = E9636DCDF5F01650043DFC540145035B /* ExpectaSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B0CE1166586A35238256CDF1A4C588EA /* OCMRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DEC697551B8EE9637D24C199A3AB176 /* OCMRecorder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B19F2E828B200E5A345C39BC1668EFB6 /* SpectaDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = B6933057212CBB8F353181F6365A19F2 /* SpectaDSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B1BB31E7275416BF7AA0D9FF598D7FF3 /* OCMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 354F494E01109CF93015E03A097B5D0A /* OCMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B25D9AA674596B773907A81AFA9AC02D /* EXPMatchers+contain.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B374EB9D2E6B03CAD2934E7FE0D0910 /* EXPMatchers+contain.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B27CE11447EBB1809C9B5F635E24F58A /* EXPMatchers+FBSnapshotTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E91559AC361CB08BB2A1D57A9003DB0 /* EXPMatchers+FBSnapshotTest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B620FD66CB603F2E43AA4BB55D6D4855 /* OCMExceptionReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 987F89724AF96F767984B5F4E4A3D415 /* OCMExceptionReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BA535EB366825E4D0E891CF1FAEA2841 /* UIApplication+StrictKeyWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = DB393CC119F9CBA401D5669BA712B174 /* UIApplication+StrictKeyWindow.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BAE614C7EC20700B107B3DE1ED0160B5 /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = E9737334CE7094C8EE0FE77FF5E933FC /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; }; - BC38026A44E586468BDDCC2BEC9705DD /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = 51EBD7A0DA79F895BC1982D8BBD31A67 /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; }; - BDE8A6D8F789063AC8ED7406C5B4996F /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = CBFF3D70FE366189BAFDEBBF294DC942 /* FBSnapshotTestCase.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C0BE6FED5DFFF00760A090C73E4DB306 /* NSObject+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 454E86707119E9FD50A2DAD60B6FCDCC /* NSObject+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C0F69C93D9F63907FCB1A4C03D372E23 /* SPTExample.h in Headers */ = {isa = PBXBuildFile; fileRef = D031D8D8B39E1644A12857D43B31FB1E /* SPTExample.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C199190EA02F05FC8ED7D270CA5316CF /* EXPUnsupportedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 934067FACC3AED329770FF1DA8F3B435 /* EXPUnsupportedObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C1C59177C9631753DCCB9F4EAC705748 /* SPTGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AFF1335D230543DEB4126243A95F0AA /* SPTGlobalBeforeAfterEach.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C1C8A63E7E7EB567FA386301957078C0 /* SPTExampleGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CF9B0E1E7FFCCC00302D2A0C4380C581 /* SPTExampleGroup.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C217ABA97E49193B686C1591675399D3 /* EXPMatchers+match.m in Sources */ = {isa = PBXBuildFile; fileRef = C8F8203FD8D915AF976E12615AFFF93F /* EXPMatchers+match.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C32723DFA07604BBE370E4B1928A325C /* EXPMatchers+beInTheRangeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 6728FE7D8C7EDDCA0B598FB5BF505FF5 /* EXPMatchers+beInTheRangeOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C4343DC2C4C12C9B2F45CA25D68E6290 /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = 295366496B893D6D7823919B09E1C01A /* FBSnapshotTestController.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C90CFDA80F20BF912D2C7923E6994976 /* OCMArgAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B2CD1974CA01D47D4CEA06807D4A220 /* OCMArgAction.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C9CC5E647084400EDFCCA53321A61C2B /* EXPMatchers+beSubclassOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B08A3BBA4BE0A1EDCE01E656FA9F2E6 /* EXPMatchers+beSubclassOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CC50F048E831C597F0552E02195111F8 /* OCMVerifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 8962F10206F33D69317B1A3ACF39EA1D /* OCMVerifier.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CEE2F4CBFADE792984FC4893B0B1616B /* OCMRealObjectForwarder.m in Sources */ = {isa = PBXBuildFile; fileRef = 539E33C928D541B4BB2C01CBF6793B62 /* OCMRealObjectForwarder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D1ADDF99E4F3D96C3B03A6C7D93B2E2D /* OCMBoxedReturnValueProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D4B9FEC75BB47E7C492B653BDD1D91 /* OCMBoxedReturnValueProvider.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D2712B685114DCB3CFADD71414758F36 /* EXPMatchers+beGreaterThan.m in Sources */ = {isa = PBXBuildFile; fileRef = 0ED191ACC1F31FA01A03BAC903635CDE /* EXPMatchers+beGreaterThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D3A97742CACAE0C69D639B471125E6E6 /* SPTCallSite.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E59C9EB386D7D362083B9185B51A42C /* SPTCallSite.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D453F1C826BA7CBDDF1DB3D64053CF25 /* OCMInvocationExpectation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C32D98D4589AC460E8512AFDDDFAA24 /* OCMInvocationExpectation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D7D6963C385FFEB1612CEFD6DB18F907 /* OCMFunctionsPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = D1FAC762ADF363DF41ED46F54B2D17A4 /* OCMFunctionsPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D872901ADBD8C446DEF6553A2D06C600 /* EXPFloatTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 06EEFF521A1F79DB5C65F7BE42FFF5B3 /* EXPFloatTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DBEE68AE9B20851B58D076B6C6D60C3E /* OCProtocolMockObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 6106E431299EDA4B2E228611D0EE8C58 /* OCProtocolMockObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DCB1C45701AEA36A28DD4C2B36702D69 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CF084266D04F9AD0F1FFD71C6AFC3FF /* Foundation.framework */; }; - DEF2687019D8CF7B8A460439DEDF0B54 /* OCMBoxedReturnValueProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = AEA8A5BFFE0C499F117FA4DA971D8532 /* OCMBoxedReturnValueProvider.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DFFA2CE14088C21D18583A0FFABA0005 /* EXPDoubleTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 121FFDDC49F6D11933CF2368B8A0E5AE /* EXPDoubleTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E0AAF49134A0505DF00E20E7B62087E1 /* EXPMatchers+beIdenticalTo.h in Headers */ = {isa = PBXBuildFile; fileRef = AC7188407178C9F2CB628EBD2463857D /* EXPMatchers+beIdenticalTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E1EC4532663CA75DE5BD00CB0A56814D /* Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C2558C8DE23D1A162CF7C5F9BB3BE73 /* Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E2EC03F8A7E04450C40CA6E47EFE1B7B /* OCMBlockArgCaller.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FCB2E0DD0D4CFABA2395D760AD254B2 /* OCMBlockArgCaller.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E51968F20A3D3AF32B18C65EB1EF8289 /* OCObserverMockObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB1E5680BE30B0137A1142706684079 /* OCObserverMockObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E735386085CE344F6A01178CF4763852 /* EXPMatchers+beNil.h in Headers */ = {isa = PBXBuildFile; fileRef = 972C3A2FAF33ED9A263E7C61D8499C62 /* EXPMatchers+beNil.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E7EFBC887102F68FC5166AF8B94D632E /* EXPMatchers+raise.m in Sources */ = {isa = PBXBuildFile; fileRef = F74D3FE171F4E4F8C3CDE44C8CB47D01 /* EXPMatchers+raise.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E8B9FCEE55E73AAA42EF0C9329DC2B30 /* SpectaUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 71B2A08FCD54E8CBEA8E9FE31E92B2FF /* SpectaUtility.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E8F4A8B5684E887DC2A52226DA008F00 /* NSObject+OCMAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = ADFF687805302F1AE2C4A3D3637FBC34 /* NSObject+OCMAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E95E9B817C6D9D281C5145EC0409DF01 /* XCTestCase+Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = BA75F21BE5DE5527AFAEB45988D6A9B7 /* XCTestCase+Specta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EA501005DC0DF2F6DBC7B3EBB26A57EE /* OCMockObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E79C322D30E87A484054F24A6DC825F /* OCMockObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EA720C6A097240E4F30D79D675DC01EF /* OCMVerifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B940920B89485403A258460B9A4ADD4 /* OCMVerifier.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EAD00EBB13812289F4BD0C7A81815A27 /* EXPMatchers+beIdenticalTo.m in Sources */ = {isa = PBXBuildFile; fileRef = AC129C38E350320B40D8F18C5416A4F4 /* EXPMatchers+beIdenticalTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EFD7051B8786F9A3E49D2DF52E93C62E /* UIApplication+StrictKeyWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 02586BBC660CB0588EC0CE026D3B29BD /* UIApplication+StrictKeyWindow.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F00E79A27ED93E0F1D506ED0E9B8DA09 /* EXPMatchers+beTruthy.m in Sources */ = {isa = PBXBuildFile; fileRef = 11AF6F168BF58FC632AF914F113CE838 /* EXPMatchers+beTruthy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F0DDF02A078B917997FF025BB33BB842 /* EXPMatchers+conformTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 85CB696DD9F4B5DF5AF7A9D3CF89E006 /* EXPMatchers+conformTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F41209A94070904A00BDF24ACB6336B6 /* EXPMatchers+beFalsy.h in Headers */ = {isa = PBXBuildFile; fileRef = 33E8965A8AC30FF6A0328711EE5793BB /* EXPMatchers+beFalsy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F60C578F431596B8116E3F0DC6FCC0A3 /* OCMBlockCaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 24F359B6066137543922EE9B07EB9A9F /* OCMBlockCaller.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F75CB2A727F678C9A848A3A11EA7979B /* EXPMatchers+haveCountOf.h in Headers */ = {isa = PBXBuildFile; fileRef = DA24F738F973CCE9FE60D1664AA62145 /* EXPMatchers+haveCountOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F8EAA01F23F1C536A4A4EC10CABD8D6A /* OCMObserverRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 77C8FA4F404AAD247A509E102B2A4F2E /* OCMObserverRecorder.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FD1FD979FF45BE2A30A40482565EB768 /* OCMArg.h in Headers */ = {isa = PBXBuildFile; fileRef = AF58EDDF154DDCE94C9549AFD2250968 /* OCMArg.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FD2D4497BC41412128C2D87C1BDE7398 /* EXPMatchers+beginWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 858ABBD70E591327DEEF937FDDAFF656 /* EXPMatchers+beginWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FE8C86A364C0F3E43EA872DDB8D07AE9 /* OCMLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = FE5167F427152E3D6D04438E8B383164 /* OCMLocation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 1B5BFD6EC1068EBC586F5E566543AED5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0D888F29E05E498D0CD91A51D28599A5; - remoteInfo = Expecta; - }; - 34E49A0ADA942C07DBD6CB4F76B3FD54 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 00ADDBCA9E516B429C7877EB5AED2DCE; - remoteInfo = Specta; - }; - 3F0B626E146826146221C93DD18B6EF9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = E1E99BE24B4D5E362ECFB6580A5D5A8D; - remoteInfo = FBSnapshotTestCase; - }; - 40A565842AA2560107E565D01766F89D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0D888F29E05E498D0CD91A51D28599A5; - remoteInfo = Expecta; - }; - 845DA643BAC094D83AA08D33F1BFD783 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = E1E99BE24B4D5E362ECFB6580A5D5A8D; - remoteInfo = FBSnapshotTestCase; - }; - 89BF516BAE1C018E4CD565FA371F2474 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 00ADDBCA9E516B429C7877EB5AED2DCE; - remoteInfo = Specta; - }; - BDA4F82A860064774F6A59BC4EDE2F3C /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0C9D3C758CFA9888936DBEB0F9B3C74D; - remoteInfo = OCMock; - }; - D26AE1C94E8C0D0A50E68175D105B23E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = B5522B4C786061CA9DFC8A4198028552; - remoteInfo = "Expecta+Snapshots"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 01207E9464BF252DF57ADFF813C36884 /* UIImage+Snapshot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Snapshot.m"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.m"; sourceTree = ""; }; - 02586BBC660CB0588EC0CE026D3B29BD /* UIApplication+StrictKeyWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIApplication+StrictKeyWindow.m"; path = "FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m"; sourceTree = ""; }; - 065012AD3BD8DA8B8173ECDEBCD54A5B /* ExpectaObject+FBSnapshotTest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ExpectaObject+FBSnapshotTest.h"; sourceTree = ""; }; - 0652C06542264D35EE65692082902C68 /* OCMStubRecorder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMStubRecorder.m; path = Source/OCMock/OCMStubRecorder.m; sourceTree = ""; }; - 06EEFF521A1F79DB5C65F7BE42FFF5B3 /* EXPFloatTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPFloatTuple.m; path = Expecta/EXPFloatTuple.m; sourceTree = ""; }; - 07F04AC3D1BE31C11F947F7D1E3DE4B8 /* OCPartialMockObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCPartialMockObject.m; path = Source/OCMock/OCPartialMockObject.m; sourceTree = ""; }; - 08912DEB417A23F7312671607BC3DB78 /* OCClassMockObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCClassMockObject.m; path = Source/OCMock/OCClassMockObject.m; sourceTree = ""; }; - 0B0445B145F90828A4FBB9AE0DB3F7AC /* OCMArgAction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMArgAction.h; path = Source/OCMock/OCMArgAction.h; sourceTree = ""; }; - 0BC77F99BC937C91437DCA57DFD34AE8 /* EXPMatchers+beLessThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThan.h"; path = "Expecta/Matchers/EXPMatchers+beLessThan.h"; sourceTree = ""; }; - 0C32D98D4589AC460E8512AFDDDFAA24 /* OCMInvocationExpectation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMInvocationExpectation.m; path = Source/OCMock/OCMInvocationExpectation.m; sourceTree = ""; }; - 0E40DE5C93DEB2D4C46C6718B7BDCB35 /* Pods-SampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SampleTests.debug.xcconfig"; sourceTree = ""; }; - 0ED191ACC1F31FA01A03BAC903635CDE /* EXPMatchers+beGreaterThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThan.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.m"; sourceTree = ""; }; - 0F82C4E04305E66343A90C4525AFD18C /* Specta.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Specta.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 116E6A324B470B542CC6BB53A711B1E0 /* NSInvocation+OCMAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSInvocation+OCMAdditions.h"; path = "Source/OCMock/NSInvocation+OCMAdditions.h"; sourceTree = ""; }; - 11AF6F168BF58FC632AF914F113CE838 /* EXPMatchers+beTruthy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beTruthy.m"; path = "Expecta/Matchers/EXPMatchers+beTruthy.m"; sourceTree = ""; }; - 12176C69F68A5ABF1B10383270817903 /* OCMLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMLocation.h; path = Source/OCMock/OCMLocation.h; sourceTree = ""; }; - 121FFDDC49F6D11933CF2368B8A0E5AE /* EXPDoubleTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPDoubleTuple.m; path = Expecta/EXPDoubleTuple.m; sourceTree = ""; }; - 1254FEF984EE71EDE667D881759ADBE0 /* NSValue+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+Expecta.h"; path = "Expecta/NSValue+Expecta.h"; sourceTree = ""; }; - 13D4F069586C731C6FC6D3D63F92BC79 /* ExpectaObject+FBSnapshotTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ExpectaObject+FBSnapshotTest.m"; sourceTree = ""; }; - 160A297977B4484AC3DB15164F010752 /* FBSnapshotTestCasePlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCasePlatform.m; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.m; sourceTree = ""; }; - 1758184A53CBB6E263F41E45CEDDD891 /* OCMInvocationStub.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMInvocationStub.h; path = Source/OCMock/OCMInvocationStub.h; sourceTree = ""; }; - 18026D6427CEEFE1AA8E02B4D266304D /* EXPDoubleTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDoubleTuple.h; path = Expecta/EXPDoubleTuple.h; sourceTree = ""; }; - 180E2BC1AF77946093026B76CF42CD9A /* OCMock.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = OCMock.xcconfig; sourceTree = ""; }; - 18573E9AF15D8F91833417BF13D35C77 /* OCClassMockObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCClassMockObject.h; path = Source/OCMock/OCClassMockObject.h; sourceTree = ""; }; - 18808647D8073435359B9C7D96AB1574 /* SPTCompiledExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCompiledExample.h; path = Specta/Specta/SPTCompiledExample.h; sourceTree = ""; }; - 18C5F702E459FF482F03E7153AD772EA /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 1A7D3400EB7A0DA716695A281C448E38 /* OCMPassByRefSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMPassByRefSetter.m; path = Source/OCMock/OCMPassByRefSetter.m; sourceTree = ""; }; - 1AE70DE4B63D9EABAA69F00DE40459BD /* EXPMatchers+beInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInstanceOf.h"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.h"; sourceTree = ""; }; - 1B1DC0A55A6C213531193FC597FBA191 /* EXPMatchers+beGreaterThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h"; sourceTree = ""; }; - 1B6B125661573038F4AF093161E7669A /* FBSnapshotTestCase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = FBSnapshotTestCase.modulemap; sourceTree = ""; }; - 1E59C9EB386D7D362083B9185B51A42C /* SPTCallSite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCallSite.h; path = Specta/Specta/SPTCallSite.h; sourceTree = ""; }; - 1FA46B4BDE48D618CFF49F07A52AABC7 /* EXPMatchers+haveCountOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+haveCountOf.m"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.m"; sourceTree = ""; }; - 1FD884DE1353D6C853DE920BEC09DBEB /* EXPMatchers+beSupersetOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSupersetOf.h"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.h"; sourceTree = ""; }; - 216689F85646D9EEB6A8D45B1146A47B /* Expecta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta-prefix.pch"; sourceTree = ""; }; - 2208CF946B84473A18395715B6BFCE91 /* EXPMatchers+beInTheRangeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInTheRangeOf.h"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.h"; sourceTree = ""; }; - 23EA43C9CE53FC40EF72BA4B64FBF113 /* OCMObserverRecorder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMObserverRecorder.h; path = Source/OCMock/OCMObserverRecorder.h; sourceTree = ""; }; - 2442AEEF1C6E5759D7D56DE480A2746B /* EXPMatchers+endWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+endWith.h"; path = "Expecta/Matchers/EXPMatchers+endWith.h"; sourceTree = ""; }; - 24782C2ED08C3CC53C238A390391C350 /* EXPUnsupportedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPUnsupportedObject.h; path = Expecta/EXPUnsupportedObject.h; sourceTree = ""; }; - 24F359B6066137543922EE9B07EB9A9F /* OCMBlockCaller.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMBlockCaller.m; path = Source/OCMock/OCMBlockCaller.m; sourceTree = ""; }; - 26789AFA5C4D1FAE22F3FF79681B27CA /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+OCMAdditions.h"; path = "Source/OCMock/NSNotificationCenter+OCMAdditions.h"; sourceTree = ""; }; - 267F520A63E18CC3531E078028D84F19 /* Pods-SampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SampleTests.release.xcconfig"; sourceTree = ""; }; - 2753CDC7298EC15166D8F99034A37918 /* OCPartialMockObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCPartialMockObject.h; path = Source/OCMock/OCPartialMockObject.h; sourceTree = ""; }; - 295366496B893D6D7823919B09E1C01A /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; }; - 2B2B8A8B538D59BBBF90BEAC3BDEF8CF /* OCMIndirectReturnValueProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMIndirectReturnValueProvider.m; path = Source/OCMock/OCMIndirectReturnValueProvider.m; sourceTree = ""; }; - 2B43A83CED2460F675AE668E834E811F /* OCMExpectationRecorder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMExpectationRecorder.m; path = Source/OCMock/OCMExpectationRecorder.m; sourceTree = ""; }; - 2B940920B89485403A258460B9A4ADD4 /* OCMVerifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMVerifier.h; path = Source/OCMock/OCMVerifier.h; sourceTree = ""; }; - 2BB254D4CEF8B4BF989AFA1D78FF3551 /* OCMBlockCaller.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMBlockCaller.h; path = Source/OCMock/OCMBlockCaller.h; sourceTree = ""; }; - 2BF0521E8146AC9D7A48CBACB34D02B0 /* Expecta+Snapshots-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta+Snapshots-umbrella.h"; sourceTree = ""; }; - 2C315D817758A918713F32743C54A588 /* OCMock.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = OCMock.modulemap; sourceTree = ""; }; - 2DA180D5CF82191A21DCD89E8F4C3D8F /* OCProtocolMockObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCProtocolMockObject.m; path = Source/OCMock/OCProtocolMockObject.m; sourceTree = ""; }; - 305957E1063076D6C49275CCDC4A1085 /* Specta.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Specta.modulemap; sourceTree = ""; }; - 312F7C8423EFDE5C6A34E050219093EA /* ExpectaSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaSupport.m; path = Expecta/ExpectaSupport.m; sourceTree = ""; }; - 320A87E589072084D6E57C5B5F29B8A2 /* EXPMatchers+FBSnapshotTest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "EXPMatchers+FBSnapshotTest.h"; sourceTree = ""; }; - 33E8965A8AC30FF6A0328711EE5793BB /* EXPMatchers+beFalsy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beFalsy.h"; path = "Expecta/Matchers/EXPMatchers+beFalsy.h"; sourceTree = ""; }; - 346306BA4B1171D278F72CE75B97863A /* EXPMatcherHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPMatcherHelpers.m; path = Expecta/Matchers/EXPMatcherHelpers.m; sourceTree = ""; }; - 354F494E01109CF93015E03A097B5D0A /* OCMockObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMockObject.m; path = Source/OCMock/OCMockObject.m; sourceTree = ""; }; - 35EE546AB0879268A01083CCA2A1A391 /* OCMock-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OCMock-prefix.pch"; sourceTree = ""; }; - 38D55BF5B79C4ACFAC741FC2A1B3BEAC /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 3A256CE8FE9EE7AB0C9CADFF2FEED1AD /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 3A8A6ED34645C892B78F28FB2ECDCF0A /* EXPMatchers+contain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+contain.h"; path = "Expecta/Matchers/EXPMatchers+contain.h"; sourceTree = ""; }; - 3B2CD1974CA01D47D4CEA06807D4A220 /* OCMArgAction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMArgAction.m; path = Source/OCMock/OCMArgAction.m; sourceTree = ""; }; - 3C69DF8F7AD5A0ABA3453069F77F5742 /* Specta.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Specta.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3D95EF16C132615581DFE65FBEF10ED9 /* NSMethodSignature+OCMAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMethodSignature+OCMAdditions.m"; path = "Source/OCMock/NSMethodSignature+OCMAdditions.m"; sourceTree = ""; }; - 3EC57A3AAF6B44C80248D3E0F85B91AC /* Expecta+Snapshots-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta+Snapshots-prefix.pch"; sourceTree = ""; }; - 4151423266B77FB050AFDA0C80DB6A6F /* FBSnapshotTestCase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-prefix.pch"; sourceTree = ""; }; - 423D7053E375161D862818F22F22574D /* Specta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Specta-dummy.m"; sourceTree = ""; }; - 43D0C843C76C84AA3308E4554D59848C /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; - 44A3A688D53D598683B46E22CF3F87FC /* XCTest+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTest+Private.h"; path = "Specta/Specta/XCTest+Private.h"; sourceTree = ""; }; - 44C79FA0EA1527EEE6AE0E4B666B116E /* OCMExceptionReturnValueProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMExceptionReturnValueProvider.h; path = Source/OCMock/OCMExceptionReturnValueProvider.h; sourceTree = ""; }; - 454E86707119E9FD50A2DAD60B6FCDCC /* NSObject+OCMAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+OCMAdditions.m"; path = "Source/OCMock/NSObject+OCMAdditions.m"; sourceTree = ""; }; - 48151C55FD0D9356C9B8C135C7F31F6D /* OCMNotificationPoster.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMNotificationPoster.h; path = Source/OCMock/OCMNotificationPoster.h; sourceTree = ""; }; - 48B30EDED84DA9F1C8ABCD8AEFF78B25 /* OCMPassByRefSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMPassByRefSetter.h; path = Source/OCMock/OCMPassByRefSetter.h; sourceTree = ""; }; - 4A68885A9A38FC6A21A871963707DDAB /* Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Specta.h; path = Specta/Specta/Specta.h; sourceTree = ""; }; - 4A71716528808CB70BE4C82229AF8D40 /* OCObserverMockObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCObserverMockObject.h; path = Source/OCMock/OCObserverMockObject.h; sourceTree = ""; }; - 4ACA2783BEB1635E3E9766A90C79C7CD /* EXPMatchers+beginWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beginWith.m"; path = "Expecta/Matchers/EXPMatchers+beginWith.m"; sourceTree = ""; }; - 4B4989001B4A32102DD76D4E78FFA7F2 /* UIImage+Diff.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Diff.m"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.m"; sourceTree = ""; }; - 4BC5AA2EC6A4876CF54D2337686CA94F /* Specta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Specta-prefix.pch"; sourceTree = ""; }; - 4C373CDE20272955F46BD945CE650B07 /* OCMRecorder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMRecorder.m; path = Source/OCMock/OCMRecorder.m; sourceTree = ""; }; - 4CD6CD302B8BBA3B33191378239A98F1 /* EXPMatcherHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcherHelpers.h; path = Expecta/Matchers/EXPMatcherHelpers.h; sourceTree = ""; }; - 4E91559AC361CB08BB2A1D57A9003DB0 /* EXPMatchers+FBSnapshotTest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "EXPMatchers+FBSnapshotTest.m"; sourceTree = ""; }; - 4EB1E5680BE30B0137A1142706684079 /* OCObserverMockObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCObserverMockObject.m; path = Source/OCMock/OCObserverMockObject.m; sourceTree = ""; }; - 4FAD8B4972365DD38C3D40CC03893D8D /* Pods-SampleTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-SampleTests.modulemap"; sourceTree = ""; }; - 5163A3988FB5D9C0AC9E5788EF6B002D /* FBSnapshotTestCasePlatform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCasePlatform.h; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.h; sourceTree = ""; }; - 51EBD7A0DA79F895BC1982D8BBD31A67 /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; }; - 5293D13E006F7339167141FC03C66954 /* EXPExpect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPExpect.h; path = Expecta/EXPExpect.h; sourceTree = ""; }; - 52EA69A57C8284BC9A23A67D9A956669 /* EXPMatchers+respondTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+respondTo.m"; path = "Expecta/Matchers/EXPMatchers+respondTo.m"; sourceTree = ""; }; - 539E33C928D541B4BB2C01CBF6793B62 /* OCMRealObjectForwarder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMRealObjectForwarder.m; path = Source/OCMock/OCMRealObjectForwarder.m; sourceTree = ""; }; - 553997707DDD51E66C4493783EEECD52 /* OCMReturnValueProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMReturnValueProvider.m; path = Source/OCMock/OCMReturnValueProvider.m; sourceTree = ""; }; - 5719B0B0ABD04B5F95ACC66E97D4FEFD /* OCMFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMFunctions.m; path = Source/OCMock/OCMFunctions.m; sourceTree = ""; }; - 576F6E93CB1DE7B1821A8F7B226E647A /* OCMExpectationRecorder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMExpectationRecorder.h; path = Source/OCMock/OCMExpectationRecorder.h; sourceTree = ""; }; - 57F17C018217067A4104F38296C4920E /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/FBSnapshotTestController.h; sourceTree = ""; }; - 5A8C3E2E1123D10DBCAD77579441DD80 /* Expecta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Expecta-dummy.m"; sourceTree = ""; }; - 5AFF1335D230543DEB4126243A95F0AA /* SPTGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTGlobalBeforeAfterEach.h; path = Specta/Specta/SPTGlobalBeforeAfterEach.h; sourceTree = ""; }; - 5DA65D24A1CDDB168F46D3F24674B17E /* Expecta+Snapshots-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Expecta+Snapshots-dummy.m"; sourceTree = ""; }; - 5DEC697551B8EE9637D24C199A3AB176 /* OCMRecorder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMRecorder.h; path = Source/OCMock/OCMRecorder.h; sourceTree = ""; }; - 5E76207DA2A944232E6B13ADC6EA4050 /* EXPMatchers+match.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+match.h"; path = "Expecta/Matchers/EXPMatchers+match.h"; sourceTree = ""; }; - 5F5A56BBB6837C83BF3635519E4992A7 /* FBSnapshotTestCase.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSnapshotTestCase.xcconfig; sourceTree = ""; }; - 6035659D269EFE49F1C3717D2EAD9C2C /* EXPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDefines.h; path = Expecta/EXPDefines.h; sourceTree = ""; }; - 6106E431299EDA4B2E228611D0EE8C58 /* OCProtocolMockObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCProtocolMockObject.h; path = Source/OCMock/OCProtocolMockObject.h; sourceTree = ""; }; - 62927A8B75C4F2FC9DB28F4A393D2BA6 /* EXPMatchers+postNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+postNotification.m"; path = "Expecta/Matchers/EXPMatchers+postNotification.m"; sourceTree = ""; }; - 638E302DF599EE250812F664071888D5 /* EXPMatchers+conformTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+conformTo.m"; path = "Expecta/Matchers/EXPMatchers+conformTo.m"; sourceTree = ""; }; - 63C14EB4DBF62FF662E407453C7E759B /* EXPMatchers+beLessThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m"; sourceTree = ""; }; - 64C551B101D59789628D0750E8AF8DE4 /* EXPMatchers+beSubclassOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSubclassOf.h"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.h"; sourceTree = ""; }; - 65C8B8374D486A390DE5DFF04F440B7F /* UIImage+Compare.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Compare.m"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.m"; sourceTree = ""; }; - 670BDCC5A7307E3BA3C9B54FF1002CD6 /* SPTCallSite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCallSite.m; path = Specta/Specta/SPTCallSite.m; sourceTree = ""; }; - 6728FE7D8C7EDDCA0B598FB5BF505FF5 /* EXPMatchers+beInTheRangeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInTheRangeOf.m"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.m"; sourceTree = ""; }; - 69A2B503E289D0B1296C95999CB81994 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 6ABF99789A6B462BEF6B569056A48ED9 /* SpectaTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaTypes.h; path = Specta/Specta/SpectaTypes.h; sourceTree = ""; }; - 6C2558C8DE23D1A162CF7C5F9BB3BE73 /* Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Expecta.h; path = Expecta/Expecta.h; sourceTree = ""; }; - 6CF084266D04F9AD0F1FFD71C6AFC3FF /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 6F42BA30865CABD6651BBB7CAB9D828B /* SPTTestSuite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTTestSuite.m; path = Specta/Specta/SPTTestSuite.m; sourceTree = ""; }; - 70853B2302EEE123D32394234CF73679 /* Expecta_Snapshots.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Expecta_Snapshots.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 71B2A08FCD54E8CBEA8E9FE31E92B2FF /* SpectaUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaUtility.m; path = Specta/Specta/SpectaUtility.m; sourceTree = ""; }; - 739597836396CF54973916FBF996C976 /* EXPMatchers+endWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+endWith.m"; path = "Expecta/Matchers/EXPMatchers+endWith.m"; sourceTree = ""; }; - 775BA4463C9CCE30F4635C258E088A69 /* EXPMatchers+beCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beCloseTo.h"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.h"; sourceTree = ""; }; - 77C8FA4F404AAD247A509E102B2A4F2E /* OCMObserverRecorder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMObserverRecorder.m; path = Source/OCMock/OCMObserverRecorder.m; sourceTree = ""; }; - 783675C01EF7353EF3504D6FC328D5C0 /* OCMInvocationMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMInvocationMatcher.h; path = Source/OCMock/OCMInvocationMatcher.h; sourceTree = ""; }; - 7A0A1615799FEAA5D5CC7F095273BF4B /* OCMStubRecorder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMStubRecorder.h; path = Source/OCMock/OCMStubRecorder.h; sourceTree = ""; }; - 7B08A3BBA4BE0A1EDCE01E656FA9F2E6 /* EXPMatchers+beSubclassOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSubclassOf.m"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.m"; sourceTree = ""; }; - 7BC07C478AF6B803DBE2F35CD6C3A6C9 /* Expecta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.xcconfig; sourceTree = ""; }; - 7D87EC71E1DE52E3131BE5D27163AF0E /* ExpectaObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaObject.h; path = Expecta/ExpectaObject.h; sourceTree = ""; }; - 7E79C322D30E87A484054F24A6DC825F /* OCMockObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMockObject.h; path = Source/OCMock/OCMockObject.h; sourceTree = ""; }; - 7FDEC1D8DD473FC0A972EF9F37E15D08 /* EXPMatchers+equal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+equal.m"; path = "Expecta/Matchers/EXPMatchers+equal.m"; sourceTree = ""; }; - 804ADFECB653FE12784EDA2F7EF68E2B /* OCMock-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OCMock-dummy.m"; sourceTree = ""; }; - 8161851CAF8B3F8E9E4D4E83A8315C20 /* OCMock.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = OCMock.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 81EB8C7E0D83E78B01F2EEEEA4B416AC /* Expecta-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta-umbrella.h"; sourceTree = ""; }; - 8367A0273D5BFB79C6899163C5334FF6 /* Expecta.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Expecta.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 83817E5A76A1A97CE899303514BC1B7E /* EXPMatchers+respondTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+respondTo.h"; path = "Expecta/Matchers/EXPMatchers+respondTo.h"; sourceTree = ""; }; - 83A3D2639E3DCCE5A443C54EDD36F620 /* EXPMatchers+beFalsy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beFalsy.m"; path = "Expecta/Matchers/EXPMatchers+beFalsy.m"; sourceTree = ""; }; - 84789DED610EFD1816F0B248C30F078A /* OCMRealObjectForwarder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMRealObjectForwarder.h; path = Source/OCMock/OCMRealObjectForwarder.h; sourceTree = ""; }; - 858ABBD70E591327DEEF937FDDAFF656 /* EXPMatchers+beginWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beginWith.h"; path = "Expecta/Matchers/EXPMatchers+beginWith.h"; sourceTree = ""; }; - 85CB696DD9F4B5DF5AF7A9D3CF89E006 /* EXPMatchers+conformTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+conformTo.h"; path = "Expecta/Matchers/EXPMatchers+conformTo.h"; sourceTree = ""; }; - 86AC61221D63A2C71C98C54DBDB1AD20 /* EXPMatchers+beKindOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beKindOf.h"; path = "Expecta/Matchers/EXPMatchers+beKindOf.h"; sourceTree = ""; }; - 87F23BC9B918339E19E64770281BDF06 /* EXPExpect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPExpect.m; path = Expecta/EXPExpect.m; sourceTree = ""; }; - 8962F10206F33D69317B1A3ACF39EA1D /* OCMVerifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMVerifier.m; path = Source/OCMock/OCMVerifier.m; sourceTree = ""; }; - 89A080E038194208331AB86572C238D6 /* EXPMatchers+beLessThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThan.m"; path = "Expecta/Matchers/EXPMatchers+beLessThan.m"; sourceTree = ""; }; - 8A60408F982956D1E0CBFDA5EF374502 /* EXPMatchers+beGreaterThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThan.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.h"; sourceTree = ""; }; - 8A6C066D6534AAC8AE98A891A44A0DEB /* SPTExcludeGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExcludeGlobalBeforeAfterEach.h; path = Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h; sourceTree = ""; }; - 8BA61254FF9BEB4CB02694A515390302 /* Pods-SampleTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SampleTests-umbrella.h"; sourceTree = ""; }; - 8DB296ECEBAF846288D3E1C76E73B815 /* OCMMacroState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMMacroState.m; path = Source/OCMock/OCMMacroState.m; sourceTree = ""; }; - 8F95E65006A4391A5A47908ABD8D3D7E /* Expecta.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Expecta.modulemap; sourceTree = ""; }; - 901D45469F153F28C7D5911937167318 /* OCMNotificationPoster.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMNotificationPoster.m; path = Source/OCMock/OCMNotificationPoster.m; sourceTree = ""; }; - 913036F819F99CFF239DFA7ADB41285C /* OCMBlockArgCaller.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMBlockArgCaller.m; path = Source/OCMock/OCMBlockArgCaller.m; sourceTree = ""; }; - 934067FACC3AED329770FF1DA8F3B435 /* EXPUnsupportedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPUnsupportedObject.m; path = Expecta/EXPUnsupportedObject.m; sourceTree = ""; }; - 972C3A2FAF33ED9A263E7C61D8499C62 /* EXPMatchers+beNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beNil.h"; path = "Expecta/Matchers/EXPMatchers+beNil.h"; sourceTree = ""; }; - 987F89724AF96F767984B5F4E4A3D415 /* OCMExceptionReturnValueProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMExceptionReturnValueProvider.m; path = Source/OCMock/OCMExceptionReturnValueProvider.m; sourceTree = ""; }; - 9B097D27B5AD98A52CC165EFAE43F2B5 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - 9B374EB9D2E6B03CAD2934E7FE0D0910 /* EXPMatchers+contain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+contain.m"; path = "Expecta/Matchers/EXPMatchers+contain.m"; sourceTree = ""; }; - 9CC402FA402F490DD6F12FE59228B1BD /* OCMConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMConstraint.h; path = Source/OCMock/OCMConstraint.h; sourceTree = ""; }; - 9D7AC31F5C92F712C1CB8D49E70AFF5B /* Pods_SampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9E6EF08617C34AB18552F62F973DD170 /* FBSnapshotTestCase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FBSnapshotTestCase-dummy.m"; sourceTree = ""; }; - 9EED45BBEC1498FBDC5610C650BD59E8 /* OCMInvocationMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMInvocationMatcher.m; path = Source/OCMock/OCMInvocationMatcher.m; sourceTree = ""; }; - 9FCB2E0DD0D4CFABA2395D760AD254B2 /* OCMBlockArgCaller.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMBlockArgCaller.h; path = Source/OCMock/OCMBlockArgCaller.h; sourceTree = ""; }; - A1D0237374E6DA2B12E5AA4BFF284128 /* OCMFunctions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMFunctions.h; path = Source/OCMock/OCMFunctions.h; sourceTree = ""; }; - A265441F8DC84F5D9ABC1CBD05EE9B29 /* EXPMatchers+equal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+equal.h"; path = "Expecta/Matchers/EXPMatchers+equal.h"; sourceTree = ""; }; - A2BC709AA0769241CD3CAB49993DDD66 /* EXPMatchers+beCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beCloseTo.m"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.m"; sourceTree = ""; }; - A74028BBEA5D167370B34CE686341FFE /* EXPMatchers+beInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInstanceOf.m"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.m"; sourceTree = ""; }; - A7914C95C78E50AEE78723BCDF96341A /* SPTSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSpec.m; path = Specta/Specta/SPTSpec.m; sourceTree = ""; }; - AA80F58A8DE070476BF21B72F0420D6F /* NSNotificationCenter+OCMAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+OCMAdditions.m"; path = "Source/OCMock/NSNotificationCenter+OCMAdditions.m"; sourceTree = ""; }; - AB021EC9C083DF9015E2EE88F7056215 /* EXPMatchers+raiseWithReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raiseWithReason.h"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.h"; sourceTree = ""; }; - AC129C38E350320B40D8F18C5416A4F4 /* EXPMatchers+beIdenticalTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beIdenticalTo.m"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.m"; sourceTree = ""; }; - AC7188407178C9F2CB628EBD2463857D /* EXPMatchers+beIdenticalTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beIdenticalTo.h"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.h"; sourceTree = ""; }; - AD06F937619DD2C67E54B75304243D2A /* SPTSharedExampleGroups.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSharedExampleGroups.h; path = Specta/Specta/SPTSharedExampleGroups.h; sourceTree = ""; }; - ADFF687805302F1AE2C4A3D3637FBC34 /* NSObject+OCMAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+OCMAdditions.h"; path = "Source/OCMock/NSObject+OCMAdditions.h"; sourceTree = ""; }; - AEA8A5BFFE0C499F117FA4DA971D8532 /* OCMBoxedReturnValueProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMBoxedReturnValueProvider.h; path = Source/OCMock/OCMBoxedReturnValueProvider.h; sourceTree = ""; }; - AF58EDDF154DDCE94C9549AFD2250968 /* OCMArg.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMArg.h; path = Source/OCMock/OCMArg.h; sourceTree = ""; }; - B0B86E6E8D2B9220059B823ABE2BBE13 /* EXPFloatTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPFloatTuple.h; path = Expecta/EXPFloatTuple.h; sourceTree = ""; }; - B0D4B9FEC75BB47E7C492B653BDD1D91 /* OCMBoxedReturnValueProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMBoxedReturnValueProvider.m; path = Source/OCMock/OCMBoxedReturnValueProvider.m; sourceTree = ""; }; - B2017A1E2D8F64C3D5CF53A2B92A6948 /* EXPBlockDefinedMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPBlockDefinedMatcher.h; path = Expecta/EXPBlockDefinedMatcher.h; sourceTree = ""; }; - B29B60E3368E4964B2FD74943937517A /* SPTExampleGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExampleGroup.h; path = Specta/Specta/SPTExampleGroup.h; sourceTree = ""; }; - B3117DBBC98D95C9BEDBD1D1D74F5468 /* EXPMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcher.h; path = Expecta/EXPMatcher.h; sourceTree = ""; }; - B400EE2BF4412178E23080CD23782112 /* EXPMatchers+postNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+postNotification.h"; path = "Expecta/Matchers/EXPMatchers+postNotification.h"; sourceTree = ""; }; - B47672CB7E25D6FDB4C504B8B2277A64 /* EXPMatchers+beTruthy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beTruthy.h"; path = "Expecta/Matchers/EXPMatchers+beTruthy.h"; sourceTree = ""; }; - B6933057212CBB8F353181F6365A19F2 /* SpectaDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaDSL.h; path = Specta/Specta/SpectaDSL.h; sourceTree = ""; }; - B73C8480BC8A08402683B70F7367DA4D /* SPTExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExample.m; path = Specta/Specta/SPTExample.m; sourceTree = ""; }; - BA1A454989C57E96887A0735C9234252 /* OCMock-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OCMock-umbrella.h"; sourceTree = ""; }; - BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - BA75F21BE5DE5527AFAEB45988D6A9B7 /* XCTestCase+Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestCase+Specta.h"; path = "Specta/Specta/XCTestCase+Specta.h"; sourceTree = ""; }; - BCDB21BD5EFEB64BC172CC95D8FB0174 /* SPTSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSpec.h; path = Specta/Specta/SPTSpec.h; sourceTree = ""; }; - BDD3F5DDAA93793CDE56B9BFEC0983BB /* Pods-SampleTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SampleTests-acknowledgements.markdown"; sourceTree = ""; }; - BDDF5C2EBC89139C18C707A6C426A66D /* OCMMacroState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMMacroState.h; path = Source/OCMock/OCMMacroState.h; sourceTree = ""; }; - BE166D333E7B68CED5AEEDCA31FD0DD6 /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FBSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BF77615CD909F370321FDC9B2DF1EF42 /* Specta-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Specta-umbrella.h"; sourceTree = ""; }; - C1D4D749D92E68460AE5D89396279453 /* Pods-SampleTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SampleTests-frameworks.sh"; sourceTree = ""; }; - C28F2045CE6785C0928D1C0BAA8F40A3 /* NSValue+OCMAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+OCMAdditions.h"; path = "Source/OCMock/NSValue+OCMAdditions.h"; sourceTree = ""; }; - C556F1D206349FDFBF8471D1A86E633F /* SpectaDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaDSL.m; path = Specta/Specta/SpectaDSL.m; sourceTree = ""; }; - C75686CCB2803C7002721213AAA73E09 /* FBSnapshotTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCase.h; path = FBSnapshotTestCase/FBSnapshotTestCase.h; sourceTree = ""; }; - C8F8203FD8D915AF976E12615AFFF93F /* EXPMatchers+match.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+match.m"; path = "Expecta/Matchers/EXPMatchers+match.m"; sourceTree = ""; }; - C916666F4970D467B4668A79A7D14FE3 /* SPTTestSuite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTTestSuite.h; path = Specta/Specta/SPTTestSuite.h; sourceTree = ""; }; - C93D23F4DB7569CC800036F3F8FAFE2E /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FBSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CBFF3D70FE366189BAFDEBBF294DC942 /* FBSnapshotTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCase.m; path = FBSnapshotTestCase/FBSnapshotTestCase.m; sourceTree = ""; }; - CF278C4327EDBE7500895E856542D318 /* NSObject+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+Expecta.h"; path = "Expecta/NSObject+Expecta.h"; sourceTree = ""; }; - CF9B0E1E7FFCCC00302D2A0C4380C581 /* SPTExampleGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExampleGroup.m; path = Specta/Specta/SPTExampleGroup.m; sourceTree = ""; }; - CFC21CE26A91EC9835774431E802F83F /* EXPMatchers+beNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beNil.m"; path = "Expecta/Matchers/EXPMatchers+beNil.m"; sourceTree = ""; }; - D031D8D8B39E1644A12857D43B31FB1E /* SPTExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExample.h; path = Specta/Specta/SPTExample.h; sourceTree = ""; }; - D1FAC762ADF363DF41ED46F54B2D17A4 /* OCMFunctionsPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMFunctionsPrivate.h; path = Source/OCMock/OCMFunctionsPrivate.h; sourceTree = ""; }; - D52DEFBCFA628A82BC7CDB5062FDC221 /* EXPMatchers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatchers.h; path = Expecta/Matchers/EXPMatchers.h; sourceTree = ""; }; - D57DB49A9651C135121B1CE1EE05F34D /* OCMReturnValueProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMReturnValueProvider.h; path = Source/OCMock/OCMReturnValueProvider.h; sourceTree = ""; }; - D710DC8C2F5BC3993C98B50548C61AB9 /* OCMArg.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMArg.m; path = Source/OCMock/OCMArg.m; sourceTree = ""; }; - D911519C14FD273EF6C44258A457A0A7 /* SpectaUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaUtility.h; path = Specta/Specta/SpectaUtility.h; sourceTree = ""; }; - D96ED1848DEDAAF32718B85D113448D1 /* EXPMatchers+beGreaterThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m"; sourceTree = ""; }; - DA24F738F973CCE9FE60D1664AA62145 /* EXPMatchers+haveCountOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+haveCountOf.h"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.h"; sourceTree = ""; }; - DB393CC119F9CBA401D5669BA712B174 /* UIApplication+StrictKeyWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+StrictKeyWindow.h"; path = "FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h"; sourceTree = ""; }; - DB657F9A1034DF2702C2EE83C6AF9E5B /* NSValue+OCMAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+OCMAdditions.m"; path = "Source/OCMock/NSValue+OCMAdditions.m"; sourceTree = ""; }; - DC8948F418328C6B211EA6F84BBB5FDD /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - DCDBD2416BDA81AE05FEE8C80FDAD9D0 /* Pods-SampleTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SampleTests-dummy.m"; sourceTree = ""; }; - DCEE64F2F4AE6BECDB997185001B7045 /* NSMethodSignature+OCMAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMethodSignature+OCMAdditions.h"; path = "Source/OCMock/NSMethodSignature+OCMAdditions.h"; sourceTree = ""; }; - DE9FAF28D06CE63AD7B5E8DAF4FC5512 /* EXPMatchers+beLessThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h"; sourceTree = ""; }; - DEEF236D8A040764A443E5DDAFBA2384 /* UIImage+Snapshot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Snapshot.h"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.h"; sourceTree = ""; }; - E05DAE3B05A6A083F7E2225143879EBF /* EXPMatchers+raise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raise.h"; path = "Expecta/Matchers/EXPMatchers+raise.h"; sourceTree = ""; }; - E0855474B49241EC129EBC84436B1047 /* ExpectaObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaObject.m; path = Expecta/ExpectaObject.m; sourceTree = ""; }; - E09C109C624CFC330B87F61C3A50295C /* EXPMatchers+raiseWithReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raiseWithReason.m"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.m"; sourceTree = ""; }; - E2A3140AA1CB5109D616CF586B1DEF4E /* Expecta+Snapshots.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Expecta+Snapshots.xcconfig"; sourceTree = ""; }; - E47922AA0F6D472C6BD29B15DF2DE148 /* Expecta.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Expecta.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E5030C2E9FB8074EAFE0FDAADC6124AA /* Expecta+Snapshots.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Expecta+Snapshots.modulemap"; sourceTree = ""; }; - E6C7FFBBCA5F9BDEB51994B16DCE0BE2 /* OCMInvocationExpectation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMInvocationExpectation.h; path = Source/OCMock/OCMInvocationExpectation.h; sourceTree = ""; }; - E7E177B36A131EE0D9A9CB466210A683 /* SPTCompiledExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCompiledExample.m; path = Specta/Specta/SPTCompiledExample.m; sourceTree = ""; }; - E9636DCDF5F01650043DFC540145035B /* ExpectaSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaSupport.h; path = Expecta/ExpectaSupport.h; sourceTree = ""; }; - E96FBDB8F43C5E2CCF0FFFAD93755D36 /* EXPMatchers+beKindOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beKindOf.m"; path = "Expecta/Matchers/EXPMatchers+beKindOf.m"; sourceTree = ""; }; - E9737334CE7094C8EE0FE77FF5E933FC /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; }; - EB33E82B0907B728181190F9888A139C /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - ECE0AB9A130C90C337381E6457129E0B /* EXPMatchers+beSupersetOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSupersetOf.m"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.m"; sourceTree = ""; }; - EE848A9A67CBB5C4B5AEBF450FD0D665 /* OCMock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMock.h; path = Source/OCMock/OCMock.h; sourceTree = ""; }; - EE975EBB5B1943480CA5CA0193F580FD /* Specta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Specta.xcconfig; sourceTree = ""; }; - EFC2E3057DD3C696FED18684AA06284B /* SPTSharedExampleGroups.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSharedExampleGroups.m; path = Specta/Specta/SPTSharedExampleGroups.m; sourceTree = ""; }; - F3FFDB2D14E99FA8E9D380C5308AD197 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F4A7B2391BB2A14818FF3C22D15CD892 /* Pods-SampleTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SampleTests-resources.sh"; sourceTree = ""; }; - F73CE0D91625EC1BF551759F27A877AA /* EXPBlockDefinedMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPBlockDefinedMatcher.m; path = Expecta/EXPBlockDefinedMatcher.m; sourceTree = ""; }; - F74D3FE171F4E4F8C3CDE44C8CB47D01 /* EXPMatchers+raise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raise.m"; path = "Expecta/Matchers/EXPMatchers+raise.m"; sourceTree = ""; }; - F7AE22C3ED4F758DEC6221E6AA07BCFD /* NSInvocation+OCMAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSInvocation+OCMAdditions.m"; path = "Source/OCMock/NSInvocation+OCMAdditions.m"; sourceTree = ""; }; - F96946A57D67F22520C1EC4EC0A72A09 /* OCMIndirectReturnValueProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = OCMIndirectReturnValueProvider.h; path = Source/OCMock/OCMIndirectReturnValueProvider.h; sourceTree = ""; }; - FA7DD410F195F07B601A0D883A11EBC3 /* FBSnapshotTestCase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-umbrella.h"; sourceTree = ""; }; - FC18F544DB555CBD8E0024FBD55E042E /* OCMConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMConstraint.m; path = Source/OCMock/OCMConstraint.m; sourceTree = ""; }; - FC29D2F218DDE04E685942E76CF1C8A0 /* XCTestCase+Specta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestCase+Specta.m"; path = "Specta/Specta/XCTestCase+Specta.m"; sourceTree = ""; }; - FE0EEF0DC9E439AD3B2415203D947088 /* OCMInvocationStub.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMInvocationStub.m; path = Source/OCMock/OCMInvocationStub.m; sourceTree = ""; }; - FE364A363D4F8BA1C31F2F3591CF3471 /* Pods-SampleTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SampleTests-acknowledgements.plist"; sourceTree = ""; }; - FE5167F427152E3D6D04438E8B383164 /* OCMLocation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = OCMLocation.m; path = Source/OCMock/OCMLocation.m; sourceTree = ""; }; - FF0614556C3D0394CDF8D0F820CEF43D /* NSValue+Expecta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Expecta.m"; path = "Expecta/NSValue+Expecta.m"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 0D37850BB4F967ACCDEBEC21D4D09AF9 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - DCB1C45701AEA36A28DD4C2B36702D69 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 499D1411C352205E3A38BE88B4E03A1A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 775F059D5771456DC08DC5544650290A /* Foundation.framework in Frameworks */, - 8E65FA35DBE8FC5DD791D1772637CC52 /* QuartzCore.framework in Frameworks */, - 18359C98147B5E9CBFDBB349F54C8BE2 /* UIKit.framework in Frameworks */, - A99BE4C31F44A5DC1A929F4FBEBCFB6A /* XCTest.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 506C9CBD87F3A281C9B08C88A4D60E96 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 85E4C4DC8D9C4B4D8651D9C059B4CDC1 /* Expecta.framework in Frameworks */, - 21B54CBFCD48E0B8E4B3EC34B00E6452 /* FBSnapshotTestCase.framework in Frameworks */, - 3856B94C2DDE0D2E4EE78B7E7B296C40 /* Foundation.framework in Frameworks */, - 8329271371047F27FD273F1F7AF61BD6 /* Specta.framework in Frameworks */, - 98AFA0B27D72E0CFF085DC034564E77B /* XCTest.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 638BBBFBA1C9B0941DD8A1738171F8B5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 5F6FC4706E7444375E677294DFEEB5C6 /* Foundation.framework in Frameworks */, - 610249954D9E36ED0639D3B5DB4157F3 /* XCTest.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E2AEAD73E1A3320AFE1A3D4679BDB94F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A72400D26D3BE977E6A45C264AAE9740 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E6B836B352B13C63D3C0FA0E500C98A4 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 160FDA46EE919AAF97E0E4EC04C9E232 /* Foundation.framework in Frameworks */, - 7A211860F672261C1522DCDF1FFC9ED0 /* XCTest.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0C42336D71B6D0C3AC629E3CB9487BD8 /* Support Files */ = { - isa = PBXGroup; - children = ( - 1B6B125661573038F4AF093161E7669A /* FBSnapshotTestCase.modulemap */, - 5F5A56BBB6837C83BF3635519E4992A7 /* FBSnapshotTestCase.xcconfig */, - 9E6EF08617C34AB18552F62F973DD170 /* FBSnapshotTestCase-dummy.m */, - 4151423266B77FB050AFDA0C80DB6A6F /* FBSnapshotTestCase-prefix.pch */, - FA7DD410F195F07B601A0D883A11EBC3 /* FBSnapshotTestCase-umbrella.h */, - 3A256CE8FE9EE7AB0C9CADFF2FEED1AD /* Info.plist */, - ); - name = "Support Files"; - path = "../Target Support Files/FBSnapshotTestCase"; - sourceTree = ""; - }; - 1341C83B5C16163059DC98B911CDA9EA /* Expecta+Snapshots */ = { - isa = PBXGroup; - children = ( - 065012AD3BD8DA8B8173ECDEBCD54A5B /* ExpectaObject+FBSnapshotTest.h */, - 13D4F069586C731C6FC6D3D63F92BC79 /* ExpectaObject+FBSnapshotTest.m */, - 320A87E589072084D6E57C5B5F29B8A2 /* EXPMatchers+FBSnapshotTest.h */, - 4E91559AC361CB08BB2A1D57A9003DB0 /* EXPMatchers+FBSnapshotTest.m */, - 33D9422EB232879CED78F251E5951B18 /* Support Files */, - ); - path = "Expecta+Snapshots"; - sourceTree = ""; - }; - 1922ED2492F2CD5F07BAE0E198724705 /* Frameworks */ = { - isa = PBXGroup; - children = ( - E47922AA0F6D472C6BD29B15DF2DE148 /* Expecta.framework */, - C93D23F4DB7569CC800036F3F8FAFE2E /* FBSnapshotTestCase.framework */, - 3C69DF8F7AD5A0ABA3453069F77F5742 /* Specta.framework */, - DF4440C853419508B2D17FB145A6B453 /* iOS */, - ); - name = Frameworks; - sourceTree = ""; - }; - 2B281A2FA37C5C7FF80C64B43156BF41 /* Specta */ = { - isa = PBXGroup; - children = ( - 4A68885A9A38FC6A21A871963707DDAB /* Specta.h */, - B6933057212CBB8F353181F6365A19F2 /* SpectaDSL.h */, - C556F1D206349FDFBF8471D1A86E633F /* SpectaDSL.m */, - 6ABF99789A6B462BEF6B569056A48ED9 /* SpectaTypes.h */, - D911519C14FD273EF6C44258A457A0A7 /* SpectaUtility.h */, - 71B2A08FCD54E8CBEA8E9FE31E92B2FF /* SpectaUtility.m */, - 1E59C9EB386D7D362083B9185B51A42C /* SPTCallSite.h */, - 670BDCC5A7307E3BA3C9B54FF1002CD6 /* SPTCallSite.m */, - 18808647D8073435359B9C7D96AB1574 /* SPTCompiledExample.h */, - E7E177B36A131EE0D9A9CB466210A683 /* SPTCompiledExample.m */, - D031D8D8B39E1644A12857D43B31FB1E /* SPTExample.h */, - B73C8480BC8A08402683B70F7367DA4D /* SPTExample.m */, - B29B60E3368E4964B2FD74943937517A /* SPTExampleGroup.h */, - CF9B0E1E7FFCCC00302D2A0C4380C581 /* SPTExampleGroup.m */, - 8A6C066D6534AAC8AE98A891A44A0DEB /* SPTExcludeGlobalBeforeAfterEach.h */, - 5AFF1335D230543DEB4126243A95F0AA /* SPTGlobalBeforeAfterEach.h */, - AD06F937619DD2C67E54B75304243D2A /* SPTSharedExampleGroups.h */, - EFC2E3057DD3C696FED18684AA06284B /* SPTSharedExampleGroups.m */, - BCDB21BD5EFEB64BC172CC95D8FB0174 /* SPTSpec.h */, - A7914C95C78E50AEE78723BCDF96341A /* SPTSpec.m */, - C916666F4970D467B4668A79A7D14FE3 /* SPTTestSuite.h */, - 6F42BA30865CABD6651BBB7CAB9D828B /* SPTTestSuite.m */, - 44A3A688D53D598683B46E22CF3F87FC /* XCTest+Private.h */, - BA75F21BE5DE5527AFAEB45988D6A9B7 /* XCTestCase+Specta.h */, - FC29D2F218DDE04E685942E76CF1C8A0 /* XCTestCase+Specta.m */, - AFE8B5DBE09362FC7A660E9B080EAE4C /* Support Files */, - ); - path = Specta; - sourceTree = ""; - }; - 2FEE35F006B449468CCF0D9B53592A5A /* Pods-SampleTests */ = { - isa = PBXGroup; - children = ( - DC8948F418328C6B211EA6F84BBB5FDD /* Info.plist */, - 4FAD8B4972365DD38C3D40CC03893D8D /* Pods-SampleTests.modulemap */, - BDD3F5DDAA93793CDE56B9BFEC0983BB /* Pods-SampleTests-acknowledgements.markdown */, - FE364A363D4F8BA1C31F2F3591CF3471 /* Pods-SampleTests-acknowledgements.plist */, - DCDBD2416BDA81AE05FEE8C80FDAD9D0 /* Pods-SampleTests-dummy.m */, - C1D4D749D92E68460AE5D89396279453 /* Pods-SampleTests-frameworks.sh */, - F4A7B2391BB2A14818FF3C22D15CD892 /* Pods-SampleTests-resources.sh */, - 8BA61254FF9BEB4CB02694A515390302 /* Pods-SampleTests-umbrella.h */, - 0E40DE5C93DEB2D4C46C6718B7BDCB35 /* Pods-SampleTests.debug.xcconfig */, - 267F520A63E18CC3531E078028D84F19 /* Pods-SampleTests.release.xcconfig */, - ); - name = "Pods-SampleTests"; - path = "Target Support Files/Pods-SampleTests"; - sourceTree = ""; - }; - 31EC7AF4ACAB6075BBD3832A8253BAB0 /* OCMock */ = { - isa = PBXGroup; - children = ( - 116E6A324B470B542CC6BB53A711B1E0 /* NSInvocation+OCMAdditions.h */, - F7AE22C3ED4F758DEC6221E6AA07BCFD /* NSInvocation+OCMAdditions.m */, - DCEE64F2F4AE6BECDB997185001B7045 /* NSMethodSignature+OCMAdditions.h */, - 3D95EF16C132615581DFE65FBEF10ED9 /* NSMethodSignature+OCMAdditions.m */, - 26789AFA5C4D1FAE22F3FF79681B27CA /* NSNotificationCenter+OCMAdditions.h */, - AA80F58A8DE070476BF21B72F0420D6F /* NSNotificationCenter+OCMAdditions.m */, - ADFF687805302F1AE2C4A3D3637FBC34 /* NSObject+OCMAdditions.h */, - 454E86707119E9FD50A2DAD60B6FCDCC /* NSObject+OCMAdditions.m */, - C28F2045CE6785C0928D1C0BAA8F40A3 /* NSValue+OCMAdditions.h */, - DB657F9A1034DF2702C2EE83C6AF9E5B /* NSValue+OCMAdditions.m */, - 18573E9AF15D8F91833417BF13D35C77 /* OCClassMockObject.h */, - 08912DEB417A23F7312671607BC3DB78 /* OCClassMockObject.m */, - AF58EDDF154DDCE94C9549AFD2250968 /* OCMArg.h */, - D710DC8C2F5BC3993C98B50548C61AB9 /* OCMArg.m */, - 0B0445B145F90828A4FBB9AE0DB3F7AC /* OCMArgAction.h */, - 3B2CD1974CA01D47D4CEA06807D4A220 /* OCMArgAction.m */, - 9FCB2E0DD0D4CFABA2395D760AD254B2 /* OCMBlockArgCaller.h */, - 913036F819F99CFF239DFA7ADB41285C /* OCMBlockArgCaller.m */, - 2BB254D4CEF8B4BF989AFA1D78FF3551 /* OCMBlockCaller.h */, - 24F359B6066137543922EE9B07EB9A9F /* OCMBlockCaller.m */, - AEA8A5BFFE0C499F117FA4DA971D8532 /* OCMBoxedReturnValueProvider.h */, - B0D4B9FEC75BB47E7C492B653BDD1D91 /* OCMBoxedReturnValueProvider.m */, - 9CC402FA402F490DD6F12FE59228B1BD /* OCMConstraint.h */, - FC18F544DB555CBD8E0024FBD55E042E /* OCMConstraint.m */, - 44C79FA0EA1527EEE6AE0E4B666B116E /* OCMExceptionReturnValueProvider.h */, - 987F89724AF96F767984B5F4E4A3D415 /* OCMExceptionReturnValueProvider.m */, - 576F6E93CB1DE7B1821A8F7B226E647A /* OCMExpectationRecorder.h */, - 2B43A83CED2460F675AE668E834E811F /* OCMExpectationRecorder.m */, - A1D0237374E6DA2B12E5AA4BFF284128 /* OCMFunctions.h */, - 5719B0B0ABD04B5F95ACC66E97D4FEFD /* OCMFunctions.m */, - D1FAC762ADF363DF41ED46F54B2D17A4 /* OCMFunctionsPrivate.h */, - F96946A57D67F22520C1EC4EC0A72A09 /* OCMIndirectReturnValueProvider.h */, - 2B2B8A8B538D59BBBF90BEAC3BDEF8CF /* OCMIndirectReturnValueProvider.m */, - E6C7FFBBCA5F9BDEB51994B16DCE0BE2 /* OCMInvocationExpectation.h */, - 0C32D98D4589AC460E8512AFDDDFAA24 /* OCMInvocationExpectation.m */, - 783675C01EF7353EF3504D6FC328D5C0 /* OCMInvocationMatcher.h */, - 9EED45BBEC1498FBDC5610C650BD59E8 /* OCMInvocationMatcher.m */, - 1758184A53CBB6E263F41E45CEDDD891 /* OCMInvocationStub.h */, - FE0EEF0DC9E439AD3B2415203D947088 /* OCMInvocationStub.m */, - 12176C69F68A5ABF1B10383270817903 /* OCMLocation.h */, - FE5167F427152E3D6D04438E8B383164 /* OCMLocation.m */, - BDDF5C2EBC89139C18C707A6C426A66D /* OCMMacroState.h */, - 8DB296ECEBAF846288D3E1C76E73B815 /* OCMMacroState.m */, - 48151C55FD0D9356C9B8C135C7F31F6D /* OCMNotificationPoster.h */, - 901D45469F153F28C7D5911937167318 /* OCMNotificationPoster.m */, - 23EA43C9CE53FC40EF72BA4B64FBF113 /* OCMObserverRecorder.h */, - 77C8FA4F404AAD247A509E102B2A4F2E /* OCMObserverRecorder.m */, - EE848A9A67CBB5C4B5AEBF450FD0D665 /* OCMock.h */, - 7E79C322D30E87A484054F24A6DC825F /* OCMockObject.h */, - 354F494E01109CF93015E03A097B5D0A /* OCMockObject.m */, - 48B30EDED84DA9F1C8ABCD8AEFF78B25 /* OCMPassByRefSetter.h */, - 1A7D3400EB7A0DA716695A281C448E38 /* OCMPassByRefSetter.m */, - 84789DED610EFD1816F0B248C30F078A /* OCMRealObjectForwarder.h */, - 539E33C928D541B4BB2C01CBF6793B62 /* OCMRealObjectForwarder.m */, - 5DEC697551B8EE9637D24C199A3AB176 /* OCMRecorder.h */, - 4C373CDE20272955F46BD945CE650B07 /* OCMRecorder.m */, - D57DB49A9651C135121B1CE1EE05F34D /* OCMReturnValueProvider.h */, - 553997707DDD51E66C4493783EEECD52 /* OCMReturnValueProvider.m */, - 7A0A1615799FEAA5D5CC7F095273BF4B /* OCMStubRecorder.h */, - 0652C06542264D35EE65692082902C68 /* OCMStubRecorder.m */, - 2B940920B89485403A258460B9A4ADD4 /* OCMVerifier.h */, - 8962F10206F33D69317B1A3ACF39EA1D /* OCMVerifier.m */, - 4A71716528808CB70BE4C82229AF8D40 /* OCObserverMockObject.h */, - 4EB1E5680BE30B0137A1142706684079 /* OCObserverMockObject.m */, - 2753CDC7298EC15166D8F99034A37918 /* OCPartialMockObject.h */, - 07F04AC3D1BE31C11F947F7D1E3DE4B8 /* OCPartialMockObject.m */, - 6106E431299EDA4B2E228611D0EE8C58 /* OCProtocolMockObject.h */, - 2DA180D5CF82191A21DCD89E8F4C3D8F /* OCProtocolMockObject.m */, - D2707D3C638B888C99C4CB60F6CB8B20 /* Support Files */, - ); - path = OCMock; - sourceTree = ""; - }; - 33D9422EB232879CED78F251E5951B18 /* Support Files */ = { - isa = PBXGroup; - children = ( - E5030C2E9FB8074EAFE0FDAADC6124AA /* Expecta+Snapshots.modulemap */, - E2A3140AA1CB5109D616CF586B1DEF4E /* Expecta+Snapshots.xcconfig */, - 5DA65D24A1CDDB168F46D3F24674B17E /* Expecta+Snapshots-dummy.m */, - 3EC57A3AAF6B44C80248D3E0F85B91AC /* Expecta+Snapshots-prefix.pch */, - 2BF0521E8146AC9D7A48CBACB34D02B0 /* Expecta+Snapshots-umbrella.h */, - 18C5F702E459FF482F03E7153AD772EA /* Info.plist */, - ); - name = "Support Files"; - path = "../Target Support Files/Expecta+Snapshots"; - sourceTree = ""; - }; - 641C5458CCEDC236AE5B963AF12A806B /* FBSnapshotTestCase */ = { - isa = PBXGroup; - children = ( - C13561F65432AD1404825B7CB1462708 /* Core */, - 0C42336D71B6D0C3AC629E3CB9487BD8 /* Support Files */, - ); - path = FBSnapshotTestCase; - sourceTree = ""; - }; - 6F0A24BFAE64708A2C7A69F63540F589 /* Expecta */ = { - isa = PBXGroup; - children = ( - B2017A1E2D8F64C3D5CF53A2B92A6948 /* EXPBlockDefinedMatcher.h */, - F73CE0D91625EC1BF551759F27A877AA /* EXPBlockDefinedMatcher.m */, - 6035659D269EFE49F1C3717D2EAD9C2C /* EXPDefines.h */, - 18026D6427CEEFE1AA8E02B4D266304D /* EXPDoubleTuple.h */, - 121FFDDC49F6D11933CF2368B8A0E5AE /* EXPDoubleTuple.m */, - 6C2558C8DE23D1A162CF7C5F9BB3BE73 /* Expecta.h */, - 7D87EC71E1DE52E3131BE5D27163AF0E /* ExpectaObject.h */, - E0855474B49241EC129EBC84436B1047 /* ExpectaObject.m */, - E9636DCDF5F01650043DFC540145035B /* ExpectaSupport.h */, - 312F7C8423EFDE5C6A34E050219093EA /* ExpectaSupport.m */, - 5293D13E006F7339167141FC03C66954 /* EXPExpect.h */, - 87F23BC9B918339E19E64770281BDF06 /* EXPExpect.m */, - B0B86E6E8D2B9220059B823ABE2BBE13 /* EXPFloatTuple.h */, - 06EEFF521A1F79DB5C65F7BE42FFF5B3 /* EXPFloatTuple.m */, - B3117DBBC98D95C9BEDBD1D1D74F5468 /* EXPMatcher.h */, - 4CD6CD302B8BBA3B33191378239A98F1 /* EXPMatcherHelpers.h */, - 346306BA4B1171D278F72CE75B97863A /* EXPMatcherHelpers.m */, - D52DEFBCFA628A82BC7CDB5062FDC221 /* EXPMatchers.h */, - 775BA4463C9CCE30F4635C258E088A69 /* EXPMatchers+beCloseTo.h */, - A2BC709AA0769241CD3CAB49993DDD66 /* EXPMatchers+beCloseTo.m */, - 33E8965A8AC30FF6A0328711EE5793BB /* EXPMatchers+beFalsy.h */, - 83A3D2639E3DCCE5A443C54EDD36F620 /* EXPMatchers+beFalsy.m */, - 858ABBD70E591327DEEF937FDDAFF656 /* EXPMatchers+beginWith.h */, - 4ACA2783BEB1635E3E9766A90C79C7CD /* EXPMatchers+beginWith.m */, - 8A60408F982956D1E0CBFDA5EF374502 /* EXPMatchers+beGreaterThan.h */, - 0ED191ACC1F31FA01A03BAC903635CDE /* EXPMatchers+beGreaterThan.m */, - 1B1DC0A55A6C213531193FC597FBA191 /* EXPMatchers+beGreaterThanOrEqualTo.h */, - D96ED1848DEDAAF32718B85D113448D1 /* EXPMatchers+beGreaterThanOrEqualTo.m */, - AC7188407178C9F2CB628EBD2463857D /* EXPMatchers+beIdenticalTo.h */, - AC129C38E350320B40D8F18C5416A4F4 /* EXPMatchers+beIdenticalTo.m */, - 1AE70DE4B63D9EABAA69F00DE40459BD /* EXPMatchers+beInstanceOf.h */, - A74028BBEA5D167370B34CE686341FFE /* EXPMatchers+beInstanceOf.m */, - 2208CF946B84473A18395715B6BFCE91 /* EXPMatchers+beInTheRangeOf.h */, - 6728FE7D8C7EDDCA0B598FB5BF505FF5 /* EXPMatchers+beInTheRangeOf.m */, - 86AC61221D63A2C71C98C54DBDB1AD20 /* EXPMatchers+beKindOf.h */, - E96FBDB8F43C5E2CCF0FFFAD93755D36 /* EXPMatchers+beKindOf.m */, - 0BC77F99BC937C91437DCA57DFD34AE8 /* EXPMatchers+beLessThan.h */, - 89A080E038194208331AB86572C238D6 /* EXPMatchers+beLessThan.m */, - DE9FAF28D06CE63AD7B5E8DAF4FC5512 /* EXPMatchers+beLessThanOrEqualTo.h */, - 63C14EB4DBF62FF662E407453C7E759B /* EXPMatchers+beLessThanOrEqualTo.m */, - 972C3A2FAF33ED9A263E7C61D8499C62 /* EXPMatchers+beNil.h */, - CFC21CE26A91EC9835774431E802F83F /* EXPMatchers+beNil.m */, - 64C551B101D59789628D0750E8AF8DE4 /* EXPMatchers+beSubclassOf.h */, - 7B08A3BBA4BE0A1EDCE01E656FA9F2E6 /* EXPMatchers+beSubclassOf.m */, - 1FD884DE1353D6C853DE920BEC09DBEB /* EXPMatchers+beSupersetOf.h */, - ECE0AB9A130C90C337381E6457129E0B /* EXPMatchers+beSupersetOf.m */, - B47672CB7E25D6FDB4C504B8B2277A64 /* EXPMatchers+beTruthy.h */, - 11AF6F168BF58FC632AF914F113CE838 /* EXPMatchers+beTruthy.m */, - 85CB696DD9F4B5DF5AF7A9D3CF89E006 /* EXPMatchers+conformTo.h */, - 638E302DF599EE250812F664071888D5 /* EXPMatchers+conformTo.m */, - 3A8A6ED34645C892B78F28FB2ECDCF0A /* EXPMatchers+contain.h */, - 9B374EB9D2E6B03CAD2934E7FE0D0910 /* EXPMatchers+contain.m */, - 2442AEEF1C6E5759D7D56DE480A2746B /* EXPMatchers+endWith.h */, - 739597836396CF54973916FBF996C976 /* EXPMatchers+endWith.m */, - A265441F8DC84F5D9ABC1CBD05EE9B29 /* EXPMatchers+equal.h */, - 7FDEC1D8DD473FC0A972EF9F37E15D08 /* EXPMatchers+equal.m */, - DA24F738F973CCE9FE60D1664AA62145 /* EXPMatchers+haveCountOf.h */, - 1FA46B4BDE48D618CFF49F07A52AABC7 /* EXPMatchers+haveCountOf.m */, - 5E76207DA2A944232E6B13ADC6EA4050 /* EXPMatchers+match.h */, - C8F8203FD8D915AF976E12615AFFF93F /* EXPMatchers+match.m */, - B400EE2BF4412178E23080CD23782112 /* EXPMatchers+postNotification.h */, - 62927A8B75C4F2FC9DB28F4A393D2BA6 /* EXPMatchers+postNotification.m */, - E05DAE3B05A6A083F7E2225143879EBF /* EXPMatchers+raise.h */, - F74D3FE171F4E4F8C3CDE44C8CB47D01 /* EXPMatchers+raise.m */, - AB021EC9C083DF9015E2EE88F7056215 /* EXPMatchers+raiseWithReason.h */, - E09C109C624CFC330B87F61C3A50295C /* EXPMatchers+raiseWithReason.m */, - 83817E5A76A1A97CE899303514BC1B7E /* EXPMatchers+respondTo.h */, - 52EA69A57C8284BC9A23A67D9A956669 /* EXPMatchers+respondTo.m */, - 24782C2ED08C3CC53C238A390391C350 /* EXPUnsupportedObject.h */, - 934067FACC3AED329770FF1DA8F3B435 /* EXPUnsupportedObject.m */, - CF278C4327EDBE7500895E856542D318 /* NSObject+Expecta.h */, - 1254FEF984EE71EDE667D881759ADBE0 /* NSValue+Expecta.h */, - FF0614556C3D0394CDF8D0F820CEF43D /* NSValue+Expecta.m */, - CB887014CAF5867AA0E8D16E0BB6A867 /* Support Files */, - ); - path = Expecta; - sourceTree = ""; - }; - 7DB346D0F39D3F0E887471402A8071AB = { - isa = PBXGroup; - children = ( - BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */, - 1922ED2492F2CD5F07BAE0E198724705 /* Frameworks */, - DDCAAEAF4B7D79E3BEE4799C2891E608 /* Pods */, - 8A27A237EF3EF52C572ED0A061F1FC20 /* Products */, - 9EA698FE7548B0343EC2CB21FF949D08 /* Targets Support Files */, - ); - sourceTree = ""; - }; - 8A27A237EF3EF52C572ED0A061F1FC20 /* Products */ = { - isa = PBXGroup; - children = ( - 8367A0273D5BFB79C6899163C5334FF6 /* Expecta.framework */, - 70853B2302EEE123D32394234CF73679 /* Expecta_Snapshots.framework */, - BE166D333E7B68CED5AEEDCA31FD0DD6 /* FBSnapshotTestCase.framework */, - 8161851CAF8B3F8E9E4D4E83A8315C20 /* OCMock.framework */, - 9D7AC31F5C92F712C1CB8D49E70AFF5B /* Pods_SampleTests.framework */, - 0F82C4E04305E66343A90C4525AFD18C /* Specta.framework */, - ); - name = Products; - sourceTree = ""; - }; - 9EA698FE7548B0343EC2CB21FF949D08 /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - 2FEE35F006B449468CCF0D9B53592A5A /* Pods-SampleTests */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; - AFE8B5DBE09362FC7A660E9B080EAE4C /* Support Files */ = { - isa = PBXGroup; - children = ( - 69A2B503E289D0B1296C95999CB81994 /* Info.plist */, - 305957E1063076D6C49275CCDC4A1085 /* Specta.modulemap */, - EE975EBB5B1943480CA5CA0193F580FD /* Specta.xcconfig */, - 423D7053E375161D862818F22F22574D /* Specta-dummy.m */, - 4BC5AA2EC6A4876CF54D2337686CA94F /* Specta-prefix.pch */, - BF77615CD909F370321FDC9B2DF1EF42 /* Specta-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/Specta"; - sourceTree = ""; - }; - C13561F65432AD1404825B7CB1462708 /* Core */ = { - isa = PBXGroup; - children = ( - C75686CCB2803C7002721213AAA73E09 /* FBSnapshotTestCase.h */, - CBFF3D70FE366189BAFDEBBF294DC942 /* FBSnapshotTestCase.m */, - 5163A3988FB5D9C0AC9E5788EF6B002D /* FBSnapshotTestCasePlatform.h */, - 160A297977B4484AC3DB15164F010752 /* FBSnapshotTestCasePlatform.m */, - 57F17C018217067A4104F38296C4920E /* FBSnapshotTestController.h */, - 295366496B893D6D7823919B09E1C01A /* FBSnapshotTestController.m */, - DB393CC119F9CBA401D5669BA712B174 /* UIApplication+StrictKeyWindow.h */, - 02586BBC660CB0588EC0CE026D3B29BD /* UIApplication+StrictKeyWindow.m */, - 51EBD7A0DA79F895BC1982D8BBD31A67 /* UIImage+Compare.h */, - 65C8B8374D486A390DE5DFF04F440B7F /* UIImage+Compare.m */, - E9737334CE7094C8EE0FE77FF5E933FC /* UIImage+Diff.h */, - 4B4989001B4A32102DD76D4E78FFA7F2 /* UIImage+Diff.m */, - DEEF236D8A040764A443E5DDAFBA2384 /* UIImage+Snapshot.h */, - 01207E9464BF252DF57ADFF813C36884 /* UIImage+Snapshot.m */, - ); - name = Core; - sourceTree = ""; - }; - CB887014CAF5867AA0E8D16E0BB6A867 /* Support Files */ = { - isa = PBXGroup; - children = ( - 8F95E65006A4391A5A47908ABD8D3D7E /* Expecta.modulemap */, - 7BC07C478AF6B803DBE2F35CD6C3A6C9 /* Expecta.xcconfig */, - 5A8C3E2E1123D10DBCAD77579441DD80 /* Expecta-dummy.m */, - 216689F85646D9EEB6A8D45B1146A47B /* Expecta-prefix.pch */, - 81EB8C7E0D83E78B01F2EEEEA4B416AC /* Expecta-umbrella.h */, - EB33E82B0907B728181190F9888A139C /* Info.plist */, - ); - name = "Support Files"; - path = "../Target Support Files/Expecta"; - sourceTree = ""; - }; - D2707D3C638B888C99C4CB60F6CB8B20 /* Support Files */ = { - isa = PBXGroup; - children = ( - F3FFDB2D14E99FA8E9D380C5308AD197 /* Info.plist */, - 2C315D817758A918713F32743C54A588 /* OCMock.modulemap */, - 180E2BC1AF77946093026B76CF42CD9A /* OCMock.xcconfig */, - 804ADFECB653FE12784EDA2F7EF68E2B /* OCMock-dummy.m */, - 35EE546AB0879268A01083CCA2A1A391 /* OCMock-prefix.pch */, - BA1A454989C57E96887A0735C9234252 /* OCMock-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/OCMock"; - sourceTree = ""; - }; - DDCAAEAF4B7D79E3BEE4799C2891E608 /* Pods */ = { - isa = PBXGroup; - children = ( - 6F0A24BFAE64708A2C7A69F63540F589 /* Expecta */, - 1341C83B5C16163059DC98B911CDA9EA /* Expecta+Snapshots */, - 641C5458CCEDC236AE5B963AF12A806B /* FBSnapshotTestCase */, - 31EC7AF4ACAB6075BBD3832A8253BAB0 /* OCMock */, - 2B281A2FA37C5C7FF80C64B43156BF41 /* Specta */, - ); - name = Pods; - sourceTree = ""; - }; - DF4440C853419508B2D17FB145A6B453 /* iOS */ = { - isa = PBXGroup; - children = ( - 6CF084266D04F9AD0F1FFD71C6AFC3FF /* Foundation.framework */, - 43D0C843C76C84AA3308E4554D59848C /* QuartzCore.framework */, - 9B097D27B5AD98A52CC165EFAE43F2B5 /* UIKit.framework */, - 38D55BF5B79C4ACFAC741FC2A1B3BEAC /* XCTest.framework */, - ); - name = iOS; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 005D82263C7AFBCB593EAB7F0F29C2CD /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 76D514410DDA00454990598F46BE8696 /* Expecta+Snapshots-umbrella.h in Headers */, - 6B8A84238CE703476738B5C6866A4DE6 /* ExpectaObject+FBSnapshotTest.h in Headers */, - 82E05444D6EE3E8133AB04B420729C1D /* EXPMatchers+FBSnapshotTest.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 28D4745C338647C5BA23A85D9CAD26C0 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 6885F05342E49CEA44778080981FA0D9 /* FBSnapshotTestCase-umbrella.h in Headers */, - 6C2B256D8B3B81B44410963DA29EA7D0 /* FBSnapshotTestCase.h in Headers */, - A9BE7728FE3885251E9CC0D0A8A9C779 /* FBSnapshotTestCasePlatform.h in Headers */, - 3049CE5D25E37F927285AA2094C081CF /* FBSnapshotTestController.h in Headers */, - BA535EB366825E4D0E891CF1FAEA2841 /* UIApplication+StrictKeyWindow.h in Headers */, - BC38026A44E586468BDDCC2BEC9705DD /* UIImage+Compare.h in Headers */, - BAE614C7EC20700B107B3DE1ED0160B5 /* UIImage+Diff.h in Headers */, - 49232DF4B87EB42059061B74B0337C1C /* UIImage+Snapshot.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 62FC5E3B413804768C4A5E2B6C4101C6 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 60537EE95D37BD4B83D06371EA26F26F /* Specta-umbrella.h in Headers */, - 96EA932B3F397059018EC0F939A3D609 /* Specta.h in Headers */, - B19F2E828B200E5A345C39BC1668EFB6 /* SpectaDSL.h in Headers */, - 27B97EDD517EE1DA44955F63ED7C182F /* SpectaTypes.h in Headers */, - 562957229D9AEAA9039CCCF00426D5AE /* SpectaUtility.h in Headers */, - D3A97742CACAE0C69D639B471125E6E6 /* SPTCallSite.h in Headers */, - 97205ECF01FCEF6C26021D4A6C918B20 /* SPTCompiledExample.h in Headers */, - C0F69C93D9F63907FCB1A4C03D372E23 /* SPTExample.h in Headers */, - 2E8E1DB775E98A71556D1D20FE5300F1 /* SPTExampleGroup.h in Headers */, - 022DD32C1475CD07C5D35FD04E7B4799 /* SPTExcludeGlobalBeforeAfterEach.h in Headers */, - C1C59177C9631753DCCB9F4EAC705748 /* SPTGlobalBeforeAfterEach.h in Headers */, - 1B668D9637D2CDD722343444E2B2A6F5 /* SPTSharedExampleGroups.h in Headers */, - 99DE2E96B25CA6AAD7F0695223E0B7CE /* SPTSpec.h in Headers */, - 385E0C8625F730CB397EBEEAF477AD4D /* SPTTestSuite.h in Headers */, - 98563873177CC5FBDD3458CF844194C9 /* XCTest+Private.h in Headers */, - E95E9B817C6D9D281C5145EC0409DF01 /* XCTestCase+Specta.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 73FF773DE9F8A9655C921C5CC24E1D65 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - AAAC712F6198BB176F2C3AC396C7AB76 /* NSInvocation+OCMAdditions.h in Headers */, - 5D7A5ED2A4EC0BE072A11A5DA7B878A5 /* NSMethodSignature+OCMAdditions.h in Headers */, - 75590CD1E4916B13C22A56FF92B5016F /* NSNotificationCenter+OCMAdditions.h in Headers */, - E8F4A8B5684E887DC2A52226DA008F00 /* NSObject+OCMAdditions.h in Headers */, - 5F95FFA001F7D021C9D3D0D1262F4BD2 /* NSValue+OCMAdditions.h in Headers */, - A8C187181C77CEABC83CD9CCFB387089 /* OCClassMockObject.h in Headers */, - FD1FD979FF45BE2A30A40482565EB768 /* OCMArg.h in Headers */, - A6B7C730B8F621AF9EA9ED8F280C00D0 /* OCMArgAction.h in Headers */, - E2EC03F8A7E04450C40CA6E47EFE1B7B /* OCMBlockArgCaller.h in Headers */, - 782A052F46927F486092F43622F6AB2D /* OCMBlockCaller.h in Headers */, - DEF2687019D8CF7B8A460439DEDF0B54 /* OCMBoxedReturnValueProvider.h in Headers */, - 828A6CE4F88922FCBAEFD1201C6DE519 /* OCMConstraint.h in Headers */, - 1C39AB1D67D218284DC3AE22E6401361 /* OCMExceptionReturnValueProvider.h in Headers */, - 686B378129E94577605E62FD1572EFD3 /* OCMExpectationRecorder.h in Headers */, - 9501D11D86F452C48D5E33525B5C3C35 /* OCMFunctions.h in Headers */, - D7D6963C385FFEB1612CEFD6DB18F907 /* OCMFunctionsPrivate.h in Headers */, - 48DDD9BE0005FDDF9C91EBE57B03D1D4 /* OCMIndirectReturnValueProvider.h in Headers */, - 2D125712F3D241F8D8C1A9B7EE0478C6 /* OCMInvocationExpectation.h in Headers */, - 797D76D6582EE431937A33BB1E662270 /* OCMInvocationMatcher.h in Headers */, - 12E68D9F5B6EC5840BD702652CE35197 /* OCMInvocationStub.h in Headers */, - 65BD2EAA1888CC88B8CA7E28B4F9EAEB /* OCMLocation.h in Headers */, - 76C11F59C3940979399B3AA9E547E845 /* OCMMacroState.h in Headers */, - A49832C29637716A807180254EE009F7 /* OCMNotificationPoster.h in Headers */, - 409435B4AEA9DC5CD528509299026001 /* OCMObserverRecorder.h in Headers */, - 7D7BE573A26FE8D0A5CFA21637505AC1 /* OCMock-umbrella.h in Headers */, - 1F4D5DB6CB3F389BEB36A2835B94C6D5 /* OCMock.h in Headers */, - EA501005DC0DF2F6DBC7B3EBB26A57EE /* OCMockObject.h in Headers */, - ADD2FBEA7C59439D47E6C520109BE1C1 /* OCMPassByRefSetter.h in Headers */, - 69CB28B1446963CE44FD81251FC9B338 /* OCMRealObjectForwarder.h in Headers */, - B0CE1166586A35238256CDF1A4C588EA /* OCMRecorder.h in Headers */, - 4E91FC9241DAF2AFAC03983082025C10 /* OCMReturnValueProvider.h in Headers */, - A4393F79E3D5628C07E1D9D6F87749F0 /* OCMStubRecorder.h in Headers */, - EA720C6A097240E4F30D79D675DC01EF /* OCMVerifier.h in Headers */, - 49DB462C455568591A759157D2850B86 /* OCObserverMockObject.h in Headers */, - 2ADADEC378A839F5AE006E3523EC265F /* OCPartialMockObject.h in Headers */, - DBEE68AE9B20851B58D076B6C6D60C3E /* OCProtocolMockObject.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 966427BD32145AD621F074D1691342B8 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 3B5B7495707BF7133B9FB3F834045611 /* EXPBlockDefinedMatcher.h in Headers */, - 5EA7043FE10E75D02F3C3052AF8B8318 /* EXPDefines.h in Headers */, - 2F427490ACABC4408D57CC0592276678 /* EXPDoubleTuple.h in Headers */, - 837B593D7C1D01B4EA400247309D6AB0 /* Expecta-umbrella.h in Headers */, - E1EC4532663CA75DE5BD00CB0A56814D /* Expecta.h in Headers */, - 2E14619153A453BB8DF389FB6EA147BE /* ExpectaObject.h in Headers */, - AFFC8900E52BBEC72059334132F3A8F3 /* ExpectaSupport.h in Headers */, - 67459AD239EF669A365519E06B45DCFE /* EXPExpect.h in Headers */, - 6E1D978790705E137FDE439AA68DD3AA /* EXPFloatTuple.h in Headers */, - 65BC31095CCDFC80CBF6BBA843751F23 /* EXPMatcher.h in Headers */, - 8C8C1B0D83FE6A4352F15154DB16372C /* EXPMatcherHelpers.h in Headers */, - AF1F46668D4591602887998C6E9C10AD /* EXPMatchers+beCloseTo.h in Headers */, - F41209A94070904A00BDF24ACB6336B6 /* EXPMatchers+beFalsy.h in Headers */, - FD2D4497BC41412128C2D87C1BDE7398 /* EXPMatchers+beginWith.h in Headers */, - 6EFC63A5CED45BB39FC79D87F2C47D6B /* EXPMatchers+beGreaterThan.h in Headers */, - 372F7A9CCE59CE86316CF436F832A3FC /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */, - E0AAF49134A0505DF00E20E7B62087E1 /* EXPMatchers+beIdenticalTo.h in Headers */, - 34B6E9A30603BEBBD87BA535B7D384CA /* EXPMatchers+beInstanceOf.h in Headers */, - 131532787AD40BE1F35DF288D2E6FFD7 /* EXPMatchers+beInTheRangeOf.h in Headers */, - 79558B1F97ABE4AB8942DC18BEBD4B82 /* EXPMatchers+beKindOf.h in Headers */, - 0D16B556212D317A0D4FEB71E102E207 /* EXPMatchers+beLessThan.h in Headers */, - 37A2D0F8493469EF2495FC689440F079 /* EXPMatchers+beLessThanOrEqualTo.h in Headers */, - E735386085CE344F6A01178CF4763852 /* EXPMatchers+beNil.h in Headers */, - 397B320B7C59C168CC5B62E18ED8DEA0 /* EXPMatchers+beSubclassOf.h in Headers */, - 76CCABE79C04444450153424D7CE1DC1 /* EXPMatchers+beSupersetOf.h in Headers */, - 85EB2F216487CB2E8F3FCCFBC4D69912 /* EXPMatchers+beTruthy.h in Headers */, - F0DDF02A078B917997FF025BB33BB842 /* EXPMatchers+conformTo.h in Headers */, - 3C2700C7DAA15C6AF84A595865C42F4D /* EXPMatchers+contain.h in Headers */, - 1A1AB2EC52323C5EA28DAA99F1E1A90D /* EXPMatchers+endWith.h in Headers */, - 0F94F5B0ABB3252B9275B7C129EC7A26 /* EXPMatchers+equal.h in Headers */, - F75CB2A727F678C9A848A3A11EA7979B /* EXPMatchers+haveCountOf.h in Headers */, - 2916A0606136A9DC67F2463AB230868B /* EXPMatchers+match.h in Headers */, - 9B2E761A064459F77EA9870BEF03ACC3 /* EXPMatchers+postNotification.h in Headers */, - 46137F5CC368BF38BAF0D0AF81DD8FFE /* EXPMatchers+raise.h in Headers */, - 11C1AEB289C1EB80089349B71F09D04B /* EXPMatchers+raiseWithReason.h in Headers */, - 260BC7EED9289AF321A6F791964CE472 /* EXPMatchers+respondTo.h in Headers */, - 85E31076D5530AEEB45ACF16B2B8A983 /* EXPMatchers.h in Headers */, - 51DDDB0FB4899757CF6A826B531B940D /* EXPUnsupportedObject.h in Headers */, - 7B223B4E6EF14BA12DA113F7EE10B96C /* NSObject+Expecta.h in Headers */, - 471FD4F68E27AB26FA2AEBB8B245CEE4 /* NSValue+Expecta.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BFE3137D8718D37CFADA3D5A02916F20 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 970175646E29A9615D4C37AFF998A4A2 /* Pods-SampleTests-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 00ADDBCA9E516B429C7877EB5AED2DCE /* Specta */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8520FEA8817EC3DACE10B27EEE37AEB0 /* Build configuration list for PBXNativeTarget "Specta" */; - buildPhases = ( - AF35E2DCD9F4CC862DF5AE025BB7F041 /* Sources */, - 638BBBFBA1C9B0941DD8A1738171F8B5 /* Frameworks */, - 62FC5E3B413804768C4A5E2B6C4101C6 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Specta; - productName = Specta; - productReference = 0F82C4E04305E66343A90C4525AFD18C /* Specta.framework */; - productType = "com.apple.product-type.framework"; - }; - 0C9D3C758CFA9888936DBEB0F9B3C74D /* OCMock */ = { - isa = PBXNativeTarget; - buildConfigurationList = 74A9F74278E1CDC3C61B386FC80DA38B /* Build configuration list for PBXNativeTarget "OCMock" */; - buildPhases = ( - ABF2778C64D22F5A51675036ECE221F3 /* Sources */, - E2AEAD73E1A3320AFE1A3D4679BDB94F /* Frameworks */, - 73FF773DE9F8A9655C921C5CC24E1D65 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = OCMock; - productName = OCMock; - productReference = 8161851CAF8B3F8E9E4D4E83A8315C20 /* OCMock.framework */; - productType = "com.apple.product-type.framework"; - }; - 0D888F29E05E498D0CD91A51D28599A5 /* Expecta */ = { - isa = PBXNativeTarget; - buildConfigurationList = DC61702A42844E4ED762A73E8893436B /* Build configuration list for PBXNativeTarget "Expecta" */; - buildPhases = ( - B239BD93C67DE976C7F3A1AD982A0A58 /* Sources */, - E6B836B352B13C63D3C0FA0E500C98A4 /* Frameworks */, - 966427BD32145AD621F074D1691342B8 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Expecta; - productName = Expecta; - productReference = 8367A0273D5BFB79C6899163C5334FF6 /* Expecta.framework */; - productType = "com.apple.product-type.framework"; - }; - 4A504356A61D529F78D53B6738DBA98C /* Pods-SampleTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = AEB7A7497CC604BD3AD2573204C8B0A5 /* Build configuration list for PBXNativeTarget "Pods-SampleTests" */; - buildPhases = ( - 77C170612450C5A0AF8C51F03FF9D7B2 /* Sources */, - 0D37850BB4F967ACCDEBEC21D4D09AF9 /* Frameworks */, - BFE3137D8718D37CFADA3D5A02916F20 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 3A7A14A30FEA72F49150FFA8BF73AC02 /* PBXTargetDependency */, - FEDE07A636DE7582B51393AE759DA910 /* PBXTargetDependency */, - 36A319D1A84CD9E917C3EBCC8E06BEA3 /* PBXTargetDependency */, - C432B5914AB9844FD4F659D7CBE83094 /* PBXTargetDependency */, - 51B3A3DA87697FD3347F5858E201980C /* PBXTargetDependency */, - ); - name = "Pods-SampleTests"; - productName = "Pods-SampleTests"; - productReference = 9D7AC31F5C92F712C1CB8D49E70AFF5B /* Pods_SampleTests.framework */; - productType = "com.apple.product-type.framework"; - }; - B5522B4C786061CA9DFC8A4198028552 /* Expecta+Snapshots */ = { - isa = PBXNativeTarget; - buildConfigurationList = 315651862B1A4D3486C4BEB578330525 /* Build configuration list for PBXNativeTarget "Expecta+Snapshots" */; - buildPhases = ( - BE2D2FC4E2E2086263862FB8F7DA51FB /* Sources */, - 506C9CBD87F3A281C9B08C88A4D60E96 /* Frameworks */, - 005D82263C7AFBCB593EAB7F0F29C2CD /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 3CE47127EC1729530DF6892DAC98E263 /* PBXTargetDependency */, - D6FC6CE27EE2216BF4704E0827DFBEBE /* PBXTargetDependency */, - 0B4B337A09E4D2CA2372028AF3A23F71 /* PBXTargetDependency */, - ); - name = "Expecta+Snapshots"; - productName = "Expecta+Snapshots"; - productReference = 70853B2302EEE123D32394234CF73679 /* Expecta_Snapshots.framework */; - productType = "com.apple.product-type.framework"; - }; - E1E99BE24B4D5E362ECFB6580A5D5A8D /* FBSnapshotTestCase */ = { - isa = PBXNativeTarget; - buildConfigurationList = 333D034462DA0EE6A13E42FBBB07F3AC /* Build configuration list for PBXNativeTarget "FBSnapshotTestCase" */; - buildPhases = ( - 30506B19C124C51E719EFD68C6C76875 /* Sources */, - 499D1411C352205E3A38BE88B4E03A1A /* Frameworks */, - 28D4745C338647C5BA23A85D9CAD26C0 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FBSnapshotTestCase; - productName = FBSnapshotTestCase; - productReference = BE166D333E7B68CED5AEEDCA31FD0DD6 /* FBSnapshotTestCase.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0700; - LastUpgradeCheck = 0700; - }; - buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = 8A27A237EF3EF52C572ED0A061F1FC20 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 0D888F29E05E498D0CD91A51D28599A5 /* Expecta */, - B5522B4C786061CA9DFC8A4198028552 /* Expecta+Snapshots */, - E1E99BE24B4D5E362ECFB6580A5D5A8D /* FBSnapshotTestCase */, - 0C9D3C758CFA9888936DBEB0F9B3C74D /* OCMock */, - 4A504356A61D529F78D53B6738DBA98C /* Pods-SampleTests */, - 00ADDBCA9E516B429C7877EB5AED2DCE /* Specta */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 30506B19C124C51E719EFD68C6C76875 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2899D75C4C56232A7367DAE26FB445CA /* FBSnapshotTestCase-dummy.m in Sources */, - BDE8A6D8F789063AC8ED7406C5B4996F /* FBSnapshotTestCase.m in Sources */, - 063FD641DAB4C94B2340FFABF6EA6991 /* FBSnapshotTestCasePlatform.m in Sources */, - C4343DC2C4C12C9B2F45CA25D68E6290 /* FBSnapshotTestController.m in Sources */, - EFD7051B8786F9A3E49D2DF52E93C62E /* UIApplication+StrictKeyWindow.m in Sources */, - 608C0FC9E9FE0A3F6CF799277F606BDB /* UIImage+Compare.m in Sources */, - 6F731C00101AEF70E9975383963A059D /* UIImage+Diff.m in Sources */, - 550E2E9521D94B380758D591A966D513 /* UIImage+Snapshot.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 77C170612450C5A0AF8C51F03FF9D7B2 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 66325B104E947AB524E034CA3D8D9FC7 /* Pods-SampleTests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - ABF2778C64D22F5A51675036ECE221F3 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2AEC155C662A8FFDBAC9074FD1D3F78F /* NSInvocation+OCMAdditions.m in Sources */, - 872770A1A071CA70A9C1B3C2C44A3355 /* NSMethodSignature+OCMAdditions.m in Sources */, - 1F47EC6A29CEE8FEBCB94D6679801158 /* NSNotificationCenter+OCMAdditions.m in Sources */, - C0BE6FED5DFFF00760A090C73E4DB306 /* NSObject+OCMAdditions.m in Sources */, - 261D58F2B02CBA96DAF0261E2CCA9FAF /* NSValue+OCMAdditions.m in Sources */, - 20F4938DBA15023BB3936848E1431350 /* OCClassMockObject.m in Sources */, - 8CE7EF38446C50EAEEDD5895710FF328 /* OCMArg.m in Sources */, - C90CFDA80F20BF912D2C7923E6994976 /* OCMArgAction.m in Sources */, - 86578341F02E4CADA661C2D3E6198029 /* OCMBlockArgCaller.m in Sources */, - F60C578F431596B8116E3F0DC6FCC0A3 /* OCMBlockCaller.m in Sources */, - D1ADDF99E4F3D96C3B03A6C7D93B2E2D /* OCMBoxedReturnValueProvider.m in Sources */, - 9FB2E35B78D41B9E2B391F4253A77ABA /* OCMConstraint.m in Sources */, - B620FD66CB603F2E43AA4BB55D6D4855 /* OCMExceptionReturnValueProvider.m in Sources */, - 3C09B54E398E561C4A99794FF94BCDA6 /* OCMExpectationRecorder.m in Sources */, - 7A7038C357C2EB201912131F70C52957 /* OCMFunctions.m in Sources */, - 7EC9790FACD1C148874CDADEDB4B47C1 /* OCMIndirectReturnValueProvider.m in Sources */, - D453F1C826BA7CBDDF1DB3D64053CF25 /* OCMInvocationExpectation.m in Sources */, - 245A46D58AAB05C0BC0DCB6833213687 /* OCMInvocationMatcher.m in Sources */, - 580AB941F4C4348B0C9B499A93AEBB05 /* OCMInvocationStub.m in Sources */, - FE8C86A364C0F3E43EA872DDB8D07AE9 /* OCMLocation.m in Sources */, - 6B49333F4E51BF7BCBA80998F539B74B /* OCMMacroState.m in Sources */, - 407B7E172CF4D398A45B711A56D17BED /* OCMNotificationPoster.m in Sources */, - F8EAA01F23F1C536A4A4EC10CABD8D6A /* OCMObserverRecorder.m in Sources */, - 5BA53A42B4B0FF9FEEAC39DFB8BBFD5D /* OCMock-dummy.m in Sources */, - B1BB31E7275416BF7AA0D9FF598D7FF3 /* OCMockObject.m in Sources */, - 4342E54F74BAD31ADFA094CB969746B5 /* OCMPassByRefSetter.m in Sources */, - CEE2F4CBFADE792984FC4893B0B1616B /* OCMRealObjectForwarder.m in Sources */, - 31AD7EA575A85A48C15578D2D4A56B40 /* OCMRecorder.m in Sources */, - 621085B04DAEF68485F2FBEC20FA156D /* OCMReturnValueProvider.m in Sources */, - 0864EB7729B1ACCCDB21F02563A7C7BC /* OCMStubRecorder.m in Sources */, - CC50F048E831C597F0552E02195111F8 /* OCMVerifier.m in Sources */, - E51968F20A3D3AF32B18C65EB1EF8289 /* OCObserverMockObject.m in Sources */, - 5F47AE9BE7B1E45C419B344639CDBD8A /* OCPartialMockObject.m in Sources */, - 50E0999E3627D4EE8D09255E9A1C6391 /* OCProtocolMockObject.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - AF35E2DCD9F4CC862DF5AE025BB7F041 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 90481222B0ADC2AD289D875EDE606ABF /* Specta-dummy.m in Sources */, - 9935F1F8BE953282BECFCCC819F0EDE0 /* SpectaDSL.m in Sources */, - E8B9FCEE55E73AAA42EF0C9329DC2B30 /* SpectaUtility.m in Sources */, - 1AD5F8ED94A2C42569ED1C1A8E33A4EA /* SPTCallSite.m in Sources */, - 01398FFBA401692249E11D256382A754 /* SPTCompiledExample.m in Sources */, - 992CDD8DAB72763DE0672F8B9E6409F0 /* SPTExample.m in Sources */, - C1C8A63E7E7EB567FA386301957078C0 /* SPTExampleGroup.m in Sources */, - 7E57BCB6FE33ABB76C95E0E93AB36A8E /* SPTSharedExampleGroups.m in Sources */, - 32B2217B8779D7217ECA824127984755 /* SPTSpec.m in Sources */, - 2F6696940FB679BC4F7429A7522133D8 /* SPTTestSuite.m in Sources */, - 77F53FE7276B799EC2C3289B095A4C3D /* XCTestCase+Specta.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B239BD93C67DE976C7F3A1AD982A0A58 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 06B1FC90B61BF117E8475C51E9048A6A /* EXPBlockDefinedMatcher.m in Sources */, - DFFA2CE14088C21D18583A0FFABA0005 /* EXPDoubleTuple.m in Sources */, - 204D694B03BFF3B244A6AB73FACFFC43 /* Expecta-dummy.m in Sources */, - 6EEA015C4E0A0EAEC5ACD1287ECEC05B /* ExpectaObject.m in Sources */, - 5B24DD80DB6F71F3D0522CA288A36A09 /* ExpectaSupport.m in Sources */, - 184017B1C7A1AA1AEA8DFBB519C8CB89 /* EXPExpect.m in Sources */, - D872901ADBD8C446DEF6553A2D06C600 /* EXPFloatTuple.m in Sources */, - 45782334B39C6B9B4E52B34B2B9B4413 /* EXPMatcherHelpers.m in Sources */, - 323201D5C037F4514FD0122AA6FD12E7 /* EXPMatchers+beCloseTo.m in Sources */, - 25747E29F598A4D2967B7C95C9D2686D /* EXPMatchers+beFalsy.m in Sources */, - 706A41DDC289EAF1F2D211D800D91C87 /* EXPMatchers+beginWith.m in Sources */, - D2712B685114DCB3CFADD71414758F36 /* EXPMatchers+beGreaterThan.m in Sources */, - 4D099399F94AAD9151493AAD10D4A809 /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */, - EAD00EBB13812289F4BD0C7A81815A27 /* EXPMatchers+beIdenticalTo.m in Sources */, - 504AB3CD7D70064A552DFDCB428C01A7 /* EXPMatchers+beInstanceOf.m in Sources */, - C32723DFA07604BBE370E4B1928A325C /* EXPMatchers+beInTheRangeOf.m in Sources */, - 565D3987D1DB73341F3BA1F9473A9F54 /* EXPMatchers+beKindOf.m in Sources */, - 363EB8DCEF89422AD65214142D13A181 /* EXPMatchers+beLessThan.m in Sources */, - 5C8F2AD48B357E7B71DBBA7DFABA29C6 /* EXPMatchers+beLessThanOrEqualTo.m in Sources */, - 112B5AAC1A183984484B3C376409308C /* EXPMatchers+beNil.m in Sources */, - C9CC5E647084400EDFCCA53321A61C2B /* EXPMatchers+beSubclassOf.m in Sources */, - 6BE7DD872FA8D68B235E3F3AC1564529 /* EXPMatchers+beSupersetOf.m in Sources */, - F00E79A27ED93E0F1D506ED0E9B8DA09 /* EXPMatchers+beTruthy.m in Sources */, - A1F6B0C0F210F55C9E2BEFF28372BBAA /* EXPMatchers+conformTo.m in Sources */, - B25D9AA674596B773907A81AFA9AC02D /* EXPMatchers+contain.m in Sources */, - 55553C15705BB759C13FE09D6526ACFF /* EXPMatchers+endWith.m in Sources */, - 5208A3B7EFA0DA3920BFB9ECF9DB554F /* EXPMatchers+equal.m in Sources */, - 4762F9550CF409B0B4577238B43DE7E6 /* EXPMatchers+haveCountOf.m in Sources */, - C217ABA97E49193B686C1591675399D3 /* EXPMatchers+match.m in Sources */, - ADB9B72E9E91E3BB2F8198D39D3EE54C /* EXPMatchers+postNotification.m in Sources */, - E7EFBC887102F68FC5166AF8B94D632E /* EXPMatchers+raise.m in Sources */, - 6AC3A9A1825CEA7B5A6CAC3DBBDF9D93 /* EXPMatchers+raiseWithReason.m in Sources */, - 5C6CAA7BBCEE2A72664CAFAF8CDAE91B /* EXPMatchers+respondTo.m in Sources */, - C199190EA02F05FC8ED7D270CA5316CF /* EXPUnsupportedObject.m in Sources */, - 123EBAAC712690F9F6A44695AFF934F9 /* NSValue+Expecta.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BE2D2FC4E2E2086263862FB8F7DA51FB /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A072699986ACB6D9FD21198CB2AFB7F8 /* Expecta+Snapshots-dummy.m in Sources */, - 2838BC8A78080C94E3C8CAAB3681386E /* ExpectaObject+FBSnapshotTest.m in Sources */, - B27CE11447EBB1809C9B5F635E24F58A /* EXPMatchers+FBSnapshotTest.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 0B4B337A09E4D2CA2372028AF3A23F71 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Specta; - target = 00ADDBCA9E516B429C7877EB5AED2DCE /* Specta */; - targetProxy = 89BF516BAE1C018E4CD565FA371F2474 /* PBXContainerItemProxy */; - }; - 36A319D1A84CD9E917C3EBCC8E06BEA3 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FBSnapshotTestCase; - target = E1E99BE24B4D5E362ECFB6580A5D5A8D /* FBSnapshotTestCase */; - targetProxy = 3F0B626E146826146221C93DD18B6EF9 /* PBXContainerItemProxy */; - }; - 3A7A14A30FEA72F49150FFA8BF73AC02 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Expecta; - target = 0D888F29E05E498D0CD91A51D28599A5 /* Expecta */; - targetProxy = 40A565842AA2560107E565D01766F89D /* PBXContainerItemProxy */; - }; - 3CE47127EC1729530DF6892DAC98E263 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Expecta; - target = 0D888F29E05E498D0CD91A51D28599A5 /* Expecta */; - targetProxy = 1B5BFD6EC1068EBC586F5E566543AED5 /* PBXContainerItemProxy */; - }; - 51B3A3DA87697FD3347F5858E201980C /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Specta; - target = 00ADDBCA9E516B429C7877EB5AED2DCE /* Specta */; - targetProxy = 34E49A0ADA942C07DBD6CB4F76B3FD54 /* PBXContainerItemProxy */; - }; - C432B5914AB9844FD4F659D7CBE83094 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = OCMock; - target = 0C9D3C758CFA9888936DBEB0F9B3C74D /* OCMock */; - targetProxy = BDA4F82A860064774F6A59BC4EDE2F3C /* PBXContainerItemProxy */; - }; - D6FC6CE27EE2216BF4704E0827DFBEBE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FBSnapshotTestCase; - target = E1E99BE24B4D5E362ECFB6580A5D5A8D /* FBSnapshotTestCase */; - targetProxy = 845DA643BAC094D83AA08D33F1BFD783 /* PBXContainerItemProxy */; - }; - FEDE07A636DE7582B51393AE759DA910 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Expecta+Snapshots"; - target = B5522B4C786061CA9DFC8A4198028552 /* Expecta+Snapshots */; - targetProxy = D26AE1C94E8C0D0A50E68175D105B23E /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 0CF69B9ADBDA54782D062CB197F382A0 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E2A3140AA1CB5109D616CF586B1DEF4E /* Expecta+Snapshots.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_BITCODE = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Expecta+Snapshots/Expecta+Snapshots-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Expecta+Snapshots/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Expecta+Snapshots/Expecta+Snapshots.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = Expecta_Snapshots; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 14517AB91B16B5D797F4374300AFA89F /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = EE975EBB5B1943480CA5CA0193F580FD /* Specta.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Specta/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Specta/Specta.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = Specta; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 4E7AA1D2302AB100A1AA4FAA3580FB88 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 180E2BC1AF77946093026B76CF42CD9A /* OCMock.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/OCMock/OCMock-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/OCMock/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/OCMock/OCMock.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = OCMock; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 560C52F5FB82E24644C66FD9443A546B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5F5A56BBB6837C83BF3635519E4992A7 /* FBSnapshotTestCase.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/FBSnapshotTestCase/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = FBSnapshotTestCase; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 5DD67F0738FBE6D7E99F5EAE3C94B10D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 180E2BC1AF77946093026B76CF42CD9A /* OCMock.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/OCMock/OCMock-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/OCMock/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/OCMock/OCMock.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = OCMock; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 817ACFD1566B6B600C2987269CD2E5CB /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E2A3140AA1CB5109D616CF586B1DEF4E /* Expecta+Snapshots.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_BITCODE = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Expecta+Snapshots/Expecta+Snapshots-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Expecta+Snapshots/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Expecta+Snapshots/Expecta+Snapshots.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = Expecta_Snapshots; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 8DBC4BBCC3F35918166206B67FF68C6A /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5F5A56BBB6837C83BF3635519E4992A7 /* FBSnapshotTestCase.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/FBSnapshotTestCase/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = FBSnapshotTestCase; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - A4C23723433D87DD227FBAEB9A18FE35 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0E40DE5C93DEB2D4C46C6718B7BDCB35 /* Pods-SampleTests.debug.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-SampleTests/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SampleTests/Pods-SampleTests.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_SampleTests; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - A70CDAD61F90AC503C7D04CC22DA2923 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - ONLY_ACTIVE_ARCH = YES; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; - D95ABB670BF106714613BF606E7FF6DC /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7BC07C478AF6B803DBE2F35CD6C3A6C9 /* Expecta.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Expecta/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Expecta/Expecta.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = Expecta; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - D9D9F52BC6BE0344E53A83433CE5C963 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7BC07C478AF6B803DBE2F35CD6C3A6C9 /* Expecta.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Expecta/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Expecta/Expecta.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = Expecta; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - EF229B5B773CB72AE6A3F61EC5423310 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = EE975EBB5B1943480CA5CA0193F580FD /* Specta.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Specta/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Specta/Specta.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = Specta; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - FB45FFD90572718D82AB9092B750F0CA /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PREPROCESSOR_DEFINITIONS = "RELEASE=1"; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - FD7EB7858AE9ECEDB373DA5C4BBCDAA0 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 267F520A63E18CC3531E078028D84F19 /* Pods-SampleTests.release.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-SampleTests/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SampleTests/Pods-SampleTests.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_SampleTests; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A70CDAD61F90AC503C7D04CC22DA2923 /* Debug */, - FB45FFD90572718D82AB9092B750F0CA /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 315651862B1A4D3486C4BEB578330525 /* Build configuration list for PBXNativeTarget "Expecta+Snapshots" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0CF69B9ADBDA54782D062CB197F382A0 /* Debug */, - 817ACFD1566B6B600C2987269CD2E5CB /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 333D034462DA0EE6A13E42FBBB07F3AC /* Build configuration list for PBXNativeTarget "FBSnapshotTestCase" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8DBC4BBCC3F35918166206B67FF68C6A /* Debug */, - 560C52F5FB82E24644C66FD9443A546B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 74A9F74278E1CDC3C61B386FC80DA38B /* Build configuration list for PBXNativeTarget "OCMock" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 5DD67F0738FBE6D7E99F5EAE3C94B10D /* Debug */, - 4E7AA1D2302AB100A1AA4FAA3580FB88 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8520FEA8817EC3DACE10B27EEE37AEB0 /* Build configuration list for PBXNativeTarget "Specta" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 14517AB91B16B5D797F4374300AFA89F /* Debug */, - EF229B5B773CB72AE6A3F61EC5423310 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - AEB7A7497CC604BD3AD2573204C8B0A5 /* Build configuration list for PBXNativeTarget "Pods-SampleTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A4C23723433D87DD227FBAEB9A18FE35 /* Debug */, - FD7EB7858AE9ECEDB373DA5C4BBCDAA0 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - DC61702A42844E4ED762A73E8893436B /* Build configuration list for PBXNativeTarget "Expecta" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D95ABB670BF106714613BF606E7FF6DC /* Debug */, - D9D9F52BC6BE0344E53A83433CE5C963 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; -} diff --git a/Sample/Pods/Specta/LICENSE b/Sample/Pods/Specta/LICENSE deleted file mode 100644 index ca257c0..0000000 --- a/Sample/Pods/Specta/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2012-2014 Specta Team. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - diff --git a/Sample/Pods/Specta/README.md b/Sample/Pods/Specta/README.md deleted file mode 100644 index 431b121..0000000 --- a/Sample/Pods/Specta/README.md +++ /dev/null @@ -1,176 +0,0 @@ -# Specta - -A light-weight TDD / BDD framework for Objective-C. - -### Status -[![Build Status](https://travis-ci.org/specta/specta.png)](https://travis-ci.org/specta/specta) -[![Coverage Status](https://coveralls.io/repos/specta/specta/badge.svg)](https://coveralls.io/r/specta/specta) - -## FEATURES - -* An Objective-C RSpec-like BDD DSL -* Quick and easy set up -* Built on top of XCTest -* Excellent Xcode integration - -## SCREENSHOT - -![Specta Screenshot](https://raw.githubusercontent.com/specta/specta/master/misc/specta_screenshot.jpg) - -## SETUP - -Use [CocoaPods](http://github.com/CocoaPods/CocoaPods), [Carthage](https://github.com/carthage/carthage) or [Set up manually](#setting-up-manually) - -### CocoaPods - -1. Add Specta to your project's `Podfile`: - - ```ruby - target :MyApp do - # your app dependencies - end - - target :MyAppTests do - pod 'Specta', '~> 1.0' - # pod 'Expecta', '~> 1.0' # expecta matchers - # pod 'OCMock', '~> 2.2' # OCMock - # pod 'OCHamcrest', '~> 3.0' # hamcrest matchers - # pod 'OCMockito', '~> 1.0' # OCMock - # pod 'LRMocky', '~> 0.9' # LRMocky - end - ``` - -2. Run `pod update` or `pod install` in your project directory. - -### Carthage - -1. Add Specta to your project's `Cartfile.private` - - ``` - github "specta/specta" ~> 1.0 - ``` - -2. Run `carthage update` in your project directory -3. Drag the appropriate `Specta.framework` for your platform (located in Carthage/Build/) into your application’s Xcode project, and add it to your test target(s). -4. If you are building for iOS, a new `Run Script Phase` must be added to copy the framework. The instructions can be found on [Carthage's getting started instructions](https://github.com/carthage/carthage#getting-started) - -### SETTING UP MANUALLY - -1. Clone from Github. -2. Run `rake` in project root to build. -3. Add a "Cocoa/Cocoa Touch Unit Testing Bundle" target if you don't already have one. -4. Copy and add all header files in `Products` folder to the Test target in your Xcode project. -5. For **OS X projects**, copy and add `Specta.framework` in `Products/osx` folder to the test target in your Xcode project. - For **iOS projects**, copy and add `Specta.framework` in `Products/ios` folder to the test target in your Xcode project. - You can alternatively use `libSpecta.a`, if you prefer to add it as a static library for your project. (iOS 7 and below require this) -6. Add `-ObjC` and `-all_load` to the "Other Linker Flags" build setting for the test target in your Xcode project. -7. If you encounter linking issues with `_llvm_*` symbols, ensure your target's "Generate Test Coverage Files" and "Instrument Program Flow" build settings are set to `Yes`. - -## EXAMPLE - -```objective-c -#import // #import "Specta.h" if you're using libSpecta.a - -SharedExamplesBegin(MySharedExamples) -// Global shared examples are shared across all spec files. - -sharedExamplesFor(@"foo", ^(NSDictionary *data) { - __block id bar = nil; - beforeEach(^{ - bar = data[@"bar"]; - }); - it(@"should not be nil", ^{ - XCTAssertNotNil(bar); - }); -}); - -SharedExamplesEnd - -SpecBegin(Thing) - -describe(@"Thing", ^{ - sharedExamplesFor(@"another shared behavior", ^(NSDictionary *data) { - // Locally defined shared examples can override global shared examples within its scope. - }); - - beforeAll(^{ - // This is run once and only once before all of the examples - // in this group and before any beforeEach blocks. - }); - - beforeEach(^{ - // This is run before each example. - }); - - it(@"should do stuff", ^{ - // This is an example block. Place your assertions here. - }); - - it(@"should do some stuff asynchronously", ^{ - waitUntil(^(DoneCallback done) { - // Async example blocks need to invoke done() callback. - done(); - }); - }); - - itShouldBehaveLike(@"a shared behavior", @{@"key" : @"obj"}); - - itShouldBehaveLike(@"another shared behavior", ^{ - // Use a block that returns a dictionary if you need the context to be evaluated lazily, - // e.g. to use an object prepared in a beforeEach block. - return @{@"key" : @"obj"}; - }); - - describe(@"Nested examples", ^{ - it(@"should do even more stuff", ^{ - // ... - }); - }); - - pending(@"pending example"); - - pending(@"another pending example", ^{ - // ... - }); - - afterEach(^{ - // This is run after each example. - }); - - afterAll(^{ - // This is run once and only once after all of the examples - // in this group and after any afterEach blocks. - }); -}); - -SpecEnd -``` - -* `beforeEach` and `afterEach` are also aliased as `before` and `after` respectively. -* `describe` is also aliased as `context`. -* `it` is also aliased as `example` and `specify`. -* `itShouldBehaveLike` is also aliased as `itBehavesLike`. -* Use `pending` or prepend `x` to `describe`, `context`, `example`, `it`, and `specify` to mark examples or groups as pending. -* Use `^(DoneCallback done)` as shown in the example above to make examples wait for completion. `done()` callback needs to be invoked to let Specta know that your test is complete. The default timeout is 10.0 seconds but this can be changed by calling the function `setAsyncSpecTimeout(NSTimeInterval timeout)`. -* `(before|after)(Each/All)` also accept `^(DoneCallback done)`s. -* Do `#define SPT_CEDAR_SYNTAX` before importing Specta if you prefer to write `SPEC_BEGIN` and `SPEC_END` instead of `SpecBegin` and `SpecEnd`. -* Prepend `f` to your `describe`, `context`, `example`, `it`, and `specify` to set focus on examples or groups. When specs are focused, all unfocused specs are skipped. -* To use original XCTest reporter, set an environment variable named `SPECTA_REPORTER_CLASS` to `SPTXCTestReporter` in your test scheme. -* Set an environment variable `SPECTA_NO_SHUFFLE` with value `1` to disable test shuffling. -* Set an environment variable `SPECTA_SEED` to specify the random seed for test shuffling. - -Standard XCTest matchers such as `XCTAssertEqualObjects` and `XCTAssertNil` work, but you probably want to add a nicer matcher framework - [Expecta](http://github.com/specta/expecta/) to your setup. Or if you really prefer, [OCHamcrest](https://github.com/jonreid/OCHamcrest) works fine too. Also, add a mocking framework: [OCMock](http://ocmock.org/). - -## RUNNING TESTS IN COMMAND LINE - -* Run `rake test` in the cloned folder. - -## CONTRIBUTION GUIDELINES - -* Please use only spaces and indent 2 spaces at a time. -* Please prefix instance variable names with a single underscore (`_`). -* Please prefix custom classes and functions defined in the global scope with `SPT`. - -## LICENSE - -Copyright (c) 2012-2015 [Specta Team](https://github.com/specta?tab=members). This software is licensed under the [MIT License](http://github.com/specta/specta/raw/master/LICENSE). diff --git a/Sample/Pods/Specta/Specta/Specta/SPTCallSite.h b/Sample/Pods/Specta/Specta/Specta/SPTCallSite.h deleted file mode 100644 index adcd3b0..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTCallSite.h +++ /dev/null @@ -1,12 +0,0 @@ -#import - -@interface SPTCallSite : NSObject - -@property (nonatomic, copy, readonly) NSString *file; -@property (nonatomic, readonly) NSUInteger line; - -+ (instancetype)callSiteWithFile:(NSString *)file line:(NSUInteger)line; - -- (instancetype)initWithFile:(NSString *)file line:(NSUInteger)line; - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/SPTCallSite.m b/Sample/Pods/Specta/Specta/Specta/SPTCallSite.m deleted file mode 100644 index 585cecd..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTCallSite.m +++ /dev/null @@ -1,18 +0,0 @@ -#import "SPTCallSite.h" - -@implementation SPTCallSite - -+ (instancetype)callSiteWithFile:(NSString *)file line:(NSUInteger)line { - return [[self alloc] initWithFile:file line:line]; -} - -- (instancetype)initWithFile:(NSString *)file line:(NSUInteger)line { - self = [super init]; - if (self) { - _file = file; - _line = line; - } - return self; -} - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/SPTCompiledExample.h b/Sample/Pods/Specta/Specta/Specta/SPTCompiledExample.h deleted file mode 100644 index adb3aaa..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTCompiledExample.h +++ /dev/null @@ -1,17 +0,0 @@ -#import -#import "SpectaTypes.h" - -@interface SPTCompiledExample : NSObject - -@property (nonatomic, copy) NSString *name; -@property (nonatomic, copy) NSString *testCaseName; -@property (nonatomic, copy) SPTSpecBlock block; - -@property (nonatomic) BOOL pending; -@property (nonatomic, getter=isFocused) BOOL focused; - -@property (nonatomic) SEL testMethodSelector; - -- (id)initWithName:(NSString *)name testCaseName:(NSString *)testCaseName block:(SPTSpecBlock)block pending:(BOOL)pending focused:(BOOL)focused; - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/SPTCompiledExample.m b/Sample/Pods/Specta/Specta/Specta/SPTCompiledExample.m deleted file mode 100644 index e762165..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTCompiledExample.m +++ /dev/null @@ -1,17 +0,0 @@ -#import "SPTCompiledExample.h" - -@implementation SPTCompiledExample - -- (id)initWithName:(NSString *)name testCaseName:(NSString *)testCaseName block:(SPTSpecBlock)block pending:(BOOL)pending focused:(BOOL)focused { - self = [super init]; - if (self) { - self.name = name; - self.testCaseName = testCaseName; - self.block = block; - self.pending = pending; - self.focused = focused; - } - return self; -} - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/SPTExample.h b/Sample/Pods/Specta/Specta/Specta/SPTExample.h deleted file mode 100644 index 849aacb..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTExample.h +++ /dev/null @@ -1,17 +0,0 @@ -#import -#import "SpectaTypes.h" - -@class SPTCallSite; - -@interface SPTExample : NSObject - -@property (nonatomic, copy) NSString *name; -@property (nonatomic, retain) SPTCallSite *callSite; -@property (nonatomic, copy) SPTVoidBlock block; - -@property (nonatomic) BOOL pending; -@property (nonatomic, getter=isFocused) BOOL focused; - -- (id)initWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block; - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/SPTExample.m b/Sample/Pods/Specta/Specta/Specta/SPTExample.m deleted file mode 100644 index e5905a9..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTExample.m +++ /dev/null @@ -1,17 +0,0 @@ -#import "SPTExample.h" - -@implementation SPTExample - -- (id)initWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block { - self = [super init]; - if (self) { - self.name = name; - self.callSite = callSite; - self.block = block; - self.focused = focused; - self.pending = block == nil; - } - return self; -} - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/SPTExampleGroup.h b/Sample/Pods/Specta/Specta/Specta/SPTExampleGroup.h deleted file mode 100644 index dce3db6..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTExampleGroup.h +++ /dev/null @@ -1,36 +0,0 @@ -#import -#import -#import "SpectaTypes.h" - -@class SPTExample; -@class SPTCallSite; - -@interface SPTExampleGroup : NSObject - -@property (nonatomic, copy) NSString *name; -@property (nonatomic, weak) SPTExampleGroup *root; -@property (nonatomic, weak) SPTExampleGroup *parent; -@property (nonatomic, strong) NSMutableArray *children; -@property (nonatomic, strong) NSMutableArray *beforeAllArray; -@property (nonatomic, strong) NSMutableArray *afterAllArray; -@property (nonatomic, strong) NSMutableArray *beforeEachArray; -@property (nonatomic, strong) NSMutableArray *afterEachArray; -@property (nonatomic, strong) NSMutableDictionary *sharedExamples; -@property (nonatomic) unsigned int exampleCount; -@property (nonatomic) unsigned int ranExampleCount; -@property (nonatomic) unsigned int pendingExampleCount; -@property (nonatomic, getter=isFocused) BOOL focused; - -- (id)initWithName:(NSString *)name parent:(SPTExampleGroup *)parent root:(SPTExampleGroup *)root; - -- (SPTExampleGroup *)addExampleGroupWithName:(NSString *)name focused:(BOOL)focused; -- (SPTExample *)addExampleWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block; - -- (void)addBeforeAllBlock:(SPTVoidBlock)block; -- (void)addAfterAllBlock:(SPTVoidBlock)block; -- (void)addBeforeEachBlock:(SPTVoidBlock)block; -- (void)addAfterEachBlock:(SPTVoidBlock)block; - -- (NSArray *)compileExamplesWithStack:(NSArray *)stack; - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/SPTExampleGroup.m b/Sample/Pods/Specta/Specta/Specta/SPTExampleGroup.m deleted file mode 100644 index cf51800..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTExampleGroup.m +++ /dev/null @@ -1,335 +0,0 @@ -#import "SPTExampleGroup.h" -#import "SPTExample.h" -#import "SPTCompiledExample.h" -#import "SPTSpec.h" -#import "SpectaUtility.h" -#import "XCTest+Private.h" -#import "SPTGlobalBeforeAfterEach.h" -#import -#import - -static NSArray *ClassesWithClassMethod(SEL classMethodSelector) { - NSMutableArray *classesWithClassMethod = [[NSMutableArray alloc] init]; - - int numberOfClasses = objc_getClassList(NULL, 0); - if (numberOfClasses > 0) { - Class *classes = (Class *)malloc(sizeof(Class) *numberOfClasses); - numberOfClasses = objc_getClassList(classes, numberOfClasses); - - for(int classIndex = 0; classIndex < numberOfClasses; classIndex++) { - Class aClass = classes[classIndex]; - - if (class_conformsToProtocol(aClass, @protocol(SPTGlobalBeforeAfterEach))) { - Method globalMethod = class_getClassMethod(aClass, classMethodSelector); - if (globalMethod) { - [classesWithClassMethod addObject:aClass]; - } - } - } - - free(classes); - } - - return classesWithClassMethod; -} - -static void runExampleBlock(void (^block)(), NSString *name) { - if (!SPTIsBlock(block)) { - return; - } - - ((SPTVoidBlock)block)(); -} - -typedef NS_ENUM(NSInteger, SPTExampleGroupOrder) { - SPTExampleGroupOrderOutermostFirst = 1, - SPTExampleGroupOrderInnermostFirst -}; - -@interface SPTExampleGroup () - -- (void)incrementExampleCount; -- (void)incrementPendingExampleCount; -- (void)resetRanExampleCountIfNeeded; -- (void)incrementRanExampleCount; -- (void)runBeforeHooks:(NSString *)compiledName; -- (void)runBeforeAllHooks:(NSString *)compiledName; -- (void)runBeforeEachHooks:(NSString *)compiledName; -- (void)runAfterHooks:(NSString *)compiledName; -- (void)runAfterEachHooks:(NSString *)compiledName; -- (void)runAfterAllHooks:(NSString *)compiledName; - -@end - -@implementation SPTExampleGroup - -- (id)init { - self = [super init]; - if (self) { - self.name = nil; - self.root = nil; - self.parent = nil; - self.children = [NSMutableArray array]; - self.beforeAllArray = [NSMutableArray array]; - self.afterAllArray = [NSMutableArray array]; - self.beforeEachArray = [NSMutableArray array]; - self.afterEachArray = [NSMutableArray array]; - self.sharedExamples = [NSMutableDictionary dictionary]; - self.exampleCount = 0; - self.pendingExampleCount = 0; - self.ranExampleCount = 0; - } - return self; -} - -- (id)initWithName:(NSString *)name parent:(SPTExampleGroup *)parent root:(SPTExampleGroup *)root { - self = [self init]; - if (self) { - self.name = name; - self.parent = parent; - self.root = root; - } - return self; -} - -- (SPTExampleGroup *)addExampleGroupWithName:(NSString *)name focused:(BOOL)focused { - SPTExampleGroup *group = [[SPTExampleGroup alloc] initWithName:name parent:self root:self.root]; - group.focused = focused; - [self.children addObject:group]; - return group; -} - -- (SPTExample *)addExampleWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block { - SPTExample *example; - @synchronized(self) { - example = [[SPTExample alloc] initWithName:name callSite:callSite focused:focused block:block]; - [self.children addObject:example]; - - [self incrementExampleCount]; - if (example.pending) { - [self incrementPendingExampleCount]; - } - } - return example; -} - -- (void)incrementExampleCount { - SPTExampleGroup *group = self; - while (group != nil) { - group.exampleCount ++; - group = group.parent; - } -} - -- (void)incrementPendingExampleCount { - SPTExampleGroup *group = self; - while (group != nil) { - group.pendingExampleCount ++; - group = group.parent; - } -} - -- (void)resetRanExampleCountIfNeeded { - SPTExampleGroup *group = self; - while (group != nil) { - if (group.ranExampleCount >= group.exampleCount) { - group.ranExampleCount = 0; - } - group = group.parent; - } -} - -- (void)incrementRanExampleCount { - SPTExampleGroup *group = self; - while (group != nil) { - group.ranExampleCount ++; - group = group.parent; - } -} - -- (void)addBeforeAllBlock:(SPTVoidBlock)block { - if (!block) return; - [self.beforeAllArray addObject:[block copy]]; -} - -- (void)addAfterAllBlock:(SPTVoidBlock)block { - if (!block) return; - [self.afterAllArray addObject:[block copy]]; -} - -- (void)addBeforeEachBlock:(SPTVoidBlock)block { - if (!block) return; - [self.beforeEachArray addObject:[block copy]]; -} - -- (void)addAfterEachBlock:(SPTVoidBlock)block { - if (!block) return; - [self.afterEachArray addObject:[block copy]]; -} - -- (void)runGlobalBeforeEachHooks:(NSString *)compiledName { - static NSArray *globalBeforeEachClasses; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - globalBeforeEachClasses = ClassesWithClassMethod(@selector(beforeEach)); - }); - - for (Class class in globalBeforeEachClasses) { - [class beforeEach]; - } -} - -- (void)runGlobalAfterEachHooks:(NSString *)compiledName { - static NSArray *globalAfterEachClasses; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - globalAfterEachClasses = ClassesWithClassMethod(@selector(afterEach)); - }); - - for (Class class in globalAfterEachClasses) { - [class afterEach]; - } -} - -// Builds an array of example groups that enclose the current group. -// When in innermost-first order, the most deeply nested example groups, -// beginning with self, are placed at the beginning of the array. -// When in outermost-first order, the opposite is true, and the last -// group in the array (self) is the most deeply nested. -- (NSArray *)exampleGroupStackInOrder:(SPTExampleGroupOrder)order { - NSMutableArray *groups = [NSMutableArray array]; - SPTExampleGroup *group = self; - while (group != nil) { - switch (order) { - case SPTExampleGroupOrderOutermostFirst: - [groups insertObject:group atIndex:0]; - break; - case SPTExampleGroupOrderInnermostFirst: - [groups addObject:group]; - break; - } - group = group.parent; - } - - return [groups copy]; -} - -- (void)runBeforeHooks:(NSString *)compiledName { - [self runBeforeAllHooks:compiledName]; - [self runBeforeEachHooks:compiledName]; -} - -- (void)runBeforeAllHooks:(NSString *)compiledName { - for(SPTExampleGroup *group in [self exampleGroupStackInOrder:SPTExampleGroupOrderOutermostFirst]) { - if (group.ranExampleCount == 0) { - for (id beforeAllBlock in group.beforeAllArray) { - runExampleBlock(beforeAllBlock, [NSString stringWithFormat:@"%@ - before all block", compiledName]); - } - } - } -} - -- (void)runBeforeEachHooks:(NSString *)compiledName { - [self runGlobalBeforeEachHooks:compiledName]; - for (SPTExampleGroup *group in [self exampleGroupStackInOrder:SPTExampleGroupOrderOutermostFirst]) { - for (id beforeEachBlock in group.beforeEachArray) { - runExampleBlock(beforeEachBlock, [NSString stringWithFormat:@"%@ - before each block", compiledName]); - } - } -} - -- (void)runAfterHooks:(NSString *)compiledName { - [self runAfterEachHooks:compiledName]; - [self runAfterAllHooks:compiledName]; -} - -- (void)runAfterEachHooks:(NSString *)compiledName { - for (SPTExampleGroup *group in [self exampleGroupStackInOrder:SPTExampleGroupOrderInnermostFirst]) { - for (id afterEachBlock in group.afterEachArray) { - runExampleBlock(afterEachBlock, [NSString stringWithFormat:@"%@ - after each block", compiledName]); - } - } - [self runGlobalAfterEachHooks:compiledName]; -} - -- (void)runAfterAllHooks:(NSString *)compiledName { - for (SPTExampleGroup *group in [self exampleGroupStackInOrder:SPTExampleGroupOrderInnermostFirst]) { - if (group.ranExampleCount == group.exampleCount) { - for (id afterAllBlock in group.afterAllArray) { - runExampleBlock(afterAllBlock, [NSString stringWithFormat:@"%@ - after all block", compiledName]); - } - } - } -} - -- (BOOL)isFocusedOrHasFocusedAncestor { - SPTExampleGroup *ancestor = self; - while (ancestor != nil) { - if (ancestor.focused) { - return YES; - } else { - ancestor = ancestor.parent; - } - } - - return NO; -} - -- (NSArray *)compileExamplesWithStack:(NSArray *)stack { - BOOL groupIsFocusedOrHasFocusedAncestor = [self isFocusedOrHasFocusedAncestor]; - - NSArray *compiled = @[]; - - for(id child in self.children) { - if ([child isKindOfClass:[SPTExampleGroup class]]) { - SPTExampleGroup *group = child; - NSArray *newStack = [stack arrayByAddingObject:group]; - compiled = [compiled arrayByAddingObjectsFromArray:[group compileExamplesWithStack:newStack]]; - - } else if ([child isKindOfClass:[SPTExample class]]) { - SPTExample *example = child; - NSArray *newStack = [stack arrayByAddingObject:example]; - - NSString *compiledName = [spt_map(newStack, ^id(id obj, NSUInteger idx) { - return [obj name]; - }) componentsJoinedByString:@" "]; - - NSString *testCaseName = [spt_map(newStack, ^id(id obj, NSUInteger idx) { - return spt_underscorize([obj name]); - }) componentsJoinedByString:@"__"]; - - // If example is pending, run only before- and after-all hooks. - // Otherwise, run the example and all before and after hooks. - SPTSpecBlock compiledBlock = example.pending ? ^(SPTSpec *spec){ - @synchronized(self.root) { - [self resetRanExampleCountIfNeeded]; - [self runBeforeAllHooks:compiledName]; - [self incrementRanExampleCount]; - [self runAfterAllHooks:compiledName]; - } - } : ^(SPTSpec *spec) { - @synchronized(self.root) { - [self resetRanExampleCountIfNeeded]; - [self runBeforeHooks:compiledName]; - } - @try { - runExampleBlock(example.block, compiledName); - } - @catch(NSException *e) { - [spec spt_handleException:e]; - } - @finally { - @synchronized(self.root) { - [self incrementRanExampleCount]; - [self runAfterHooks:compiledName]; - } - } - }; - SPTCompiledExample *compiledExample = [[SPTCompiledExample alloc] initWithName:compiledName testCaseName:testCaseName block:compiledBlock pending:example.pending focused:(groupIsFocusedOrHasFocusedAncestor || example.focused)]; - compiled = [compiled arrayByAddingObject:compiledExample]; - } - } - return compiled; -} - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h b/Sample/Pods/Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h deleted file mode 100644 index 9581f0b..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright (c) 2015 Specta Team. All rights reserved. - */ -#import - -// This protocol was used for blacklisting classes for global beforeEach and afterEach blocks. -// Now, instead, classes are whitelisted by implementing the SPTGlobalBeforeAfterEach protocol. -__deprecated_msg("Please whitelist classes instead with the SPTGlobalBeforeAfterEach protocol") -@protocol SPTExcludeGlobalBeforeAfterEach -@end diff --git a/Sample/Pods/Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h b/Sample/Pods/Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h deleted file mode 100644 index 490359d..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright (c) 2015 Specta Team. All rights reserved. - */ -#import - -// This protocol is used for whitelisting classes for global beforeEach and afterEach blocks. -// If you want a class to participate in those just add this protocol to a category and it will be -// included. -@protocol SPTGlobalBeforeAfterEach - -@optional -+ (void)beforeEach; -+ (void)afterEach; - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.h b/Sample/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.h deleted file mode 100644 index 090acba..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.h +++ /dev/null @@ -1,17 +0,0 @@ -#import -#import -#import - -@class _XCTestCaseImplementation; - -@class SPTExampleGroup; - -@interface SPTSharedExampleGroups : XCTestCase - -+ (void)addSharedExampleGroupWithName:(NSString *)name block:(SPTDictionaryBlock)block exampleGroup:(SPTExampleGroup *)exampleGroup; -+ (SPTDictionaryBlock)sharedExampleGroupWithName:(NSString *)name exampleGroup:(SPTExampleGroup *)exampleGroup; - -- (void)sharedExampleGroups; - -@end - diff --git a/Sample/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.m b/Sample/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.m deleted file mode 100644 index 35b405c..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.m +++ /dev/null @@ -1,74 +0,0 @@ -#import "SPTSharedExampleGroups.h" -#import "SPTExampleGroup.h" -#import "SPTSpec.h" -#import "SpectaUtility.h" -#import - -NSMutableDictionary *globalSharedExampleGroups = nil; -BOOL initialized = NO; - -@implementation SPTSharedExampleGroups - -+ (void)initialize { - Class SPTSharedExampleGroupsClass = [SPTSharedExampleGroups class]; - if ([self class] == SPTSharedExampleGroupsClass) { - if (!initialized) { - initialized = YES; - globalSharedExampleGroups = [[NSMutableDictionary alloc] init]; - - Class *classes = NULL; - int numClasses = objc_getClassList(NULL, 0); - - if (numClasses > 0) { - classes = (Class *)malloc(sizeof(Class) * numClasses); - numClasses = objc_getClassList(classes, numClasses); - - Class klass, superClass; - for(uint i = 0; i < numClasses; i++) { - klass = classes[i]; - superClass = class_getSuperclass(klass); - if (superClass == SPTSharedExampleGroupsClass) { - [[[klass alloc] init] sharedExampleGroups]; - } - } - - free(classes); - } - } - } -} - -+ (void)addSharedExampleGroupWithName:(NSString *)name block:(SPTDictionaryBlock)block exampleGroup:(SPTExampleGroup *)exampleGroup { - (exampleGroup == nil ? globalSharedExampleGroups : exampleGroup.sharedExamples)[name] = [block copy]; -} - -+ (SPTDictionaryBlock)sharedExampleGroupWithName:(NSString *)name exampleGroup:(SPTExampleGroup *)exampleGroup { - SPTDictionaryBlock sharedExampleGroup = nil; - while (exampleGroup != nil) { - if ((sharedExampleGroup = exampleGroup.sharedExamples[name])) { - return sharedExampleGroup; - } - exampleGroup = exampleGroup.parent; - } - return globalSharedExampleGroups[name]; -} - -- (void)sharedExampleGroups {} - -- (void)spt_handleException:(NSException *)exception { - [SPTCurrentSpec spt_handleException:exception]; -} - -- (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)filename atLine:(NSUInteger)lineNumber expected:(BOOL)expected { - [SPTCurrentSpec recordFailureWithDescription:description inFile:filename atLine:lineNumber expected:expected]; -} - -- (void)_recordUnexpectedFailureWithDescription:(NSString *)description exception:(NSException *)exception { - [SPTCurrentSpec _recordUnexpectedFailureWithDescription:description exception:exception]; -} - -- (_XCTestCaseImplementation *)internalImplementation { - return [SPTCurrentSpec internalImplementation]; -} - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/SPTSpec.h b/Sample/Pods/Specta/Specta/Specta/SPTSpec.h deleted file mode 100644 index ada4ea2..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTSpec.h +++ /dev/null @@ -1,28 +0,0 @@ -#import -#import - -@class - SPTTestSuite -, SPTCompiledExample -; - -@interface SPTSpec : XCTestCase - -@property (strong) XCTestCaseRun *spt_run; -@property (nonatomic) BOOL spt_pending; -@property (nonatomic) BOOL spt_skipped; - -+ (BOOL)spt_isDisabled; -+ (void)spt_setDisabled:(BOOL)disabled; -+ (BOOL)spt_focusedExamplesExist; -+ (SEL)spt_convertToTestMethod:(SPTCompiledExample *)example; -+ (SPTTestSuite *)spt_testSuite; -+ (void)spt_setCurrentTestSuite; -+ (void)spt_unsetCurrentTestSuite; -+ (void)spt_setCurrentTestSuiteFileName:(NSString *)fileName lineNumber:(NSUInteger)lineNumber; - -- (void)spec; -- (BOOL)spt_shouldRunExample:(SPTCompiledExample *)example; -- (void)spt_runExample:(SPTCompiledExample *)example; - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/SPTSpec.m b/Sample/Pods/Specta/Specta/Specta/SPTSpec.m deleted file mode 100644 index 35ad313..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTSpec.m +++ /dev/null @@ -1,210 +0,0 @@ -#import "SPTSpec.h" -#import "SPTTestSuite.h" -#import "SPTCompiledExample.h" -#import "SPTSharedExampleGroups.h" -#import "SpectaUtility.h" -#import -#import "XCTest+Private.h" - -@implementation SPTSpec - -+ (void)initialize { - [SPTSharedExampleGroups initialize]; - SPTTestSuite *testSuite = [[SPTTestSuite alloc] init]; - SPTSpec *spec = [[[self class] alloc] init]; - NSString *specName = NSStringFromClass([self class]); - objc_setAssociatedObject(self, "spt_testSuite", testSuite, OBJC_ASSOCIATION_RETAIN_NONATOMIC); - [self spt_setCurrentTestSuite]; - @try { - [spec spec]; - } - @catch (NSException *exception) { - fprintf(stderr, "%s: An exception has occured outside of tests, aborting.\n\n%s (%s) \n", [specName UTF8String], [[exception name] UTF8String], [[exception reason] UTF8String]); - if ([exception respondsToSelector:@selector(callStackSymbols)]) { - NSArray *callStackSymbols = [exception callStackSymbols]; - if (callStackSymbols) { - NSString *callStack = [NSString stringWithFormat:@"\n Call Stack:\n %@\n", [callStackSymbols componentsJoinedByString:@"\n "]]; - fprintf(stderr, "%s", [callStack UTF8String]); - } - } - exit(1); - } - @finally { - [self spt_unsetCurrentTestSuite]; - } - [testSuite compile]; - [[self class] testInvocations]; - [super initialize]; -} - -+ (SPTTestSuite *)spt_testSuite { - return objc_getAssociatedObject(self, "spt_testSuite"); -} - -+ (BOOL)spt_isDisabled { - return [self spt_testSuite].disabled; -} - -+ (void)spt_setDisabled:(BOOL)disabled { - [self spt_testSuite].disabled = disabled; -} - -+ (NSArray *)spt_allSpecClasses { - static NSArray *allSpecClasses = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - - NSMutableArray *specClasses = [[NSMutableArray alloc] init]; - - int numberOfClasses = objc_getClassList(NULL, 0); - if (numberOfClasses > 0) { - Class *classes = (Class *)malloc(sizeof(Class) * numberOfClasses); - numberOfClasses = objc_getClassList(classes, numberOfClasses); - - for (int classIndex = 0; classIndex < numberOfClasses; classIndex++) { - Class aClass = classes[classIndex]; - if (spt_isSpecClass(aClass)) { - [specClasses addObject:aClass]; - } - } - - free(classes); - } - - allSpecClasses = [specClasses copy]; - }); - - return allSpecClasses; -} - -+ (BOOL)spt_focusedExamplesExist { - for (Class specClass in [self spt_allSpecClasses]) { - SPTTestSuite *testSuite = [specClass spt_testSuite]; - if (testSuite.disabled == NO && [testSuite hasFocusedExamples]) { - return YES; - } - } - - return NO; -} - -+ (SEL)spt_convertToTestMethod:(SPTCompiledExample *)example { - @synchronized(example) { - if (!example.testMethodSelector) { - IMP imp = imp_implementationWithBlock(^(SPTSpec *self) { - [self spt_runExample:example]; - }); - - SEL sel; - unsigned int i = 0; - - do { - i++; - if (i == 1) { - sel = NSSelectorFromString([NSString stringWithFormat:@"test_%@", example.testCaseName]); - } else { - sel = NSSelectorFromString([NSString stringWithFormat:@"test_%@_%u", example.testCaseName, i]); - } - } while([self instancesRespondToSelector:sel]); - - class_addMethod(self, sel, imp, "@@:"); - example.testMethodSelector = sel; - } - } - - return example.testMethodSelector; -} - -+ (void)spt_setCurrentTestSuite { - SPTTestSuite *testSuite = [self spt_testSuite]; - [[NSThread currentThread] threadDictionary][spt_kCurrentTestSuiteKey] = testSuite; -} - -+ (void)spt_unsetCurrentTestSuite { - [[[NSThread currentThread] threadDictionary] removeObjectForKey:spt_kCurrentTestSuiteKey]; -} - -+ (void)spt_setCurrentTestSuiteFileName:(NSString *)fileName lineNumber:(NSUInteger)lineNumber { - SPTTestSuite *testSuite = [self spt_testSuite]; - testSuite.fileName = fileName; - testSuite.lineNumber = lineNumber; -} - -- (void)spec {} - -- (BOOL)spt_shouldRunExample:(SPTCompiledExample *)example { - return [[self class] spt_isDisabled] == NO && - (example.focused || [[self class] spt_focusedExamplesExist] == NO); -} - -- (void)spt_runExample:(SPTCompiledExample *)example { - [[NSThread currentThread] threadDictionary][spt_kCurrentSpecKey] = self; - - if ([self spt_shouldRunExample:example]) { - self.spt_pending = example.pending; - example.block(self); - } else if (!example.pending) { - self.spt_skipped = YES; - } - - [[[NSThread currentThread] threadDictionary] removeObjectForKey:spt_kCurrentSpecKey]; -} - -#pragma mark - XCTestCase overrides - -+ (NSArray *)testInvocations { - NSArray *compiledExamples = [self spt_testSuite].compiledExamples; - [NSMutableArray arrayWithCapacity:[compiledExamples count]]; - - NSMutableSet *addedSelectors = [NSMutableSet setWithCapacity:[compiledExamples count]]; - NSMutableArray *selectors = [NSMutableArray arrayWithCapacity:[compiledExamples count]]; - - // dynamically generate test methods with compiled examples - for (SPTCompiledExample *example in compiledExamples) { - SEL sel = [self spt_convertToTestMethod:example]; - NSString *selName = NSStringFromSelector(sel); - [selectors addObject: selName]; - [addedSelectors addObject: selName]; - } - - // look for any other test methods that may be present in class. - unsigned int n; - Method *imethods = class_copyMethodList(self, &n); - - for (NSUInteger i = 0; i < n; i++) { - struct objc_method_description *desc = method_getDescription(imethods[i]); - - char *types = desc->types; - SEL sel = desc->name; - NSString *selName = NSStringFromSelector(sel); - - if (strcmp(types, "@@:") == 0 && [selName hasPrefix:@"test"] && ![addedSelectors containsObject:selName]) { - [selectors addObject:NSStringFromSelector(sel)]; - } - } - - free(imethods); - - // create invocations from test method selectors - NSMutableArray *invocations = [NSMutableArray arrayWithCapacity:[selectors count]]; - for (NSString *selName in selectors) { - SEL sel = NSSelectorFromString(selName); - NSInvocation *inv = [NSInvocation invocationWithMethodSignature:[self instanceMethodSignatureForSelector:sel]]; - [inv setSelector:sel]; - [invocations addObject:inv]; - } - - return spt_shuffle(invocations); -} - -- (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)filename atLine:(NSUInteger)lineNumber expected:(BOOL)expected { - SPTSpec *currentSpec = SPTCurrentSpec; - [currentSpec.spt_run recordFailureWithDescription:description inFile:filename atLine:lineNumber expected:expected]; -} - -- (void)performTest:(XCTestRun *)run { - self.spt_run = (XCTestCaseRun *)run; - [super performTest:run]; -} - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/SPTTestSuite.h b/Sample/Pods/Specta/Specta/Specta/SPTTestSuite.h deleted file mode 100644 index 9bd9016..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTTestSuite.h +++ /dev/null @@ -1,21 +0,0 @@ -#import - -@class - SPTExample -, SPTExampleGroup -; - -@interface SPTTestSuite : NSObject - -@property (nonatomic, strong) SPTExampleGroup *rootGroup; -@property (nonatomic, strong) NSMutableArray *groupStack; -@property (nonatomic, strong) NSArray *compiledExamples; -@property (nonatomic, copy) NSString *fileName; -@property (nonatomic) NSUInteger lineNumber; -@property (nonatomic, getter = isDisabled) BOOL disabled; -@property (nonatomic) BOOL hasFocusedExamples; - -- (SPTExampleGroup *)currentGroup; -- (void)compile; - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/SPTTestSuite.m b/Sample/Pods/Specta/Specta/Specta/SPTTestSuite.m deleted file mode 100644 index 7053edd..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SPTTestSuite.m +++ /dev/null @@ -1,31 +0,0 @@ -#import "SPTTestSuite.h" -#import "SPTExampleGroup.h" -#import "SPTCompiledExample.h" - -@implementation SPTTestSuite - -- (id)init { - self = [super init]; - if (self) { - self.rootGroup = [[SPTExampleGroup alloc] init]; - self.rootGroup.root = self.rootGroup; - self.groupStack = [NSMutableArray arrayWithObject:self.rootGroup]; - } - return self; -} - -- (SPTExampleGroup *)currentGroup { - return [self.groupStack lastObject]; -} - -- (void)compile { - self.compiledExamples = [self.rootGroup compileExamplesWithStack:@[]]; - for (SPTCompiledExample *example in self.compiledExamples) { - if (example.focused) { - self.hasFocusedExamples = YES; - break; - } - } -} - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/Specta.h b/Sample/Pods/Specta/Specta/Specta/Specta.h deleted file mode 100644 index dda17f9..0000000 --- a/Sample/Pods/Specta/Specta/Specta/Specta.h +++ /dev/null @@ -1,14 +0,0 @@ -#import -#import - -//! Project version number for Specta. -FOUNDATION_EXPORT double SpectaVersionNumber; - -//! Project version string for Specta. -FOUNDATION_EXPORT const unsigned char SpectaVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - -#import -#import -#import diff --git a/Sample/Pods/Specta/Specta/Specta/SpectaDSL.h b/Sample/Pods/Specta/Specta/Specta/SpectaDSL.h deleted file mode 100644 index 284d4f5..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SpectaDSL.h +++ /dev/null @@ -1,90 +0,0 @@ -#import - -#define SpecBegin(name) _SPTSpecBegin(name, __FILE__, __LINE__) -#define SpecEnd _SPTSpecEnd - -#define SharedExamplesBegin(name) _SPTSharedExampleGroupsBegin(name) -#define SharedExamplesEnd _SPTSharedExampleGroupsEnd -#define SharedExampleGroupsBegin(name) _SPTSharedExampleGroupsBegin(name) -#define SharedExampleGroupsEnd _SPTSharedExampleGroupsEnd - -typedef void (^DoneCallback)(void); - -OBJC_EXTERN void describe(NSString *name, void (^block)()); -OBJC_EXTERN void fdescribe(NSString *name, void (^block)()); - -OBJC_EXTERN void context(NSString *name, void (^block)()); -OBJC_EXTERN void fcontext(NSString *name, void (^block)()); - -OBJC_EXTERN void it(NSString *name, void (^block)()); -OBJC_EXTERN void fit(NSString *name, void (^block)()); - -OBJC_EXTERN void example(NSString *name, void (^block)()); -OBJC_EXTERN void fexample(NSString *name, void (^block)()); - -OBJC_EXTERN void specify(NSString *name, void (^block)()); -OBJC_EXTERN void fspecify(NSString *name, void (^block)()); - -#define pending(...) spt_pending_(__VA_ARGS__, nil) -#define xdescribe(...) spt_pending_(__VA_ARGS__, nil) -#define xcontext(...) spt_pending_(__VA_ARGS__, nil) -#define xexample(...) spt_pending_(__VA_ARGS__, nil) -#define xit(...) spt_pending_(__VA_ARGS__, nil) -#define xspecify(...) spt_pending_(__VA_ARGS__, nil) - -OBJC_EXTERN void beforeAll(void (^block)()); -OBJC_EXTERN void afterAll(void (^block)()); - -OBJC_EXTERN void beforeEach(void (^block)()); -OBJC_EXTERN void afterEach(void (^block)()); - -OBJC_EXTERN void before(void (^block)()); -OBJC_EXTERN void after(void (^block)()); - -OBJC_EXTERN void sharedExamplesFor(NSString *name, void (^block)(NSDictionary *data)); -OBJC_EXTERN void sharedExamples(NSString *name, void (^block)(NSDictionary *data)); - -#define itShouldBehaveLike(...) spt_itShouldBehaveLike_(@(__FILE__), __LINE__, __VA_ARGS__) -#define itBehavesLike(...) spt_itShouldBehaveLike_(@(__FILE__), __LINE__, __VA_ARGS__) - -OBJC_EXTERN void waitUntil(void (^block)(DoneCallback done)); -/** - * Runs the @c block and waits until the @c done block is called or the - * @c timeout has passed. - * - * @param timeout timeout for this @c block only; does not affect the global - * timeout, as @c setAsyncSpecTimeout() does. - * @param ^block runs test code - */ -OBJC_EXTERN void waitUntilTimeout(NSTimeInterval timeout, void (^block)(DoneCallback done)); - -OBJC_EXTERN void setAsyncSpecTimeout(NSTimeInterval timeout); - -// ---------------------------------------------------------------------------- - -#define _SPTSpecBegin(name, file, line) \ -@interface name##Spec : SPTSpec \ -@end \ -@implementation name##Spec \ -- (void)spec { \ - [[self class] spt_setCurrentTestSuiteFileName:(@(file)) lineNumber:(line)]; - -#define _SPTSpecEnd \ -} \ -@end - -#define _SPTSharedExampleGroupsBegin(name) \ -@interface name##SharedExampleGroups : SPTSharedExampleGroups \ -@end \ -@implementation name##SharedExampleGroups \ -- (void)sharedExampleGroups { - -#define _SPTSharedExampleGroupsEnd \ -} \ -@end - -OBJC_EXTERN void spt_it_(NSString *name, NSString *fileName, NSUInteger lineNumber, void (^block)()); -OBJC_EXTERN void spt_fit_(NSString *name, NSString *fileName, NSUInteger lineNumber, void (^block)()); -OBJC_EXTERN void spt_pending_(NSString *name, ...); -OBJC_EXTERN void spt_itShouldBehaveLike_(NSString *fileName, NSUInteger lineNumber, NSString *name, id dictionaryOrBlock); -OBJC_EXTERN void spt_itShouldBehaveLike_block(NSString *fileName, NSUInteger lineNumber, NSString *name, NSDictionary *(^block)()); diff --git a/Sample/Pods/Specta/Specta/Specta/SpectaDSL.m b/Sample/Pods/Specta/Specta/Specta/SpectaDSL.m deleted file mode 100644 index 10edcd5..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SpectaDSL.m +++ /dev/null @@ -1,189 +0,0 @@ -#import "SpectaDSL.h" -#import "SpectaTypes.h" -#import "SpectaUtility.h" -#import "SPTTestSuite.h" -#import "SPTExampleGroup.h" -#import "SPTSharedExampleGroups.h" -#import "SPTSpec.h" -#import "SPTCallSite.h" -#import - -static NSTimeInterval asyncSpecTimeout = 10.0; - -static void spt_defineItBlock(NSString *name, NSString *fileName, NSUInteger lineNumber, BOOL focused, void (^block)()) { - SPTReturnUnlessBlockOrNil(block); - SPTCallSite *site = nil; - if (lineNumber && fileName) { - site = [SPTCallSite callSiteWithFile:fileName line:lineNumber]; - } - [SPTCurrentGroup addExampleWithName:name callSite:site focused:focused block:block]; -} - -static void spt_defineDescribeBlock(NSString *name, BOOL focused, void (^block)()) { - if (block) { - [SPTGroupStack addObject:[SPTCurrentGroup addExampleGroupWithName:name focused:focused]]; - block(); - [SPTGroupStack removeLastObject]; - } else { - spt_defineItBlock(name, nil, 0, focused, nil); - } -} - -void spt_it_(NSString *name, NSString *fileName, NSUInteger lineNumber, void (^block)()) { - spt_defineItBlock(name, fileName, lineNumber, NO, block); -} - -void spt_fit_(NSString *name, NSString *fileName, NSUInteger lineNumber, void (^block)()) { - spt_defineItBlock(name, fileName, lineNumber, YES, block); -} - -void spt_pending_(NSString *name, ...) { - spt_defineItBlock(name, nil, 0, NO, nil); -} - -void spt_itShouldBehaveLike_(NSString *fileName, NSUInteger lineNumber, NSString *name, id dictionaryOrBlock) { - SPTDictionaryBlock block = [SPTSharedExampleGroups sharedExampleGroupWithName:name exampleGroup:SPTCurrentGroup]; - if (block) { - if (SPTIsBlock(dictionaryOrBlock)) { - id (^dataBlock)(void) = [dictionaryOrBlock copy]; - - describe(name, ^{ - __block NSMutableDictionary *dataDict = [[NSMutableDictionary alloc] init]; - - beforeEach(^{ - NSDictionary *blockData = dataBlock(); - [dataDict removeAllObjects]; - [dataDict addEntriesFromDictionary:blockData]; - }); - - block(dataDict); - - afterAll(^{ - dataDict = nil; - }); - }); - } else { - NSDictionary *data = dictionaryOrBlock; - - describe(name, ^{ - block(data); - }); - } - } else { - SPTSpec *currentSpec = SPTCurrentSpec; - if (currentSpec) { - [currentSpec recordFailureWithDescription:@"itShouldBehaveLike should not be invoked inside an example block!" inFile:fileName atLine:lineNumber expected:NO]; - } else { - it(name, ^{ - [SPTCurrentSpec recordFailureWithDescription:[NSString stringWithFormat:@"Shared example group \"%@\" does not exist.", name] inFile:fileName atLine:lineNumber expected:NO]; - }); - } - } -} - -void spt_itShouldBehaveLike_block(NSString *fileName, NSUInteger lineNumber, NSString *name, NSDictionary *(^block)()) { - spt_itShouldBehaveLike_(fileName, lineNumber, name, (id)block); -} - -void describe(NSString *name, void (^block)()) { - spt_defineDescribeBlock(name, NO, block); -} - -void fdescribe(NSString *name, void (^block)()) { - spt_defineDescribeBlock(name, YES, block); -} - -void context(NSString *name, void (^block)()) { - describe(name, block); -} - -void fcontext(NSString *name, void (^block)()) { - fdescribe(name, block); -} - -void it(NSString *name, void (^block)()) { - spt_defineItBlock(name, nil, 0, NO, block); -} - -void fit(NSString *name, void (^block)()) { - spt_defineItBlock(name, nil, 0, YES, block); -} - -void example(NSString *name, void (^block)()) { - it(name, block); -} - -void fexample(NSString *name, void (^block)()) { - fit(name, block); -} - -void specify(NSString *name, void (^block)()) { - it(name, block); -} - -void fspecify(NSString *name, void (^block)()) { - fit(name, block); -} - -void beforeAll(void (^block)()) { - SPTReturnUnlessBlockOrNil(block); - [SPTCurrentGroup addBeforeAllBlock:block]; -} - -void afterAll(void (^block)()) { - SPTReturnUnlessBlockOrNil(block); - [SPTCurrentGroup addAfterAllBlock:block]; -} - -void beforeEach(void (^block)()) { - SPTReturnUnlessBlockOrNil(block); - [SPTCurrentGroup addBeforeEachBlock:block]; -} - -void afterEach(void (^block)()) { - SPTReturnUnlessBlockOrNil(block); - [SPTCurrentGroup addAfterEachBlock:block]; -} - -void before(void (^block)()) { - beforeEach(block); -} - -void after(void (^block)()) { - afterEach(block); -} - -void sharedExamplesFor(NSString *name, void (^block)(NSDictionary *data)) { - [SPTSharedExampleGroups addSharedExampleGroupWithName:name block:block exampleGroup:SPTCurrentGroup]; -} - -void sharedExamples(NSString *name, void (^block)(NSDictionary *data)) { - sharedExamplesFor(name, block); -} - -void waitUntil(void (^block)(DoneCallback done)) { - waitUntilTimeout(asyncSpecTimeout, block); -} - -void waitUntilTimeout(NSTimeInterval timeout, void (^block)(DoneCallback done)) { - __block uint32_t complete = 0; - dispatch_async(dispatch_get_main_queue(), ^{ - block(^{ - OSAtomicOr32Barrier(1, &complete); - }); - }); - NSDate *timeoutDate = [NSDate dateWithTimeIntervalSinceNow:timeout]; - while (!complete && [timeoutDate timeIntervalSinceNow] > 0) { - [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]]; - } - if (!complete) { - NSString *message = [NSString stringWithFormat:@"failed to invoke done() callback before timeout (%f seconds)", timeout]; - SPTSpec *currentSpec = SPTCurrentSpec; - SPTTestSuite *testSuite = [[currentSpec class] spt_testSuite]; - [currentSpec recordFailureWithDescription:message inFile:testSuite.fileName atLine:testSuite.lineNumber expected:YES]; - } -} - -void setAsyncSpecTimeout(NSTimeInterval timeout) { - asyncSpecTimeout = timeout; -} diff --git a/Sample/Pods/Specta/Specta/Specta/SpectaTypes.h b/Sample/Pods/Specta/Specta/Specta/SpectaTypes.h deleted file mode 100644 index f1f0ae3..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SpectaTypes.h +++ /dev/null @@ -1,5 +0,0 @@ -@class SPTSpec; - -typedef void (^SPTVoidBlock)(); -typedef void (^SPTSpecBlock)(SPTSpec *spec); -typedef void (^SPTDictionaryBlock)(NSDictionary *dictionary); diff --git a/Sample/Pods/Specta/Specta/Specta/SpectaUtility.h b/Sample/Pods/Specta/Specta/Specta/SpectaUtility.h deleted file mode 100644 index a3a8f07..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SpectaUtility.h +++ /dev/null @@ -1,18 +0,0 @@ -#import - -extern NSString * const spt_kCurrentTestSuiteKey; -extern NSString * const spt_kCurrentSpecKey; - -#define SPTCurrentTestSuite [[NSThread mainThread] threadDictionary][spt_kCurrentTestSuiteKey] -#define SPTCurrentSpec [[NSThread mainThread] threadDictionary][spt_kCurrentSpecKey] -#define SPTCurrentGroup [SPTCurrentTestSuite currentGroup] -#define SPTGroupStack [SPTCurrentTestSuite groupStack] - -#define SPTReturnUnlessBlockOrNil(block) if ((block) && !SPTIsBlock((block))) return; -#define SPTIsBlock(obj) [(obj) isKindOfClass:NSClassFromString(@"NSBlock")] - -BOOL spt_isSpecClass(Class aClass); -NSString *spt_underscorize(NSString *string); -NSArray *spt_map(NSArray *array, id (^block)(id obj, NSUInteger idx)); -NSArray *spt_shuffle(NSArray *array); -unsigned int spt_seed(); diff --git a/Sample/Pods/Specta/Specta/Specta/SpectaUtility.m b/Sample/Pods/Specta/Specta/Specta/SpectaUtility.m deleted file mode 100644 index 9b2ee80..0000000 --- a/Sample/Pods/Specta/Specta/Specta/SpectaUtility.m +++ /dev/null @@ -1,79 +0,0 @@ -#import "SpectaUtility.h" -#import "SPTSpec.h" -#import - -NSString * const spt_kCurrentTestSuiteKey = @"SPTCurrentTestSuite"; -NSString * const spt_kCurrentSpecKey = @"SPTCurrentSpec"; - -static unsigned int seed = 0; - -BOOL spt_isSpecClass(Class aClass) { - Class superclass = class_getSuperclass(aClass); - while (superclass != Nil) { - if (superclass == [SPTSpec class]) { - return YES; - } else { - superclass = class_getSuperclass(superclass); - } - } - return NO; -} - -NSString *spt_underscorize(NSString *string) { - static NSMutableCharacterSet *invalidCharSet; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - invalidCharSet = [[NSMutableCharacterSet alloc] init]; - [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet controlCharacterSet]]; - [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet illegalCharacterSet]]; - [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet newlineCharacterSet]]; - [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet nonBaseCharacterSet]]; - [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]]; - [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet symbolCharacterSet]]; - }); - NSString *stripped = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; - stripped = [[stripped componentsSeparatedByCharactersInSet:invalidCharSet] componentsJoinedByString:@""]; - - NSArray *components = [stripped componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; - stripped = [[components objectsAtIndexes:[components indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { - return ![obj isEqualToString:@""]; - }]] componentsJoinedByString:@"_"]; - return stripped; -} - -NSArray *spt_map(NSArray *array, id (^block)(id obj, NSUInteger idx)) { - NSMutableArray *mapped = [NSMutableArray arrayWithCapacity:[array count]]; - [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { - [mapped addObject:block(obj, idx)]; - }]; - return mapped; -} - -NSArray *spt_shuffle(NSArray *array) { - if (![[[[NSProcessInfo processInfo] environment] objectForKey:@"SPECTA_SHUFFLE"] isEqualToString:@"1"]) { - return array; - } - spt_seed(); - NSMutableArray *shuffled = [array mutableCopy]; - NSUInteger count = [shuffled count]; - for (NSUInteger i = 0; i < count; i++) { - NSUInteger r = random() % count; - [shuffled exchangeObjectAtIndex:i withObjectAtIndex:r]; - } - return shuffled; -} - -unsigned int spt_seed() { - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - NSString *envSeed = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPECTA_SEED"]; - if (envSeed) { - sscanf([envSeed UTF8String], "%u", &seed); - } else { - seed = arc4random(); - } - srandom(seed); - printf("Test Seed: %u\n", seed); - }); - return seed; -} diff --git a/Sample/Pods/Specta/Specta/Specta/XCTest+Private.h b/Sample/Pods/Specta/Specta/Specta/XCTest+Private.h deleted file mode 100644 index c88fcc9..0000000 --- a/Sample/Pods/Specta/Specta/Specta/XCTest+Private.h +++ /dev/null @@ -1,41 +0,0 @@ -#import - -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000 || __MAC_OS_X_VERSION_MAX_ALLOWED >= 101100 - -@interface XCTestObservationCenter (SPTTestSuspention) - -- (void)_suspendObservationForBlock:(void (^)(void))block; - -@end - -#else - -@interface XCTestObservationCenter : NSObject - -+ (id)sharedObservationCenter; -- (void)_suspendObservationForBlock:(void (^)(void))block; - -@end - -@protocol XCTestObservation -@end - - -#endif - -@interface _XCTestDriverTestObserver : NSObject - -- (void)stopObserving; -- (void)startObserving; - -@end - -@interface _XCTestCaseImplementation : NSObject -@end - -@interface XCTestCase () - -- (_XCTestCaseImplementation *)internalImplementation; -- (void)_recordUnexpectedFailureWithDescription:(NSString *)description exception:(NSException *)exception; - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/XCTestCase+Specta.h b/Sample/Pods/Specta/Specta/Specta/XCTestCase+Specta.h deleted file mode 100644 index 9ca8f8a..0000000 --- a/Sample/Pods/Specta/Specta/Specta/XCTestCase+Specta.h +++ /dev/null @@ -1,7 +0,0 @@ -#import - -@interface XCTestCase (Specta) - -- (void)spt_handleException:(NSException *)exception; - -@end diff --git a/Sample/Pods/Specta/Specta/Specta/XCTestCase+Specta.m b/Sample/Pods/Specta/Specta/Specta/XCTestCase+Specta.m deleted file mode 100644 index 4c503ee..0000000 --- a/Sample/Pods/Specta/Specta/Specta/XCTestCase+Specta.m +++ /dev/null @@ -1,65 +0,0 @@ -#import -#import "XCTestCase+Specta.h" -#import "SPTSpec.h" -#import "SPTExample.h" -#import "SPTSharedExampleGroups.h" -#import "SpectaUtility.h" -#import "XCTest+Private.h" - -@interface XCTestCase (xct_allSubclasses) - -- (NSArray *)allSubclasses; -- (void)_dequeueFailures; - -@end - -@implementation XCTestCase (Specta) - -+ (void)load { - Method allSubclasses = class_getClassMethod(self, @selector(allSubclasses)); - Method allSubclasses_swizzle = class_getClassMethod(self , @selector(spt_allSubclasses_swizzle)); - method_exchangeImplementations(allSubclasses, allSubclasses_swizzle); - - Method dequeueFailures = class_getInstanceMethod(self, @selector(_dequeueFailures)); - Method dequeueFailures_swizzle = class_getInstanceMethod(self, @selector(spt_dequeueFailures)); - method_exchangeImplementations(dequeueFailures, dequeueFailures_swizzle); -} - -+ (NSArray *)spt_allSubclasses_swizzle { - NSArray *subclasses = [self spt_allSubclasses_swizzle]; // call original - NSMutableArray *filtered = [NSMutableArray arrayWithCapacity:[subclasses count]]; - // exclude SPTSpec base class and all subclasses of SPTSharedExampleGroups - for (id subclass in subclasses) { - if (subclass != [SPTSpec class] && ![subclass isKindOfClass:[SPTSharedExampleGroups class]]) { - [filtered addObject:subclass]; - } - } - return spt_shuffle(filtered); -} - -- (void)spt_dequeueFailures { - void(^dequeueFailures)() = ^() { - [self spt_dequeueFailures]; - }; - - if ([NSThread isMainThread]) { - dequeueFailures(); - } else { - dispatch_sync(dispatch_get_main_queue(), dequeueFailures); - } -} - -- (void)spt_handleException:(NSException *)exception { - NSString *description = [exception reason]; - if ([exception userInfo]) { - id line = [exception userInfo][@"line"]; - id file = [exception userInfo][@"file"]; - if ([line isKindOfClass:[NSNumber class]] && [file isKindOfClass:[NSString class]]) { - [self recordFailureWithDescription:description inFile:file atLine:[line unsignedIntegerValue] expected:YES]; - return; - } - } - [self _recordUnexpectedFailureWithDescription:description exception:exception]; -} - -@end diff --git a/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots-dummy.m b/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots-dummy.m deleted file mode 100644 index a28cba4..0000000 --- a/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Expecta_Snapshots : NSObject -@end -@implementation PodsDummy_Expecta_Snapshots -@end diff --git a/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots-prefix.pch b/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots-prefix.pch deleted file mode 100644 index aa992a4..0000000 --- a/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots-prefix.pch +++ /dev/null @@ -1,4 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - diff --git a/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots-umbrella.h b/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots-umbrella.h deleted file mode 100644 index f065e56..0000000 --- a/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots-umbrella.h +++ /dev/null @@ -1,8 +0,0 @@ -#import - -#import "ExpectaObject+FBSnapshotTest.h" -#import "EXPMatchers+FBSnapshotTest.h" - -FOUNDATION_EXPORT double Expecta_SnapshotsVersionNumber; -FOUNDATION_EXPORT const unsigned char Expecta_SnapshotsVersionString[]; - diff --git a/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots.modulemap b/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots.modulemap deleted file mode 100644 index 15f364a..0000000 --- a/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Expecta_Snapshots { - umbrella header "Expecta+Snapshots-umbrella.h" - - export * - module * { export * } -} diff --git a/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots.xcconfig b/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots.xcconfig deleted file mode 100644 index 26dfe1e..0000000 --- a/Sample/Pods/Target Support Files/Expecta+Snapshots/Expecta+Snapshots.xcconfig +++ /dev/null @@ -1,6 +0,0 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Expecta+Snapshots" "${PODS_ROOT}/Headers/Public" -OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest" -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Sample/Pods/Target Support Files/Expecta+Snapshots/Info.plist b/Sample/Pods/Target Support Files/Expecta+Snapshots/Info.plist deleted file mode 100644 index dc92af9..0000000 --- a/Sample/Pods/Target Support Files/Expecta+Snapshots/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Sample/Pods/Target Support Files/Expecta/Expecta-dummy.m b/Sample/Pods/Target Support Files/Expecta/Expecta-dummy.m deleted file mode 100644 index c4c252a..0000000 --- a/Sample/Pods/Target Support Files/Expecta/Expecta-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Expecta : NSObject -@end -@implementation PodsDummy_Expecta -@end diff --git a/Sample/Pods/Target Support Files/Expecta/Expecta-prefix.pch b/Sample/Pods/Target Support Files/Expecta/Expecta-prefix.pch deleted file mode 100644 index aa992a4..0000000 --- a/Sample/Pods/Target Support Files/Expecta/Expecta-prefix.pch +++ /dev/null @@ -1,4 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - diff --git a/Sample/Pods/Target Support Files/Expecta/Expecta-umbrella.h b/Sample/Pods/Target Support Files/Expecta/Expecta-umbrella.h deleted file mode 100644 index 79e1308..0000000 --- a/Sample/Pods/Target Support Files/Expecta/Expecta-umbrella.h +++ /dev/null @@ -1,45 +0,0 @@ -#import - -#import "EXPBlockDefinedMatcher.h" -#import "EXPDefines.h" -#import "EXPDoubleTuple.h" -#import "Expecta.h" -#import "ExpectaObject.h" -#import "ExpectaSupport.h" -#import "EXPExpect.h" -#import "EXPFloatTuple.h" -#import "EXPMatcher.h" -#import "EXPUnsupportedObject.h" -#import "EXPMatcherHelpers.h" -#import "EXPMatchers+beCloseTo.h" -#import "EXPMatchers+beFalsy.h" -#import "EXPMatchers+beginWith.h" -#import "EXPMatchers+beGreaterThan.h" -#import "EXPMatchers+beGreaterThanOrEqualTo.h" -#import "EXPMatchers+beIdenticalTo.h" -#import "EXPMatchers+beInstanceOf.h" -#import "EXPMatchers+beInTheRangeOf.h" -#import "EXPMatchers+beKindOf.h" -#import "EXPMatchers+beLessThan.h" -#import "EXPMatchers+beLessThanOrEqualTo.h" -#import "EXPMatchers+beNil.h" -#import "EXPMatchers+beSubclassOf.h" -#import "EXPMatchers+beSupersetOf.h" -#import "EXPMatchers+beTruthy.h" -#import "EXPMatchers+conformTo.h" -#import "EXPMatchers+contain.h" -#import "EXPMatchers+endWith.h" -#import "EXPMatchers+equal.h" -#import "EXPMatchers+haveCountOf.h" -#import "EXPMatchers+match.h" -#import "EXPMatchers+postNotification.h" -#import "EXPMatchers+raise.h" -#import "EXPMatchers+raiseWithReason.h" -#import "EXPMatchers+respondTo.h" -#import "EXPMatchers.h" -#import "NSObject+Expecta.h" -#import "NSValue+Expecta.h" - -FOUNDATION_EXPORT double ExpectaVersionNumber; -FOUNDATION_EXPORT const unsigned char ExpectaVersionString[]; - diff --git a/Sample/Pods/Target Support Files/Expecta/Expecta.modulemap b/Sample/Pods/Target Support Files/Expecta/Expecta.modulemap deleted file mode 100644 index e06f902..0000000 --- a/Sample/Pods/Target Support Files/Expecta/Expecta.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Expecta { - umbrella header "Expecta-umbrella.h" - - export * - module * { export * } -} diff --git a/Sample/Pods/Target Support Files/Expecta/Expecta.xcconfig b/Sample/Pods/Target Support Files/Expecta/Expecta.xcconfig deleted file mode 100644 index 1782198..0000000 --- a/Sample/Pods/Target Support Files/Expecta/Expecta.xcconfig +++ /dev/null @@ -1,7 +0,0 @@ -ENABLE_BITCODE = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Expecta" "${PODS_ROOT}/Headers/Public" -OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest" -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Sample/Pods/Target Support Files/Expecta/Info.plist b/Sample/Pods/Target Support Files/Expecta/Info.plist deleted file mode 100644 index 135c3f4..0000000 --- a/Sample/Pods/Target Support Files/Expecta/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.5 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m b/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m deleted file mode 100644 index fb0c8fe..0000000 --- a/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_FBSnapshotTestCase : NSObject -@end -@implementation PodsDummy_FBSnapshotTestCase -@end diff --git a/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch b/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch deleted file mode 100644 index aa992a4..0000000 --- a/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch +++ /dev/null @@ -1,4 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - diff --git a/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h b/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h deleted file mode 100644 index 8fa9a1c..0000000 --- a/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h +++ /dev/null @@ -1,9 +0,0 @@ -#import - -#import "FBSnapshotTestCase.h" -#import "FBSnapshotTestCasePlatform.h" -#import "FBSnapshotTestController.h" - -FOUNDATION_EXPORT double FBSnapshotTestCaseVersionNumber; -FOUNDATION_EXPORT const unsigned char FBSnapshotTestCaseVersionString[]; - diff --git a/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap b/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap deleted file mode 100644 index 1d3e6ca..0000000 --- a/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap +++ /dev/null @@ -1,10 +0,0 @@ -framework module FBSnapshotTestCase { - umbrella header "FBSnapshotTestCase-umbrella.h" - - export * - module * { export * } - - private header "UIImage+Compare.h" - private header "UIImage+Diff.h" - private header "UIImage+Snapshot.h" -} diff --git a/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.xcconfig b/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.xcconfig deleted file mode 100644 index aa20349..0000000 --- a/Sample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.xcconfig +++ /dev/null @@ -1,7 +0,0 @@ -ENABLE_BITCODE = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/FBSnapshotTestCase" "${PODS_ROOT}/Headers/Public" -OTHER_LDFLAGS = -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -framework "XCTest" -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Sample/Pods/Target Support Files/FBSnapshotTestCase/Info.plist b/Sample/Pods/Target Support Files/FBSnapshotTestCase/Info.plist deleted file mode 100644 index 93c8cbd..0000000 --- a/Sample/Pods/Target Support Files/FBSnapshotTestCase/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 2.1.1 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Sample/Pods/Target Support Files/OCMock/Info.plist b/Sample/Pods/Target Support Files/OCMock/Info.plist deleted file mode 100644 index ca4871d..0000000 --- a/Sample/Pods/Target Support Files/OCMock/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.3 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Sample/Pods/Target Support Files/OCMock/OCMock-dummy.m b/Sample/Pods/Target Support Files/OCMock/OCMock-dummy.m deleted file mode 100644 index 7e5d150..0000000 --- a/Sample/Pods/Target Support Files/OCMock/OCMock-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_OCMock : NSObject -@end -@implementation PodsDummy_OCMock -@end diff --git a/Sample/Pods/Target Support Files/OCMock/OCMock-prefix.pch b/Sample/Pods/Target Support Files/OCMock/OCMock-prefix.pch deleted file mode 100644 index aa992a4..0000000 --- a/Sample/Pods/Target Support Files/OCMock/OCMock-prefix.pch +++ /dev/null @@ -1,4 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - diff --git a/Sample/Pods/Target Support Files/OCMock/OCMock-umbrella.h b/Sample/Pods/Target Support Files/OCMock/OCMock-umbrella.h deleted file mode 100644 index d6cbe04..0000000 --- a/Sample/Pods/Target Support Files/OCMock/OCMock-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#import - -#import "OCMock.h" -#import "OCMockObject.h" -#import "OCMArg.h" -#import "OCMConstraint.h" -#import "OCMLocation.h" -#import "OCMMacroState.h" -#import "OCMRecorder.h" -#import "OCMStubRecorder.h" -#import "NSNotificationCenter+OCMAdditions.h" -#import "OCMFunctions.h" - -FOUNDATION_EXPORT double OCMockVersionNumber; -FOUNDATION_EXPORT const unsigned char OCMockVersionString[]; - diff --git a/Sample/Pods/Target Support Files/OCMock/OCMock.modulemap b/Sample/Pods/Target Support Files/OCMock/OCMock.modulemap deleted file mode 100644 index 8fe04ae..0000000 --- a/Sample/Pods/Target Support Files/OCMock/OCMock.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module OCMock { - umbrella header "OCMock-umbrella.h" - - export * - module * { export * } -} diff --git a/Sample/Pods/Target Support Files/OCMock/OCMock.xcconfig b/Sample/Pods/Target Support Files/OCMock/OCMock.xcconfig deleted file mode 100644 index 432e666..0000000 --- a/Sample/Pods/Target Support Files/OCMock/OCMock.xcconfig +++ /dev/null @@ -1,4 +0,0 @@ -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/OCMock" "${PODS_ROOT}/Headers/Public" -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Sample/Pods/Target Support Files/Pods-SampleTests/Info.plist b/Sample/Pods/Target Support Files/Pods-SampleTests/Info.plist deleted file mode 100644 index 6974542..0000000 --- a/Sample/Pods/Target Support Files/Pods-SampleTests/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-acknowledgements.markdown b/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-acknowledgements.markdown deleted file mode 100644 index 8c25aac..0000000 --- a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-acknowledgements.markdown +++ /dev/null @@ -1,290 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: - -## Expecta - -Copyright (c) 2011-2015 Specta Team - https://github.com/specta - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -## Expecta+Snapshots - -MIT License - -Copyright (c) 2014 Daniel Doubrovkine, Artsy Inc. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -## FBSnapshotTestCase - -BSD License - -For the FBSnapshotTestCase software - -Copyright (c) 2013, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -## OCMock - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - -## Specta - -Copyright (c) 2012-2014 Specta Team. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -Generated by CocoaPods - http://cocoapods.org diff --git a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-acknowledgements.plist b/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-acknowledgements.plist deleted file mode 100644 index 370900a..0000000 --- a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-acknowledgements.plist +++ /dev/null @@ -1,336 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2011-2015 Specta Team - https://github.com/specta - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - Title - Expecta - Type - PSGroupSpecifier - - - FooterText - MIT License - -Copyright (c) 2014 Daniel Doubrovkine, Artsy Inc. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - Title - Expecta+Snapshots - Type - PSGroupSpecifier - - - FooterText - BSD License - -For the FBSnapshotTestCase software - -Copyright (c) 2013, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Title - FBSnapshotTestCase - Type - PSGroupSpecifier - - - FooterText - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Title - OCMock - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2012-2014 Specta Team. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - Title - Specta - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - http://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-dummy.m b/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-dummy.m deleted file mode 100644 index 01b4ad7..0000000 --- a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_SampleTests : NSObject -@end -@implementation PodsDummy_Pods_SampleTests -@end diff --git a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-frameworks.sh b/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-frameworks.sh deleted file mode 100755 index cebd44c..0000000 --- a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-frameworks.sh +++ /dev/null @@ -1,99 +0,0 @@ -#!/bin/sh -set -e - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -install_framework() -{ - if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then - local source="${BUILT_PRODUCTS_DIR}/$1" - elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then - local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" - elif [ -r "$1" ]; then - local source="$1" - fi - - local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" - fi - - # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" - - local basename - basename="$(basename -s .framework "$1")" - binary="${destination}/${basename}.framework/${basename}" - if ! [ -r "$binary" ]; then - binary="${destination}/${basename}" - fi - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then - strip_invalid_archs "$binary" - fi - - # Resign the code if required by the build settings to avoid unstable apps - code_sign_if_enabled "${destination}/$(basename "$1")" - - # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. - if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - code_sign_if_enabled "${destination}/${lib}" - done - fi -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements \"$1\"" - /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" - fi -} - -# Strip invalid architectures -strip_invalid_archs() { - binary="$1" - # Get architectures for current file - archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" - stripped="" - for arch in $archs; do - if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then - # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 - stripped="$stripped $arch" - fi - done - if [[ "$stripped" ]]; then - echo "Stripped $binary of architectures:$stripped" - fi -} - - -if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "Pods-SampleTests/Expecta.framework" - install_framework "Pods-SampleTests/Expecta_Snapshots.framework" - install_framework "Pods-SampleTests/FBSnapshotTestCase.framework" - install_framework "Pods-SampleTests/OCMock.framework" - install_framework "Pods-SampleTests/Specta.framework" -fi -if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "Pods-SampleTests/Expecta.framework" - install_framework "Pods-SampleTests/Expecta_Snapshots.framework" - install_framework "Pods-SampleTests/FBSnapshotTestCase.framework" - install_framework "Pods-SampleTests/OCMock.framework" - install_framework "Pods-SampleTests/Specta.framework" -fi diff --git a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-resources.sh b/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-resources.sh deleted file mode 100755 index 16774fb..0000000 --- a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-resources.sh +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/sh -set -e - -mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -realpath() { - DIRECTORY="$(cd "${1%/*}" && pwd)" - FILENAME="${1##*/}" - echo "$DIRECTORY/$FILENAME" -} - -install_resource() -{ - case $1 in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.framework) - echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\"" - xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE=$(realpath "${PODS_ROOT}/$1") - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - /*) - echo "$1" - echo "$1" >> "$RESOURCES_TO_COPY" - ;; - *) - echo "${PODS_ROOT}/$1" - echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] -then - case "${TARGETED_DEVICE_FAMILY}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; - esac - - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "`realpath $PODS_ROOT`*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi diff --git a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-umbrella.h b/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-umbrella.h deleted file mode 100644 index 55a38f5..0000000 --- a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests-umbrella.h +++ /dev/null @@ -1,6 +0,0 @@ -#import - - -FOUNDATION_EXPORT double Pods_SampleTestsVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_SampleTestsVersionString[]; - diff --git a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests.debug.xcconfig b/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests.debug.xcconfig deleted file mode 100644 index 4c157cb..0000000 --- a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests.debug.xcconfig +++ /dev/null @@ -1,7 +0,0 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/Expecta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta_Snapshots.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/OCMock.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Specta.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "Expecta" -framework "Expecta_Snapshots" -framework "FBSnapshotTestCase" -framework "OCMock" -framework "Specta" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-SampleTests -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests.modulemap b/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests.modulemap deleted file mode 100644 index d732eb9..0000000 --- a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Pods_SampleTests { - umbrella header "Pods-SampleTests-umbrella.h" - - export * - module * { export * } -} diff --git a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests.release.xcconfig b/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests.release.xcconfig deleted file mode 100644 index 4c157cb..0000000 --- a/Sample/Pods/Target Support Files/Pods-SampleTests/Pods-SampleTests.release.xcconfig +++ /dev/null @@ -1,7 +0,0 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/Expecta.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Expecta_Snapshots.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/FBSnapshotTestCase.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/OCMock.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/Specta.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "Expecta" -framework "Expecta_Snapshots" -framework "FBSnapshotTestCase" -framework "OCMock" -framework "Specta" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-SampleTests -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Sample/Pods/Target Support Files/Specta/Info.plist b/Sample/Pods/Target Support Files/Specta/Info.plist deleted file mode 100644 index 135c3f4..0000000 --- a/Sample/Pods/Target Support Files/Specta/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.5 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Sample/Pods/Target Support Files/Specta/Specta-dummy.m b/Sample/Pods/Target Support Files/Specta/Specta-dummy.m deleted file mode 100644 index fdae423..0000000 --- a/Sample/Pods/Target Support Files/Specta/Specta-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Specta : NSObject -@end -@implementation PodsDummy_Specta -@end diff --git a/Sample/Pods/Target Support Files/Specta/Specta-prefix.pch b/Sample/Pods/Target Support Files/Specta/Specta-prefix.pch deleted file mode 100644 index aa992a4..0000000 --- a/Sample/Pods/Target Support Files/Specta/Specta-prefix.pch +++ /dev/null @@ -1,4 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - diff --git a/Sample/Pods/Target Support Files/Specta/Specta-umbrella.h b/Sample/Pods/Target Support Files/Specta/Specta-umbrella.h deleted file mode 100644 index c6cc903..0000000 --- a/Sample/Pods/Target Support Files/Specta/Specta-umbrella.h +++ /dev/null @@ -1,21 +0,0 @@ -#import - -#import "Specta.h" -#import "SpectaDSL.h" -#import "SpectaTypes.h" -#import "SpectaUtility.h" -#import "SPTCallSite.h" -#import "SPTCompiledExample.h" -#import "SPTExample.h" -#import "SPTExampleGroup.h" -#import "SPTExcludeGlobalBeforeAfterEach.h" -#import "SPTGlobalBeforeAfterEach.h" -#import "SPTSharedExampleGroups.h" -#import "SPTSpec.h" -#import "SPTTestSuite.h" -#import "XCTest+Private.h" -#import "XCTestCase+Specta.h" - -FOUNDATION_EXPORT double SpectaVersionNumber; -FOUNDATION_EXPORT const unsigned char SpectaVersionString[]; - diff --git a/Sample/Pods/Target Support Files/Specta/Specta.modulemap b/Sample/Pods/Target Support Files/Specta/Specta.modulemap deleted file mode 100644 index c1629fb..0000000 --- a/Sample/Pods/Target Support Files/Specta/Specta.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Specta { - umbrella header "Specta-umbrella.h" - - export * - module * { export * } -} diff --git a/Sample/Pods/Target Support Files/Specta/Specta.xcconfig b/Sample/Pods/Target Support Files/Specta/Specta.xcconfig deleted file mode 100644 index c7ae144..0000000 --- a/Sample/Pods/Target Support Files/Specta/Specta.xcconfig +++ /dev/null @@ -1,7 +0,0 @@ -ENABLE_BITCODE = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Specta" "${PODS_ROOT}/Headers/Public" -OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest" -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/UIView+Shake.podspec b/UIView+Shake.podspec index efd93ea..1459527 100644 --- a/UIView+Shake.podspec +++ b/UIView+Shake.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "UIView+Shake" - s.version = "1.4.0" + s.version = "1.5.0" s.summary = "UIView category that adds a shake animation like the password field of the OSX login screen." s.homepage = "https://github.com/andreamazz/UIView-Shake" s.license = { :type => 'MIT', :file => 'LICENSE' }