├── .clang-format ├── .gitignore ├── .travis.yml ├── Cartfile.private ├── Cartfile.resolved ├── Carthage └── Checkouts │ ├── OCMockito │ ├── .gitignore │ ├── .gitmodules │ ├── .travis.yml │ ├── CHANGES.md │ ├── Carthage │ │ └── Build │ ├── Examples │ │ ├── MacExample-CocoaPods │ │ │ ├── Example.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ ├── Example │ │ │ │ ├── Example.h │ │ │ │ └── Example.m │ │ │ ├── ExampleTests │ │ │ │ ├── ExampleTests-Info.plist │ │ │ │ └── ExampleTests.m │ │ │ ├── Podfile │ │ │ └── README.md │ │ ├── MacExample-Framework │ │ │ ├── Example.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ ├── Example │ │ │ │ ├── Example.h │ │ │ │ └── Example.m │ │ │ ├── ExampleTests │ │ │ │ ├── ExampleTests-Info.plist │ │ │ │ └── ExampleTests.m │ │ │ └── README.md │ │ ├── iOSExample-Cocoapods │ │ │ ├── Example.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ ├── Example │ │ │ │ ├── Example.h │ │ │ │ └── Example.m │ │ │ ├── ExampleTests │ │ │ │ ├── ExampleTests-Info.plist │ │ │ │ └── ExampleTests.m │ │ │ ├── Podfile │ │ │ └── README.md │ │ └── iOSExample-Framework │ │ │ ├── Example.xcodeproj │ │ │ └── project.pbxproj │ │ │ ├── Example │ │ │ ├── Example.h │ │ │ └── Example.m │ │ │ ├── ExampleTests │ │ │ ├── ExampleTests-Info.plist │ │ │ └── ExampleTests.m │ │ │ └── README.md │ ├── Frameworks │ │ ├── README.md │ │ └── gethamcrest │ ├── LICENSE.txt │ ├── OCMockito.podspec │ ├── README.md │ ├── Source │ │ ├── MakeDistribution.sh │ │ ├── MakeIOSFramework.sh │ │ ├── OCMockito-Info.plist │ │ ├── OCMockito-Prefix.pch │ │ ├── OCMockito.xcodeproj │ │ │ ├── project.pbxproj │ │ │ └── xcshareddata │ │ │ │ └── xcschemes │ │ │ │ ├── OCMockito.xcscheme │ │ │ │ └── libocmockito.xcscheme │ │ ├── OCMockito │ │ │ ├── Core │ │ │ │ ├── MKTMockingProgress.h │ │ │ │ ├── MKTMockingProgress.m │ │ │ │ ├── MKTMockitoCore.h │ │ │ │ ├── MKTMockitoCore.m │ │ │ │ ├── MKTTestLocation.h │ │ │ │ ├── MKTTestLocation.m │ │ │ │ ├── OCMockito.h │ │ │ │ └── OCMockito.m │ │ │ ├── Helpers │ │ │ │ ├── ArgumentGetters │ │ │ │ │ ├── MKTArgumentGetter.h │ │ │ │ │ ├── MKTArgumentGetter.m │ │ │ │ │ ├── MKTArgumentGetterChain.h │ │ │ │ │ ├── MKTArgumentGetterChain.m │ │ │ │ │ ├── MKTBlockArgumentGetter.h │ │ │ │ │ ├── MKTBlockArgumentGetter.m │ │ │ │ │ ├── MKTBoolArgumentGetter.h │ │ │ │ │ ├── MKTBoolArgumentGetter.m │ │ │ │ │ ├── MKTCharArgumentGetter.h │ │ │ │ │ ├── MKTCharArgumentGetter.m │ │ │ │ │ ├── MKTClassArgumentGetter.h │ │ │ │ │ ├── MKTClassArgumentGetter.m │ │ │ │ │ ├── MKTDoubleArgumentGetter.h │ │ │ │ │ ├── MKTDoubleArgumentGetter.m │ │ │ │ │ ├── MKTFloatArgumentGetter.h │ │ │ │ │ ├── MKTFloatArgumentGetter.m │ │ │ │ │ ├── MKTIntArgumentGetter.h │ │ │ │ │ ├── MKTIntArgumentGetter.m │ │ │ │ │ ├── MKTLongArgumentGetter.h │ │ │ │ │ ├── MKTLongArgumentGetter.m │ │ │ │ │ ├── MKTLongLongArgumentGetter.h │ │ │ │ │ ├── MKTLongLongArgumentGetter.m │ │ │ │ │ ├── MKTObjectArgumentGetter.h │ │ │ │ │ ├── MKTObjectArgumentGetter.m │ │ │ │ │ ├── MKTPointerArgumentGetter.h │ │ │ │ │ ├── MKTPointerArgumentGetter.m │ │ │ │ │ ├── MKTSelectorArgumentGetter.h │ │ │ │ │ ├── MKTSelectorArgumentGetter.m │ │ │ │ │ ├── MKTShortArgumentGetter.h │ │ │ │ │ ├── MKTShortArgumentGetter.m │ │ │ │ │ ├── MKTStructArgumentGetter.h │ │ │ │ │ ├── MKTStructArgumentGetter.m │ │ │ │ │ ├── MKTUnsignedCharArgumentGetter.h │ │ │ │ │ ├── MKTUnsignedCharArgumentGetter.m │ │ │ │ │ ├── MKTUnsignedIntArgumentGetter.h │ │ │ │ │ ├── MKTUnsignedIntArgumentGetter.m │ │ │ │ │ ├── MKTUnsignedLongArgumentGetter.h │ │ │ │ │ ├── MKTUnsignedLongArgumentGetter.m │ │ │ │ │ ├── MKTUnsignedLongLongArgumentGetter.h │ │ │ │ │ ├── MKTUnsignedLongLongArgumentGetter.m │ │ │ │ │ ├── MKTUnsignedShortArgumentGetter.h │ │ │ │ │ └── MKTUnsignedShortArgumentGetter.m │ │ │ │ └── ReturnValueSetters │ │ │ │ │ ├── MKTBoolReturnSetter.h │ │ │ │ │ ├── MKTBoolReturnSetter.m │ │ │ │ │ ├── MKTCharReturnSetter.h │ │ │ │ │ ├── MKTCharReturnSetter.m │ │ │ │ │ ├── MKTClassReturnSetter.h │ │ │ │ │ ├── MKTClassReturnSetter.m │ │ │ │ │ ├── MKTDoubleReturnSetter.h │ │ │ │ │ ├── MKTDoubleReturnSetter.m │ │ │ │ │ ├── MKTFloatReturnSetter.h │ │ │ │ │ ├── MKTFloatReturnSetter.m │ │ │ │ │ ├── MKTIntReturnSetter.h │ │ │ │ │ ├── MKTIntReturnSetter.m │ │ │ │ │ ├── MKTLongLongReturnSetter.h │ │ │ │ │ ├── MKTLongLongReturnSetter.m │ │ │ │ │ ├── MKTLongReturnSetter.h │ │ │ │ │ ├── MKTLongReturnSetter.m │ │ │ │ │ ├── MKTObjectReturnSetter.h │ │ │ │ │ ├── MKTObjectReturnSetter.m │ │ │ │ │ ├── MKTReturnValueSetter.h │ │ │ │ │ ├── MKTReturnValueSetter.m │ │ │ │ │ ├── MKTReturnValueSetterChain.h │ │ │ │ │ ├── MKTReturnValueSetterChain.m │ │ │ │ │ ├── MKTShortReturnSetter.h │ │ │ │ │ ├── MKTShortReturnSetter.m │ │ │ │ │ ├── MKTStructReturnSetter.h │ │ │ │ │ ├── MKTStructReturnSetter.m │ │ │ │ │ ├── MKTUnsignedCharReturnSetter.h │ │ │ │ │ ├── MKTUnsignedCharReturnSetter.m │ │ │ │ │ ├── MKTUnsignedIntReturnSetter.h │ │ │ │ │ ├── MKTUnsignedIntReturnSetter.m │ │ │ │ │ ├── MKTUnsignedLongLongReturnSetter.h │ │ │ │ │ ├── MKTUnsignedLongLongReturnSetter.m │ │ │ │ │ ├── MKTUnsignedLongReturnSetter.h │ │ │ │ │ ├── MKTUnsignedLongReturnSetter.m │ │ │ │ │ ├── MKTUnsignedShortReturnSetter.h │ │ │ │ │ └── MKTUnsignedShortReturnSetter.m │ │ │ ├── Invocation │ │ │ │ ├── MKTInvocationMatcher.h │ │ │ │ ├── MKTInvocationMatcher.m │ │ │ │ ├── NSInvocation+OCMockito.h │ │ │ │ └── NSInvocation+OCMockito.m │ │ │ ├── Matchers │ │ │ │ ├── MKTArgumentCaptor.h │ │ │ │ ├── MKTArgumentCaptor.m │ │ │ │ ├── MKTCapturingMatcher.h │ │ │ │ └── MKTCapturingMatcher.m │ │ │ ├── Mocking │ │ │ │ ├── MKTBaseMockObject.h │ │ │ │ ├── MKTBaseMockObject.m │ │ │ │ ├── MKTClassObjectMock.h │ │ │ │ ├── MKTClassObjectMock.m │ │ │ │ ├── MKTDynamicProperties.h │ │ │ │ ├── MKTDynamicProperties.m │ │ │ │ ├── MKTObjectAndProtocolMock.h │ │ │ │ ├── MKTObjectAndProtocolMock.m │ │ │ │ ├── MKTObjectMock.h │ │ │ │ ├── MKTObjectMock.m │ │ │ │ ├── MKTPrimitiveArgumentMatching.h │ │ │ │ ├── MKTProtocolMock.h │ │ │ │ └── MKTProtocolMock.m │ │ │ ├── Stubbing │ │ │ │ ├── MKTAnswer.h │ │ │ │ ├── MKTExecutesBlock.h │ │ │ │ ├── MKTExecutesBlock.m │ │ │ │ ├── MKTInvocationContainer.h │ │ │ │ ├── MKTInvocationContainer.m │ │ │ │ ├── MKTOngoingStubbing.h │ │ │ │ ├── MKTOngoingStubbing.m │ │ │ │ ├── MKTReturnsValue.h │ │ │ │ ├── MKTReturnsValue.m │ │ │ │ ├── MKTStubbedInvocationMatcher.h │ │ │ │ ├── MKTStubbedInvocationMatcher.m │ │ │ │ ├── MKTThrowsException.h │ │ │ │ └── MKTThrowsException.m │ │ │ └── Verifying │ │ │ │ ├── MKTAtLeastTimes.h │ │ │ │ ├── MKTAtLeastTimes.m │ │ │ │ ├── MKTAtMostTimes.h │ │ │ │ ├── MKTAtMostTimes.m │ │ │ │ ├── MKTExactTimes.h │ │ │ │ ├── MKTExactTimes.m │ │ │ │ ├── MKTVerificationData.h │ │ │ │ ├── MKTVerificationData.m │ │ │ │ └── MKTVerificationMode.h │ │ ├── Tests-Info.plist │ │ ├── Tests │ │ │ ├── ArgumentCaptorTests.m │ │ │ ├── BlockMatchingTests.m │ │ │ ├── MKTAtLeastTimesTests.m │ │ │ ├── MKTCapturingMatcherTests.m │ │ │ ├── MKTClassObjectMockTests.m │ │ │ ├── MKTInvocationMatcherTests.m │ │ │ ├── MKTMockingProgressTests.m │ │ │ ├── MKTObjectAndProtocolMockTests.m │ │ │ ├── MKTObjectMockTests.m │ │ │ ├── MKTProtocolMockTests.m │ │ │ ├── MockTestCase.h │ │ │ ├── MockTestCase.m │ │ │ ├── NSInvocation+OCMockitoTests.m │ │ │ ├── StubClassTests.m │ │ │ ├── StubObjectTests.m │ │ │ ├── StubProtocolTests.m │ │ │ ├── VerifyClassObjectTests.m │ │ │ ├── VerifyCountAtLeastTimesTests.m │ │ │ ├── VerifyCountAtMostTimesTests.m │ │ │ ├── VerifyCountNeverTests.m │ │ │ ├── VerifyCountTimesTests.m │ │ │ ├── VerifyObjectAndProtocolTests.m │ │ │ ├── VerifyObjectTests.m │ │ │ ├── VerifyProgrammerErrorTests.m │ │ │ └── VerifyProtocolTests.m │ │ ├── ThirdParty │ │ │ └── TPDWeakProxy-1.1.0 │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ └── TPDWeakProxy │ │ │ │ ├── MKT_TPDWeakProxy.h │ │ │ │ └── MKT_TPDWeakProxy.m │ │ ├── Warnings.xcconfig │ │ └── XcodeCoverage │ │ │ ├── .gitignore │ │ │ ├── CHANGES.md │ │ │ ├── LICENSE.txt │ │ │ ├── README.md │ │ │ ├── XcodeCoverage.podspec │ │ │ ├── XcodeCoverage.xcconfig │ │ │ ├── cleancov │ │ │ ├── envcov.sh │ │ │ ├── exportenv.sh │ │ │ ├── getcov │ │ │ ├── lcov-1.11 │ │ │ ├── COPYING │ │ │ └── bin │ │ │ │ ├── gendesc │ │ │ │ ├── genhtml │ │ │ │ ├── geninfo │ │ │ │ ├── genpng │ │ │ │ └── lcov │ │ │ ├── lcov_cobertura.py │ │ │ ├── llvm-cov-wrapper.sh │ │ │ └── run_code_coverage_post.sh │ └── coveralls.rb │ ├── expecta │ ├── .gitignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── Carthage │ │ └── Build │ ├── Expecta.podspec │ ├── Expecta.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── Expecta-iOS.xcscheme │ │ │ ├── Expecta.xcscheme │ │ │ ├── libExpecta-iOS.xcscheme │ │ │ └── libExpecta.xcscheme │ ├── Expecta │ │ ├── EXPBlockDefinedMatcher.h │ │ ├── EXPBlockDefinedMatcher.m │ │ ├── EXPDefines.h │ │ ├── EXPDoubleTuple.h │ │ ├── EXPDoubleTuple.m │ │ ├── EXPExpect.h │ │ ├── EXPExpect.m │ │ ├── EXPFloatTuple.h │ │ ├── EXPFloatTuple.m │ │ ├── EXPMatcher.h │ │ ├── EXPUnsupportedObject.h │ │ ├── EXPUnsupportedObject.m │ │ ├── Expecta-Prefix.pch │ │ ├── Expecta.h │ │ ├── ExpectaObject.h │ │ ├── ExpectaObject.m │ │ ├── ExpectaSupport.h │ │ ├── ExpectaSupport.m │ │ ├── Info.plist │ │ ├── Matchers │ │ │ ├── EXPMatcherHelpers.h │ │ │ ├── EXPMatcherHelpers.m │ │ │ ├── EXPMatchers+beCloseTo.h │ │ │ ├── EXPMatchers+beCloseTo.m │ │ │ ├── EXPMatchers+beFalsy.h │ │ │ ├── EXPMatchers+beFalsy.m │ │ │ ├── EXPMatchers+beGreaterThan.h │ │ │ ├── EXPMatchers+beGreaterThan.m │ │ │ ├── EXPMatchers+beGreaterThanOrEqualTo.h │ │ │ ├── EXPMatchers+beGreaterThanOrEqualTo.m │ │ │ ├── EXPMatchers+beIdenticalTo.h │ │ │ ├── EXPMatchers+beIdenticalTo.m │ │ │ ├── EXPMatchers+beInTheRangeOf.h │ │ │ ├── EXPMatchers+beInTheRangeOf.m │ │ │ ├── EXPMatchers+beInstanceOf.h │ │ │ ├── EXPMatchers+beInstanceOf.m │ │ │ ├── EXPMatchers+beKindOf.h │ │ │ ├── EXPMatchers+beKindOf.m │ │ │ ├── EXPMatchers+beLessThan.h │ │ │ ├── EXPMatchers+beLessThan.m │ │ │ ├── EXPMatchers+beLessThanOrEqualTo.h │ │ │ ├── EXPMatchers+beLessThanOrEqualTo.m │ │ │ ├── EXPMatchers+beNil.h │ │ │ ├── EXPMatchers+beNil.m │ │ │ ├── EXPMatchers+beSubclassOf.h │ │ │ ├── EXPMatchers+beSubclassOf.m │ │ │ ├── EXPMatchers+beSupersetOf.h │ │ │ ├── EXPMatchers+beSupersetOf.m │ │ │ ├── EXPMatchers+beTruthy.h │ │ │ ├── EXPMatchers+beTruthy.m │ │ │ ├── EXPMatchers+beginWith.h │ │ │ ├── EXPMatchers+beginWith.m │ │ │ ├── EXPMatchers+conformTo.h │ │ │ ├── EXPMatchers+conformTo.m │ │ │ ├── EXPMatchers+contain.h │ │ │ ├── EXPMatchers+contain.m │ │ │ ├── EXPMatchers+endWith.h │ │ │ ├── EXPMatchers+endWith.m │ │ │ ├── EXPMatchers+equal.h │ │ │ ├── EXPMatchers+equal.m │ │ │ ├── EXPMatchers+haveCountOf.h │ │ │ ├── EXPMatchers+haveCountOf.m │ │ │ ├── EXPMatchers+match.h │ │ │ ├── EXPMatchers+match.m │ │ │ ├── EXPMatchers+postNotification.h │ │ │ ├── EXPMatchers+postNotification.m │ │ │ ├── EXPMatchers+raise.h │ │ │ ├── EXPMatchers+raise.m │ │ │ ├── EXPMatchers+raiseWithReason.h │ │ │ ├── EXPMatchers+raiseWithReason.m │ │ │ ├── EXPMatchers+respondTo.h │ │ │ ├── EXPMatchers+respondTo.m │ │ │ └── EXPMatchers.h │ │ ├── NSObject+Expecta.h │ │ ├── NSValue+Expecta.h │ │ └── NSValue+Expecta.m │ ├── LICENSE │ ├── README.md │ ├── Rakefile │ └── Tests │ │ ├── AsynchronousTestingTest.m │ │ ├── CustomMatcherImplementationsTest.m │ │ ├── DynamicPredicateMatcherTest.m │ │ ├── EXPFailTest.h │ │ ├── EXPFailTest.m │ │ ├── ExpectationTest.m │ │ ├── Helpers │ │ ├── EXPExpect+Test.h │ │ ├── EXPExpect+Test.m │ │ ├── FakeTestCase.h │ │ ├── FakeTestCase.m │ │ ├── Fixtures.h │ │ ├── Fixtures.m │ │ └── TestHelper.h │ │ ├── Matchers │ │ ├── EXPMatchers+beCloseToTest.m │ │ ├── EXPMatchers+beFalsyTest.m │ │ ├── EXPMatchers+beGreaterThanOrEqualToTest.m │ │ ├── EXPMatchers+beGreaterThanTest.m │ │ ├── EXPMatchers+beIdenticalToTest.m │ │ ├── EXPMatchers+beInTheRangeOfTest.m │ │ ├── EXPMatchers+beInstanceOfTest.m │ │ ├── EXPMatchers+beKindOfTest.m │ │ ├── EXPMatchers+beLessThanOrEqualToTest.m │ │ ├── EXPMatchers+beLessThanTest.m │ │ ├── EXPMatchers+beNilTest.m │ │ ├── EXPMatchers+beSubclassOfTest.m │ │ ├── EXPMatchers+beSupersetOfTest.m │ │ ├── EXPMatchers+beTruthyTest.m │ │ ├── EXPMatchers+beginWithTest.m │ │ ├── EXPMatchers+conformToTest.m │ │ ├── EXPMatchers+containTest.m │ │ ├── EXPMatchers+endWithTest.m │ │ ├── EXPMatchers+equalTest.m │ │ ├── EXPMatchers+haveCountOfTest.m │ │ ├── EXPMatchers+matchTest.m │ │ ├── EXPMatchers+postNotificationTest.m │ │ ├── EXPMatchers+raiseTest.m │ │ ├── EXPMatchers+raiseWithReasonTest.m │ │ └── EXPMatchers+respondToTest.m │ │ ├── MiscTest.m │ │ ├── NSValue+ExpectaTest.m │ │ └── Support │ │ ├── Test-Info.plist │ │ └── objc-build-scripts │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── bootstrap │ │ ├── cibuild │ │ ├── schemes.awk │ │ └── xctool.awk │ ├── ocmock │ ├── .gitignore │ ├── .travis.yml │ ├── Examples │ │ ├── ArcExample │ │ │ ├── ArcExample.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ └── ArcExample │ │ │ │ ├── ArcExample-Prefix.pch │ │ │ │ ├── ArcExample.1 │ │ │ │ └── main.m │ │ ├── SwiftExamples │ │ │ ├── SwiftExamples.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ ├── SwiftExamples │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Base.lproj │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── Connection.swift │ │ │ │ ├── Controller.swift │ │ │ │ ├── DetailViewController.swift │ │ │ │ ├── Images.xcassets │ │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── LaunchImage.launchimage │ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Info.plist │ │ │ │ └── MasterViewController.swift │ │ │ ├── SwiftExamplesTests │ │ │ │ ├── Info.plist │ │ │ │ ├── MockTests.m │ │ │ │ ├── SwiftExamplesTests-Bridging-Header.h │ │ │ │ └── SwiftExamplesTests.swift │ │ │ └── usr │ │ │ │ ├── include │ │ │ │ └── OCMock │ │ │ │ │ ├── NSNotificationCenter+OCMAdditions.h │ │ │ │ │ ├── OCMArg.h │ │ │ │ │ ├── OCMConstraint.h │ │ │ │ │ ├── OCMLocation.h │ │ │ │ │ ├── OCMMacroState.h │ │ │ │ │ ├── OCMock.h │ │ │ │ │ ├── OCMockObject.h │ │ │ │ │ └── OCMockRecorder.h │ │ │ │ └── lib │ │ │ │ └── libOCMock.a │ │ ├── iOS5Example │ │ │ ├── iOS5Example.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ ├── iOS5Example │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── DetailViewController.h │ │ │ │ ├── DetailViewController.m │ │ │ │ ├── MasterViewController.h │ │ │ │ ├── MasterViewController.m │ │ │ │ ├── en.lproj │ │ │ │ │ ├── InfoPlist.strings │ │ │ │ │ ├── MainStoryboard_iPad.storyboard │ │ │ │ │ └── MainStoryboard_iPhone.storyboard │ │ │ │ ├── iOS5Example-Info.plist │ │ │ │ ├── iOS5Example-Prefix.pch │ │ │ │ └── main.m │ │ │ ├── iOS5ExampleTests │ │ │ │ ├── ProtocolTests.h │ │ │ │ ├── ProtocolTests.m │ │ │ │ ├── en.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ │ ├── iOS5ExampleTests-Info.plist │ │ │ │ ├── iOS5ExampleTests.h │ │ │ │ └── iOS5ExampleTests.m │ │ │ └── usr │ │ │ │ ├── include │ │ │ │ └── OCMock │ │ │ │ │ ├── NSNotificationCenter+OCMAdditions.h │ │ │ │ │ ├── OCMArg.h │ │ │ │ │ ├── OCMConstraint.h │ │ │ │ │ ├── OCMock.h │ │ │ │ │ ├── OCMockObject.h │ │ │ │ │ └── OCMockRecorder.h │ │ │ │ └── lib │ │ │ │ └── libOCMock.a │ │ ├── iOS7Example │ │ │ ├── iOS7Example.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ ├── iOS7Example │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── Base.lproj │ │ │ │ │ ├── Main_iPad.storyboard │ │ │ │ │ └── Main_iPhone.storyboard │ │ │ │ ├── DetailViewController.h │ │ │ │ ├── DetailViewController.m │ │ │ │ ├── Images.xcassets │ │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── LaunchImage.launchimage │ │ │ │ │ │ └── Contents.json │ │ │ │ ├── MasterViewController.h │ │ │ │ ├── MasterViewController.m │ │ │ │ ├── en.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ │ ├── iOS7Example-Info.plist │ │ │ │ ├── iOS7Example-Prefix.pch │ │ │ │ └── main.m │ │ │ ├── iOS7ExampleTests │ │ │ │ ├── en.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ │ ├── iOS7ExampleTests-Info.plist │ │ │ │ └── iOS7ExampleTests.m │ │ │ └── usr │ │ │ │ ├── include │ │ │ │ └── OCMock │ │ │ │ │ ├── NSNotificationCenter+OCMAdditions.h │ │ │ │ │ ├── OCMArg.h │ │ │ │ │ ├── OCMConstraint.h │ │ │ │ │ ├── OCMLocation.h │ │ │ │ │ ├── OCMMacroState.h │ │ │ │ │ ├── OCMRecorder.h │ │ │ │ │ ├── OCMStubRecorder.h │ │ │ │ │ ├── OCMock.h │ │ │ │ │ └── OCMockObject.h │ │ │ │ └── lib │ │ │ │ └── libOCMock.a │ │ └── iPhoneExample │ │ │ ├── Classes │ │ │ ├── RootViewController.h │ │ │ ├── RootViewController.m │ │ │ ├── iPhoneExampleAppDelegate.h │ │ │ └── iPhoneExampleAppDelegate.m │ │ │ ├── Libraries │ │ │ ├── Headers │ │ │ │ └── OCMock │ │ │ │ │ ├── NSNotificationCenter+OCMAdditions.h │ │ │ │ │ ├── OCMArg.h │ │ │ │ │ ├── OCMConstraint.h │ │ │ │ │ ├── OCMock.h │ │ │ │ │ ├── OCMockObject.h │ │ │ │ │ └── OCMockRecorder.h │ │ │ └── libOCMock.a │ │ │ ├── MainWindow.xib │ │ │ ├── OCMockLogo.png │ │ │ ├── RootViewController.xib │ │ │ ├── Tests │ │ │ ├── RootViewControllerTests.h │ │ │ └── RootViewControllerTests.m │ │ │ ├── iPhoneExample-Info.plist │ │ │ ├── iPhoneExample.xcodeproj │ │ │ └── project.pbxproj │ │ │ ├── iPhoneExampleTests-Info.plist │ │ │ ├── iPhoneExample_Prefix.pch │ │ │ └── main.m │ ├── Makefile │ ├── OCMock.podspec │ ├── README.md │ ├── Source │ │ ├── Changes.txt │ │ ├── Frameworks │ │ │ └── OCHamcrest.tar.bz2 │ │ ├── License.txt │ │ ├── OCMock iOS │ │ │ └── Info.plist │ │ ├── OCMock.xcodeproj │ │ │ ├── project.pbxproj │ │ │ └── xcshareddata │ │ │ │ └── xcschemes │ │ │ │ ├── OCMock iOS.xcscheme │ │ │ │ ├── OCMock.xcscheme │ │ │ │ └── OCMockLib.xcscheme │ │ ├── OCMock │ │ │ ├── NSInvocation+OCMAdditions.h │ │ │ ├── NSInvocation+OCMAdditions.m │ │ │ ├── NSMethodSignature+OCMAdditions.h │ │ │ ├── NSMethodSignature+OCMAdditions.m │ │ │ ├── NSNotificationCenter+OCMAdditions.h │ │ │ ├── NSNotificationCenter+OCMAdditions.m │ │ │ ├── NSObject+OCMAdditions.h │ │ │ ├── NSObject+OCMAdditions.m │ │ │ ├── NSValue+OCMAdditions.h │ │ │ ├── NSValue+OCMAdditions.m │ │ │ ├── OCClassMockObject.h │ │ │ ├── OCClassMockObject.m │ │ │ ├── OCMArg.h │ │ │ ├── OCMArg.m │ │ │ ├── OCMBlockCaller.h │ │ │ ├── OCMBlockCaller.m │ │ │ ├── OCMBoxedReturnValueProvider.h │ │ │ ├── OCMBoxedReturnValueProvider.m │ │ │ ├── OCMConstraint.h │ │ │ ├── OCMConstraint.m │ │ │ ├── OCMExceptionReturnValueProvider.h │ │ │ ├── OCMExceptionReturnValueProvider.m │ │ │ ├── OCMExpectationRecorder.h │ │ │ ├── OCMExpectationRecorder.m │ │ │ ├── OCMFunctions.h │ │ │ ├── OCMFunctions.m │ │ │ ├── OCMIndirectReturnValueProvider.h │ │ │ ├── OCMIndirectReturnValueProvider.m │ │ │ ├── OCMInvocationExpectation.h │ │ │ ├── OCMInvocationExpectation.m │ │ │ ├── OCMInvocationMatcher.h │ │ │ ├── OCMInvocationMatcher.m │ │ │ ├── OCMInvocationStub.h │ │ │ ├── OCMInvocationStub.m │ │ │ ├── OCMLocation.h │ │ │ ├── OCMLocation.m │ │ │ ├── OCMMacroState.h │ │ │ ├── OCMMacroState.m │ │ │ ├── OCMNotificationPoster.h │ │ │ ├── OCMNotificationPoster.m │ │ │ ├── OCMObserverRecorder.h │ │ │ ├── OCMObserverRecorder.m │ │ │ ├── OCMPassByRefSetter.h │ │ │ ├── OCMPassByRefSetter.m │ │ │ ├── OCMRealObjectForwarder.h │ │ │ ├── OCMRealObjectForwarder.m │ │ │ ├── OCMRecorder.h │ │ │ ├── OCMRecorder.m │ │ │ ├── OCMReturnValueProvider.h │ │ │ ├── OCMReturnValueProvider.m │ │ │ ├── OCMStubRecorder.h │ │ │ ├── OCMStubRecorder.m │ │ │ ├── OCMVerifier.h │ │ │ ├── OCMVerifier.m │ │ │ ├── OCMock-Info.plist │ │ │ ├── OCMock-Prefix.pch │ │ │ ├── OCMock.h │ │ │ ├── OCMockObject.h │ │ │ ├── OCMockObject.m │ │ │ ├── OCObserverMockObject.h │ │ │ ├── OCObserverMockObject.m │ │ │ ├── OCPartialMockObject.h │ │ │ ├── OCPartialMockObject.m │ │ │ ├── OCProtocolMockObject.h │ │ │ ├── OCProtocolMockObject.m │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ ├── OCMockLib │ │ │ └── OCMockLib-Prefix.pch │ │ ├── OCMockLibTests │ │ │ ├── OCMockLibTests-Info.plist │ │ │ ├── OCMockLibTests-Prefix.pch │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ └── OCMockTests │ │ │ ├── NSInvocationOCMAdditionsTests.m │ │ │ ├── NSMethodSignatureOCMAdditionsTests.m │ │ │ ├── OCMArgTests.m │ │ │ ├── OCMConstraintTests.m │ │ │ ├── OCMInvocationMatcherTests.m │ │ │ ├── OCMStubRecorderTests.m │ │ │ ├── OCMockObjectClassMethodMockingTests.m │ │ │ ├── OCMockObjectForwardingTargetTests.m │ │ │ ├── OCMockObjectHamcrestTests.mm │ │ │ ├── OCMockObjectMacroTests.m │ │ │ ├── OCMockObjectPartialMocksTests.m │ │ │ ├── OCMockObjectProtocolMocksTests.m │ │ │ ├── OCMockObjectRuntimeTests.m │ │ │ ├── OCMockObjectTests.m │ │ │ ├── OCMockObjectVerifyAfterRunTests.m │ │ │ ├── OCMockTests-Info.plist │ │ │ ├── OCMockTests-Prefix.pch │ │ │ ├── OCObserverMockObjectTests.m │ │ │ └── en.lproj │ │ │ └── InfoPlist.strings │ └── Tools │ │ ├── build.rb │ │ └── updatebanner.rb │ └── specta │ ├── .gitignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Carthage │ └── Build │ ├── Gemfile │ ├── Gemfile.lock │ ├── LICENSE │ ├── README.md │ ├── Rakefile │ ├── Specta.podspec │ ├── Specta.xcworkspace │ └── contents.xcworkspacedata │ ├── Specta │ ├── Specta.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── Specta-iOS.xcscheme │ │ │ ├── Specta.xcscheme │ │ │ ├── libSpecta-iOS.xcscheme │ │ │ └── libSpecta.xcscheme │ ├── Specta │ │ ├── Info.plist │ │ ├── SPTCallSite.h │ │ ├── SPTCallSite.m │ │ ├── SPTCompiledExample.h │ │ ├── SPTCompiledExample.m │ │ ├── SPTExample.h │ │ ├── SPTExample.m │ │ ├── SPTExampleGroup.h │ │ ├── SPTExampleGroup.m │ │ ├── SPTExcludeGlobalBeforeAfterEach.h │ │ ├── SPTGlobalBeforeAfterEach.h │ │ ├── SPTSharedExampleGroups.h │ │ ├── SPTSharedExampleGroups.m │ │ ├── SPTSpec.h │ │ ├── SPTSpec.m │ │ ├── SPTTestSuite.h │ │ ├── SPTTestSuite.m │ │ ├── Specta.h │ │ ├── SpectaDSL.h │ │ ├── SpectaDSL.m │ │ ├── SpectaTypes.h │ │ ├── SpectaUtility.h │ │ ├── SpectaUtility.m │ │ ├── XCTest+Private.h │ │ ├── XCTestCase+Specta.h │ │ └── XCTestCase+Specta.m │ └── SpectaTests │ │ ├── AsyncSpecTest.m │ │ ├── AsyncSpecTest2.m │ │ ├── AsyncSpecTest3.m │ │ ├── AsyncSpecTimeoutTest.m │ │ ├── CompilationTest1.m │ │ ├── CompilationTest2.m │ │ ├── CompilationTest3.m │ │ ├── CompilationTest4.m │ │ ├── CompilationTest5.m │ │ ├── CompilationTest6.m │ │ ├── CompilationTest7.m │ │ ├── CompilationTest8.m │ │ ├── DSLTest1.m │ │ ├── DSLTest2.m │ │ ├── DSLTest3.m │ │ ├── DSLTest4.m │ │ ├── DSLTest5.m │ │ ├── FailingSpecTest.m │ │ ├── FocusedSpecTest.m │ │ ├── Info.plist │ │ ├── MiscTest.m │ │ ├── PassingSpecTest.m │ │ ├── PendingSpecTest1.m │ │ ├── PendingSpecTest2.m │ │ ├── PendingSpecTest3.m │ │ ├── PendingSpecTest4.m │ │ ├── PendingSpecTest5.m │ │ ├── ReRunTest.m │ │ ├── SequenceTest.m │ │ ├── SharedExamplesTest1.m │ │ ├── SharedExamplesTest2.m │ │ ├── SharedExamplesTest3.m │ │ ├── SharedExamplesTest4.m │ │ ├── SharedExamplesTest5.m │ │ ├── SharedExamplesTest6.m │ │ ├── SpectaUtilityTest.m │ │ ├── TestHelper.h │ │ ├── TestHelper.m │ │ └── UnexpectedExceptionTest.m │ └── misc │ ├── Specta │ ├── Specta Spec Helper.xctemplate │ │ ├── NSObject │ │ │ ├── ___FILEBASENAME___.h │ │ │ └── ___FILEBASENAME___.m │ │ └── TemplateInfo.plist │ └── Specta Spec.xctemplate │ │ ├── Default │ │ └── ___FILEBASENAME___.m │ │ ├── TemplateIcon.icns │ │ ├── TemplateInfo.plist │ │ ├── importSpecta │ │ └── ___FILEBASENAME___.m │ │ ├── importSpectaimportExpecta │ │ └── ___FILEBASENAME___.m │ │ └── importSpectaimportExpectauseShorthand │ │ └── ___FILEBASENAME___.m │ └── specta_screenshot.jpg ├── JumpMarks.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ └── mpoon.xcuserdatad │ │ └── UserInterfaceState.xcuserstate ├── xcshareddata │ └── xcschemes │ │ ├── JumpMarks.xcscheme │ │ └── JumpMarksTest.xcscheme └── xcuserdata │ └── mpoon.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── JumpMarks ├── Categories │ ├── DVTTextSidebarView+JumpMarks.h │ ├── DVTTextSidebarView+JumpMarks.m │ ├── IDEWorkspaceDocument+JumpMarks.h │ └── IDEWorkspaceDocument+JumpMarks.m ├── External │ ├── JRSwizzle.h │ └── JRSwizzle.m ├── Info.plist ├── JumpMarks-Prefix.pch ├── JumpMarks.h ├── JumpMarks.m ├── Models │ ├── JumpMark.h │ ├── JumpMark.m │ ├── JumpMarkList.h │ └── JumpMarkList.m └── XcodeHeaders │ ├── DVTFoundation.h │ ├── DVTKit.h │ ├── DVTTextSidebarView.h │ ├── IDEFoundation.h │ ├── IDEKit.h │ └── IDESourceEditor.h ├── JumpMarksTest ├── Info.plist └── JumpMarksTest.m ├── README.md └── logo.sketch /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | build/ 4 | *.pbxuser 5 | !default.pbxuser 6 | *.mode1v3 7 | !default.mode1v3 8 | *.mode2v3 9 | !default.mode2v3 10 | *.perspectivev3 11 | !default.perspectivev3 12 | xcuserdata 13 | *.xccheckout 14 | *.moved-aside 15 | DerivedData 16 | *.hmap 17 | *.ipa 18 | *.xcuserstate 19 | 20 | Carthage/Build 21 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: objective-c 2 | xcode_project: JumpMarks.xcodeproj 3 | xcode_scheme: JumpMarks 4 | osx_image: xcode8.2 5 | 6 | branches: 7 | only: 8 | - master 9 | -------------------------------------------------------------------------------- /Cartfile.private: -------------------------------------------------------------------------------- 1 | github "specta/specta" ~> 0.5 2 | github "specta/expecta" "master" 3 | github "erikdoe/ocmock" "master" 4 | -------------------------------------------------------------------------------- /Cartfile.resolved: -------------------------------------------------------------------------------- 1 | github "specta/expecta" "c52e84681323ad42a47e6e96fd6debb577a26cc1" 2 | github "erikdoe/ocmock" "a37631568624fa65034d4621d072b45c54c4619c" 3 | github "specta/specta" "v0.5.0" 4 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | build/ 4 | *.pbxuser 5 | *.perspectivev3 6 | project.xcworkspace/ 7 | xcuserdata/ 8 | OCHamcrest* 9 | compile_commands.json 10 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "Source/XcodeCoverage"] 2 | path = Source/XcodeCoverage 3 | url = git://github.com/jonreid/XcodeCoverage.git 4 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/.travis.yml: -------------------------------------------------------------------------------- 1 | language: objective-c 2 | 3 | before_install: 4 | - brew update 5 | - if brew outdated | grep -qx xctool; then brew upgrade xctool; fi 6 | - Frameworks/gethamcrest 7 | - sudo easy_install cpp-coveralls 8 | 9 | script: 10 | - xctool test -project Source/OCMockito.xcodeproj -scheme OCMockito -sdk macosx10.9 11 | - xctool test -project Source/OCMockito.xcodeproj -scheme libocmockito -sdk iphonesimulator7.1 -destination "platform=iOS Simulator,name=iPhone 5,OS=7.1" 12 | - xctool test -project Source/OCMockito.xcodeproj -scheme libocmockito -sdk iphonesimulator7.1 -destination "platform=iOS Simulator,name=iPhone 5s,OS=7.1" 13 | 14 | after_success: 15 | - ./coveralls.rb --exclude-folder Source/Tests --exclude-folder Source/ThirdParty --exclude-folder Frameworks --exclude-folder Examples 16 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Carthage/Build: -------------------------------------------------------------------------------- 1 | ../../../../Carthage/Build -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/MacExample-CocoaPods/Example/Example.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface Example : NSObject 4 | @end 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/MacExample-CocoaPods/Example/Example.m: -------------------------------------------------------------------------------- 1 | #import "Example.h" 2 | 3 | @implementation Example 4 | @end 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/MacExample-CocoaPods/ExampleTests/ExampleTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | org.qualitycoding.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/MacExample-CocoaPods/Podfile: -------------------------------------------------------------------------------- 1 | target :ExampleTests, :exclusive => true do 2 | pod 'OCMockito', '~> 1.0' 3 | end 4 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/MacExample-CocoaPods/README.md: -------------------------------------------------------------------------------- 1 | To set up this example: 2 | 3 | 1. Terminal: sudo install cocoapods 4 | 2. Terminal: pod install 5 | 3. Open the generated Example.xcworkspace 6 | 7 | Then command-U to run unit tests. Try changing one of the tests to fail. 8 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/MacExample-Framework/Example/Example.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface Example : NSObject 4 | @end 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/MacExample-Framework/Example/Example.m: -------------------------------------------------------------------------------- 1 | #import "Example.h" 2 | 3 | @implementation Example 4 | @end 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/MacExample-Framework/ExampleTests/ExampleTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | org.qualitycoding.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/MacExample-Framework/README.md: -------------------------------------------------------------------------------- 1 | To set up this example, open Example.xcodeproj: 2 | 3 | 1. Drag OCMockito.framework and OCHamcrest.framework into the project, specifying: 4 | * "Copy items into destination group's folder" 5 | * Add to targets: ExampleTests 6 | 7 | 2. In Build Settings, add -ObjC to "Other Linker Flags". Whether you do this at 8 | the target level or project level doesn't matter, as long as the change is 9 | applied to the ExampleTests target. 10 | 11 | 3. Open the Build Phases for the ExampleTests target: 12 | * Drag OCHamcrest.framework and OCMockito.framework into the Copy Files phase 13 | * Destination: Products Directory 14 | 15 | Then command-U to run unit tests. Try changing one of the tests to fail. 16 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/iOSExample-Cocoapods/Example/Example.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface Example : NSObject 4 | @end 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/iOSExample-Cocoapods/Example/Example.m: -------------------------------------------------------------------------------- 1 | #import "Example.h" 2 | 3 | @implementation Example 4 | @end 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/iOSExample-Cocoapods/ExampleTests/ExampleTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | org.qualitycoding.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/iOSExample-Cocoapods/Podfile: -------------------------------------------------------------------------------- 1 | target :ExampleTests, :exclusive => true do 2 | pod 'OCMockito', '~> 1.0' 3 | end 4 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/iOSExample-Cocoapods/README.md: -------------------------------------------------------------------------------- 1 | To set up this example: 2 | 3 | 1. Terminal: sudo install cocoapods 4 | 2. Terminal: pod install 5 | 3. Open the generated Example.xcworkspace 6 | 7 | Then command-U to run unit tests. Try changing one of the tests to fail. 8 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/iOSExample-Framework/Example/Example.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface Example : NSObject 4 | @end 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/iOSExample-Framework/Example/Example.m: -------------------------------------------------------------------------------- 1 | #import "Example.h" 2 | 3 | @implementation Example 4 | @end 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/iOSExample-Framework/ExampleTests/ExampleTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | org.qualitycoding.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Examples/iOSExample-Framework/README.md: -------------------------------------------------------------------------------- 1 | To set up this example, open Example.xcodeproj: 2 | 3 | 1. Drag OCMockitoIOS.framework and OCHamcrestIOS.framework into the project, specifying: 4 | * "Copy items into destination group's folder" 5 | * Add to targets: ExampleTests 6 | 7 | 2. In Build Settings, add -ObjC to "Other Linker Flags". Whether you do this at 8 | the target level or project level doesn't matter, as long as the change is 9 | applied to the ExampleTests target. 10 | 11 | Then command-U to run unit tests. Try changing one of the tests to fail. 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Frameworks/README.md: -------------------------------------------------------------------------------- 1 | To build OCMockito without CocoaPods, execute the following scripts: 2 | - gethamcrest 3 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Frameworks/gethamcrest: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | OCH_VERSION=4.1.1 3 | OCH=OCHamcrest-${OCH_VERSION} 4 | OCH_ZIP=${OCH}.zip 5 | 6 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 7 | cd $DIR 8 | 9 | curl -L https://github.com/hamcrest/OCHamcrest/releases/download/v${OCH_VERSION}/${OCH_ZIP} > ${OCH_ZIP} 10 | rm -rf $OCH 11 | unzip ${OCH_ZIP} 12 | rm ${OCH_ZIP} 13 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'OCMockito' target in the 'OCMockito' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | 7 | #import 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Core/MKTMockingProgress.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | #import "MKTTestLocation.h" 7 | 8 | @class MKTInvocationMatcher; 9 | @class MKTOngoingStubbing; 10 | @protocol HCMatcher; 11 | @protocol MKTVerificationMode; 12 | 13 | 14 | @interface MKTMockingProgress : NSObject 15 | 16 | @property (nonatomic, assign) MKTTestLocation testLocation; 17 | 18 | + (instancetype)sharedProgress; 19 | - (void)reset; 20 | 21 | - (void)stubbingStartedAtLocation:(MKTTestLocation)location; 22 | - (void)reportOngoingStubbing:(MKTOngoingStubbing *)ongoingStubbing; 23 | - (MKTOngoingStubbing *)pullOngoingStubbing; 24 | 25 | - (void)verificationStarted:(id )mode atLocation:(MKTTestLocation)location; 26 | - (id )pullVerificationMode; 27 | 28 | - (void)setMatcher:(id )matcher forArgument:(NSUInteger)index; 29 | - (MKTInvocationMatcher *)pullInvocationMatcher; 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Core/MKTMockitoCore.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | #import "MKTTestLocation.h" 7 | 8 | @class MKTObjectMock; 9 | @class MKTOngoingStubbing; 10 | @protocol MKTVerificationMode; 11 | 12 | 13 | @interface MKTMockitoCore : NSObject 14 | 15 | + (instancetype)sharedCore; 16 | 17 | - (MKTOngoingStubbing *)stubAtLocation:(MKTTestLocation)location; 18 | 19 | - (id)verifyMock:(MKTObjectMock *)mock 20 | withMode:(id )mode 21 | atLocation:(MKTTestLocation)location; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Core/MKTTestLocation.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | typedef struct 8 | { 9 | __unsafe_unretained id testCase; 10 | const char *fileName; 11 | int lineNumber; 12 | } MKTTestLocation; 13 | 14 | 15 | static inline MKTTestLocation MKTTestLocationMake(id test, const char *file, int line) 16 | { 17 | MKTTestLocation location; 18 | location.testCase = test; 19 | location.fileName = file; 20 | location.lineNumber = line; 21 | return location; 22 | } 23 | 24 | void MKTFailTest(id testCase, const char *fileName, int lineNumber, NSString *description); 25 | void MKTFailTestLocation(MKTTestLocation testLocation, NSString *description); 26 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | @interface MKTArgumentGetter : NSObject 8 | 9 | - (instancetype)initWithType:(char const *)handlerType successor:(MKTArgumentGetter *)successor; 10 | - (id)retrieveArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTArgumentGetterChain.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | @class MKTArgumentGetter; 7 | 8 | 9 | /** 10 | Returns chain of argument getters. 11 | */ 12 | FOUNDATION_EXPORT MKTArgumentGetter *MKTArgumentGetterChain(void); 13 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBlockArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTBlockArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBlockArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTBlockArgumentGetter.h" 5 | 6 | typedef void (^MKTBlockType)(void); 7 | 8 | @implementation MKTBlockArgumentGetter 9 | 10 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 11 | { 12 | self = [super initWithType:@encode(MKTBlockType) successor:successor]; 13 | return self; 14 | } 15 | 16 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 17 | { 18 | __unsafe_unretained id arg = nil; 19 | [invocation getArgument:&arg atIndex:idx]; 20 | return arg ? [arg copy] : [NSNull null]; 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBoolArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTBoolArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTBoolArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTBoolArgumentGetter.h" 5 | 6 | @implementation MKTBoolArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(BOOL) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | BOOL arg; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return @(arg); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTCharArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTCharArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTCharArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTCharArgumentGetter.h" 5 | 6 | @implementation MKTCharArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(char) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | char arg; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return @(arg); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTClassArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTClassArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTClassArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTClassArgumentGetter.h" 5 | 6 | @implementation MKTClassArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(Class) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | __unsafe_unretained Class arg = nil; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return arg; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTDoubleArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTDoubleArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTDoubleArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTDoubleArgumentGetter.h" 5 | 6 | @implementation MKTDoubleArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(double) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | double arg; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return @(arg); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTFloatArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTFloatArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTFloatArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTFloatArgumentGetter.h" 5 | 6 | @implementation MKTFloatArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(float) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | float arg; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return @(arg); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTIntArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTIntArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTIntArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTIntArgumentGetter.h" 5 | 6 | @implementation MKTIntArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(int) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | int arg; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return @(arg); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTLongArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTLongArgumentGetter.h" 5 | 6 | @implementation MKTLongArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(long) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | long arg; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return @(arg); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongLongArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTLongLongArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | @end 11 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTLongLongArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTLongLongArgumentGetter.h" 5 | 6 | @implementation MKTLongLongArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(long long) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | long long arg; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return @(arg); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTObjectArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTObjectArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTObjectArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTObjectArgumentGetter.h" 5 | 6 | @implementation MKTObjectArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(id) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | __unsafe_unretained id arg = nil; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return arg ? arg : [NSNull null]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTPointerArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTPointerArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTPointerArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTPointerArgumentGetter.h" 5 | 6 | 7 | @implementation MKTPointerArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 10 | { 11 | self = [super initWithType:@encode(void *) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 16 | { 17 | void *arg; 18 | [invocation getArgument:&arg atIndex:idx]; 19 | return [NSValue valueWithPointer:arg]; 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTSelectorArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTSelectorArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTSelectorArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTSelectorArgumentGetter.h" 5 | 6 | @implementation MKTSelectorArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(SEL) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | SEL arg = nil; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return arg ? NSStringFromSelector(arg) : [NSNull null]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTShortArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTShortArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTShortArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTShortArgumentGetter.h" 5 | 6 | @implementation MKTShortArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(short) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | short arg; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return @(arg); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTStructArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTStructArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTStructArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTStructArgumentGetter.h" 5 | 6 | typedef struct {} MKTDummyStructure; 7 | 8 | 9 | @implementation MKTStructArgumentGetter 10 | 11 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 12 | { 13 | self = [super initWithType:@encode(MKTDummyStructure) successor:successor]; 14 | return self; 15 | } 16 | 17 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 18 | { 19 | NSUInteger structSize = 0; 20 | NSGetSizeAndAlignment(type, &structSize, NULL); 21 | void *structMem = calloc(1, structSize); 22 | [invocation getArgument:structMem atIndex:idx]; 23 | id arg = [NSData dataWithBytes:structMem length:structSize]; 24 | free(structMem); 25 | return arg; 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedCharArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTUnsignedCharArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedCharArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTUnsignedCharArgumentGetter.h" 5 | 6 | @implementation MKTUnsignedCharArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(unsigned char) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | unsigned char arg; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return @(arg); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedIntArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTUnsignedIntArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedIntArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTUnsignedIntArgumentGetter.h" 5 | 6 | @implementation MKTUnsignedIntArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(unsigned int) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | unsigned int arg; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return @(arg); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTUnsignedLongArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTUnsignedLongArgumentGetter.h" 5 | 6 | @implementation MKTUnsignedLongArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(unsigned long) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | unsigned long arg; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return @(arg); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongLongArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTUnsignedLongLongArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedLongLongArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTUnsignedLongLongArgumentGetter.h" 5 | 6 | @implementation MKTUnsignedLongLongArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(unsigned long long) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | unsigned long long arg; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return @(arg); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedShortArgumentGetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentGetter.h" 5 | 6 | 7 | @interface MKTUnsignedShortArgumentGetter : MKTArgumentGetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ArgumentGetters/MKTUnsignedShortArgumentGetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTUnsignedShortArgumentGetter.h" 5 | 6 | @implementation MKTUnsignedShortArgumentGetter 7 | 8 | - (instancetype)initWithSuccessor:(MKTArgumentGetter *)successor 9 | { 10 | self = [super initWithType:@encode(unsigned short) successor:successor]; 11 | return self; 12 | } 13 | 14 | - (id)getArgumentAtIndex:(NSInteger)idx ofType:(char const *)type onInvocation:(NSInvocation *)invocation 15 | { 16 | unsigned short arg; 17 | [invocation getArgument:&arg atIndex:idx]; 18 | return @(arg); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTBoolReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTBoolReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTBoolReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTBoolReturnSetter.h" 5 | 6 | 7 | @implementation MKTBoolReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(BOOL) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | BOOL value = [returnValue boolValue]; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTCharReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTCharReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTCharReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTCharReturnSetter.h" 5 | 6 | 7 | @implementation MKTCharReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(char) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | char value = [returnValue charValue]; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTClassReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTClassReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTClassReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTClassReturnSetter.h" 5 | 6 | 7 | @implementation MKTClassReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(Class) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | __unsafe_unretained Class value = returnValue; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTDoubleReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTDoubleReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTDoubleReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTDoubleReturnSetter.h" 5 | 6 | 7 | @implementation MKTDoubleReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(double) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | double value = [returnValue doubleValue]; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTFloatReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTFloatReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTFloatReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTFloatReturnSetter.h" 5 | 6 | 7 | @implementation MKTFloatReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(float) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | float value = [returnValue floatValue]; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTIntReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTIntReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTIntReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTIntReturnSetter.h" 5 | 6 | 7 | @implementation MKTIntReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(int) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | int value = [returnValue intValue]; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongLongReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTLongLongReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongLongReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTLongLongReturnSetter.h" 5 | 6 | 7 | @implementation MKTLongLongReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(long long) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | long long value = [returnValue longLongValue]; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTLongReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTLongReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTLongReturnSetter.h" 5 | 6 | 7 | @implementation MKTLongReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(long) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | long value = [returnValue longValue]; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTObjectReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTObjectReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTObjectReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTObjectReturnSetter.h" 5 | 6 | 7 | @implementation MKTObjectReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(id) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | __unsafe_unretained id value = returnValue; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | @interface MKTReturnValueSetter : NSObject 8 | 9 | - (instancetype)initWithType:(char const *)handlerType successor:(MKTReturnValueSetter *)successor; 10 | - (void)setReturnValue:(id)returnValue ofType:(char const *)type onInvocation:(NSInvocation *)invocation; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTReturnValueSetterChain.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | @class MKTReturnValueSetter; 7 | 8 | 9 | /** 10 | Returns chain of return value handlers. 11 | */ 12 | FOUNDATION_EXPORT MKTReturnValueSetter *MKTReturnValueSetterChain(void); 13 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTShortReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTShortReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTShortReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTShortReturnSetter.h" 5 | 6 | 7 | @implementation MKTShortReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(short) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | short value = [returnValue shortValue]; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTStructReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTStructReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTStructReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTStructReturnSetter.h" 5 | 6 | 7 | @implementation MKTStructReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:"{" successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | NSMethodSignature *methodSignature = [invocation methodSignature]; 18 | NSMutableData *value = [NSMutableData dataWithLength:[methodSignature methodReturnLength]]; 19 | [returnValue getValue:[value mutableBytes]]; 20 | [invocation setReturnValue:[value mutableBytes]]; 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedCharReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTUnsignedCharReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedCharReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTUnsignedCharReturnSetter.h" 5 | 6 | 7 | @implementation MKTUnsignedCharReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(unsigned char) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | unsigned char value = [returnValue unsignedCharValue]; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedIntReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTUnsignedIntReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedIntReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTUnsignedIntReturnSetter.h" 5 | 6 | 7 | @implementation MKTUnsignedIntReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(unsigned int) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | unsigned int value = [returnValue unsignedIntValue]; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongLongReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTUnsignedLongLongReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongLongReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTUnsignedLongLongReturnSetter.h" 5 | 6 | 7 | @implementation MKTUnsignedLongLongReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(unsigned long long) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | unsigned long long value = [returnValue unsignedLongLongValue]; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTUnsignedLongReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedLongReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTUnsignedLongReturnSetter.h" 5 | 6 | 7 | @implementation MKTUnsignedLongReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(unsigned long) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | unsigned long value = [returnValue unsignedLongValue]; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedShortReturnSetter.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnValueSetter.h" 5 | 6 | 7 | @interface MKTUnsignedShortReturnSetter : MKTReturnValueSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Helpers/ReturnValueSetters/MKTUnsignedShortReturnSetter.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTUnsignedShortReturnSetter.h" 5 | 6 | 7 | @implementation MKTUnsignedShortReturnSetter 8 | 9 | - (instancetype)initWithSuccessor:(MKTReturnValueSetter *)successor 10 | { 11 | self = [super initWithType:@encode(unsigned short) successor:successor]; 12 | return self; 13 | } 14 | 15 | - (void)setReturnValue:(id)returnValue onInvocation:(NSInvocation *)invocation 16 | { 17 | unsigned short value = [returnValue unsignedShortValue]; 18 | [invocation setReturnValue:&value]; 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Invocation/MKTInvocationMatcher.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | @protocol HCMatcher; 7 | 8 | 9 | @interface MKTInvocationMatcher : NSObject 10 | 11 | @property (nonatomic, strong) NSInvocation *expected; 12 | @property (nonatomic, assign) NSUInteger numberOfArguments; 13 | @property (nonatomic, strong) NSMutableArray *argumentMatchers; 14 | 15 | - (instancetype)init; 16 | - (void)setMatcher:(id )matcher atIndex:(NSUInteger)index; 17 | - (NSUInteger)argumentMatchersCount; 18 | - (void)setExpectedInvocation:(NSInvocation *)expectedInvocation; 19 | - (BOOL)matches:(NSInvocation *)actual; 20 | - (void)captureArgumentsFromInvocations:(NSArray *)invocations; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Invocation/NSInvocation+OCMockito.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | @interface NSInvocation (OCMockito) 7 | 8 | - (NSArray *)mkt_arguments; 9 | - (void)mkt_setReturnValue:(id)returnValue; 10 | - (void)mkt_retainArgumentsWithWeakTarget; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Matchers/MKTArgumentCaptor.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | @interface MKTArgumentCaptor : NSObject 8 | 9 | - (id)capture; 10 | - (id)value; 11 | - (NSArray *)allValues; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Matchers/MKTArgumentCaptor.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTArgumentCaptor.h" 5 | 6 | #import "MKTCapturingMatcher.h" 7 | 8 | 9 | @interface MKTArgumentCaptor () 10 | @property (readonly, nonatomic, strong) MKTCapturingMatcher *matcher; 11 | @end 12 | 13 | @implementation MKTArgumentCaptor 14 | 15 | - (instancetype)init 16 | { 17 | self = [super init]; 18 | if (self) 19 | _matcher = [[MKTCapturingMatcher alloc] init]; 20 | return self; 21 | } 22 | 23 | - (id)capture 24 | { 25 | return self.matcher; 26 | } 27 | 28 | - (id)value 29 | { 30 | return [self.matcher lastValue]; 31 | } 32 | 33 | - (NSArray *)allValues 34 | { 35 | return [self.matcher allValues]; 36 | } 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Matchers/MKTCapturingMatcher.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | @interface MKTCapturingMatcher : HCIsAnything 8 | 9 | - (void)captureArgument:(id)arg; 10 | - (NSArray *)allValues; 11 | - (id)lastValue; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Mocking/MKTBaseMockObject.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | #import "MKTPrimitiveArgumentMatching.h" 6 | 7 | 8 | @interface MKTBaseMockObject : NSProxy 9 | 10 | - (instancetype)init; 11 | - (void)reset; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Mocking/MKTClassObjectMock.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | // Contribution by David Hart 4 | 5 | #import "MKTBaseMockObject.h" 6 | 7 | 8 | /** 9 | Mock object of a given class object. 10 | */ 11 | @interface MKTClassObjectMock : MKTBaseMockObject 12 | 13 | + (instancetype)mockForClass:(Class)aClass; 14 | - (instancetype)initWithClass:(Class)aClass; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Mocking/MKTDynamicProperties.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | @interface MKTDynamicProperties : NSObject 8 | 9 | - (instancetype)initWithClass:(Class)aClass; 10 | - (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Mocking/MKTObjectAndProtocolMock.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | // Contribution by Kevin Lundberg 4 | 5 | #import "MKTProtocolMock.h" 6 | 7 | 8 | /** 9 | Mock object of a given class that also implements a given protocol. 10 | */ 11 | @interface MKTObjectAndProtocolMock : MKTProtocolMock 12 | 13 | + (instancetype)mockForClass:(Class)aClass protocol:(Protocol *)protocol; 14 | - (instancetype)initWithClass:(Class)aClass protocol:(Protocol *)protocol; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Mocking/MKTObjectMock.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTBaseMockObject.h" 5 | 6 | 7 | /** 8 | Mock object of a given class. 9 | */ 10 | @interface MKTObjectMock : MKTBaseMockObject 11 | 12 | + (instancetype)mockForClass:(Class)aClass; 13 | - (instancetype)initWithClass:(Class)aClass; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Mocking/MKTProtocolMock.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTBaseMockObject.h" 5 | 6 | 7 | /** 8 | Mock object implementing a given protocol. 9 | */ 10 | @interface MKTProtocolMock : MKTBaseMockObject 11 | 12 | @property (readonly, nonatomic, strong) Protocol *mockedProtocol; 13 | 14 | + (instancetype)mockForProtocol:(Protocol *)aProtocol; 15 | + (instancetype)mockForProtocol:(Protocol *)aProtocol includeOptionalMethods:(BOOL)includeOptionalMethods; 16 | 17 | - (instancetype)initWithProtocol:(Protocol *)aProtocol; 18 | - (instancetype)initWithProtocol:(Protocol *)aProtocol includeOptionalMethods:(BOOL)includeOptionalMethods; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Stubbing/MKTAnswer.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | @protocol MKTAnswer 8 | 9 | - (id)answerInvocation:(NSInvocation *)invocation; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Stubbing/MKTExecutesBlock.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTAnswer.h" 5 | 6 | 7 | @interface MKTExecutesBlock : NSObject 8 | 9 | - (instancetype)initWithBlock:(id (^)(NSInvocation *))block; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Stubbing/MKTExecutesBlock.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTExecutesBlock.h" 5 | 6 | 7 | @interface MKTExecutesBlock () 8 | @property (readonly, nonatomic, copy) id (^block)(NSInvocation *); 9 | @end 10 | 11 | @implementation MKTExecutesBlock 12 | 13 | - (instancetype)initWithBlock:(id (^)(NSInvocation *))block 14 | { 15 | self = [super init]; 16 | if (self) 17 | _block = [block copy]; 18 | return self; 19 | } 20 | 21 | - (id)answerInvocation:(NSInvocation *)invocation 22 | { 23 | return self.block(invocation); 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Stubbing/MKTInvocationContainer.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | @class MKTInvocationMatcher; 7 | @class MKTStubbedInvocationMatcher; 8 | @protocol HCMatcher; 9 | @protocol MKTAnswer; 10 | 11 | 12 | @interface MKTInvocationContainer : NSObject 13 | 14 | @property (readonly, nonatomic, strong) NSMutableArray *registeredInvocations; 15 | 16 | - (instancetype)init; 17 | - (void)setInvocationForPotentialStubbing:(NSInvocation *)invocation; 18 | - (void)setMatcher:(id )matcher atIndex:(NSUInteger)argumentIndex; 19 | - (void)addAnswer:(id )answer; 20 | - (MKTStubbedInvocationMatcher *)findAnswerFor:(NSInvocation *)invocation; 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Stubbing/MKTReturnsValue.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTAnswer.h" 5 | 6 | 7 | @interface MKTReturnsValue : NSObject 8 | 9 | - (instancetype)initWithValue:(id)value; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Stubbing/MKTReturnsValue.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTReturnsValue.h" 5 | 6 | 7 | @interface MKTReturnsValue () 8 | @property (readonly, nonatomic, strong) id value; 9 | @end 10 | 11 | @implementation MKTReturnsValue 12 | 13 | - (instancetype)initWithValue:(id)value 14 | { 15 | self = [super init]; 16 | if (self) 17 | _value = value; 18 | return self; 19 | } 20 | 21 | - (id)answerInvocation:(NSInvocation *)invocation 22 | { 23 | return self.value; 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Stubbing/MKTStubbedInvocationMatcher.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTInvocationMatcher.h" 5 | #import "MKTAnswer.h" 6 | 7 | 8 | @interface MKTStubbedInvocationMatcher : MKTInvocationMatcher 9 | 10 | - (void)addAnswer:(id )answer; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Stubbing/MKTStubbedInvocationMatcher.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTStubbedInvocationMatcher.h" 5 | 6 | 7 | @interface MKTStubbedInvocationMatcher () 8 | @property (readonly, nonatomic, copy) NSMutableArray *answers; 9 | @property (nonatomic, assign) NSUInteger index; 10 | @end 11 | 12 | @implementation MKTStubbedInvocationMatcher 13 | 14 | - (instancetype)init 15 | { 16 | self = [super init]; 17 | if (self) 18 | _answers = [[NSMutableArray alloc] init]; 19 | return self; 20 | } 21 | 22 | - (void)addAnswer:(id )answer 23 | { 24 | [self.answers addObject:answer]; 25 | } 26 | 27 | - (id)answerInvocation:(NSInvocation *)invocation 28 | { 29 | id a = self.answers[self.index]; 30 | NSUInteger bumpedIndex = self.index + 1; 31 | if (bumpedIndex < self.answers.count) 32 | self.index = bumpedIndex; 33 | return [a answerInvocation:invocation]; 34 | } 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Stubbing/MKTThrowsException.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTAnswer.h" 5 | 6 | 7 | @interface MKTThrowsException : NSObject 8 | 9 | - (instancetype)initWithException:(NSException *)exception; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Stubbing/MKTThrowsException.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTThrowsException.h" 5 | 6 | 7 | @interface MKTThrowsException () 8 | @property (readonly, nonatomic, strong) NSException *exception; 9 | @end 10 | 11 | @implementation MKTThrowsException 12 | 13 | - (instancetype)initWithException:(NSException *)exception 14 | { 15 | self = [super init]; 16 | if (self) 17 | _exception = exception; 18 | return self; 19 | } 20 | 21 | - (id)answerInvocation:(NSInvocation *)invocation 22 | { 23 | [self.exception raise]; 24 | return nil; 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Verifying/MKTAtLeastTimes.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | // Contribution by Markus Gasser 4 | 5 | #import 6 | #import "MKTVerificationMode.h" 7 | 8 | 9 | @interface MKTAtLeastTimes : NSObject 10 | 11 | - (instancetype)initWithMinimumCount:(NSUInteger)minNumberOfInvocations; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Verifying/MKTAtMostTimes.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | // Contribution by Emile Cantin 4 | 5 | #import 6 | #import "MKTVerificationMode.h" 7 | 8 | 9 | @interface MKTAtMostTimes : NSObject 10 | 11 | - (instancetype)initWithMaximumCount:(NSUInteger)maxNumberOfInvocations; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Verifying/MKTExactTimes.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | #import "MKTVerificationMode.h" 6 | 7 | 8 | @interface MKTExactTimes : NSObject 9 | 10 | - (instancetype)initWithCount:(NSUInteger)wantedNumberOfInvocations; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Verifying/MKTVerificationData.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | #import "MKTTestLocation.h" 7 | 8 | @class MKTInvocationContainer; 9 | @class MKTInvocationMatcher; 10 | 11 | 12 | @interface MKTVerificationData : NSObject 13 | 14 | @property (nonatomic, strong) MKTInvocationContainer *invocations; 15 | @property (nonatomic, strong) MKTInvocationMatcher *wanted; 16 | @property (nonatomic, assign) MKTTestLocation testLocation; 17 | 18 | - (NSUInteger)numberOfMatchingInvocations; 19 | - (void)captureArguments; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Verifying/MKTVerificationData.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MKTVerificationData.h" 5 | 6 | #import "MKTInvocationContainer.h" 7 | #import "MKTInvocationMatcher.h" 8 | 9 | 10 | @implementation MKTVerificationData 11 | 12 | - (NSUInteger)numberOfMatchingInvocations 13 | { 14 | NSUInteger count = 0; 15 | for (NSInvocation *invocation in self.invocations.registeredInvocations) 16 | { 17 | if ([self.wanted matches:invocation]) 18 | ++count; 19 | } 20 | return count; 21 | } 22 | 23 | - (void)captureArguments 24 | { 25 | [self.wanted captureArgumentsFromInvocations:self.invocations.registeredInvocations]; 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/OCMockito/Verifying/MKTVerificationMode.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | @class MKTVerificationData; 7 | 8 | 9 | @protocol MKTVerificationMode 10 | 11 | - (void)verifyData:(MKTVerificationData *)data; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/Tests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | org.mockito.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/Tests/MockTestCase.h: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | #define verifyWithMockTestCase(mock) \ 8 | MKTVerifyWithLocation(mock, mockTestCase, __FILE__, __LINE__) 9 | 10 | #define verifyCountWithMockTestCase(mock, mode) \ 11 | MKTVerifyCountWithLocation(mock, mode, mockTestCase, __FILE__, __LINE__) 12 | 13 | 14 | @interface MockTestCase : NSObject 15 | 16 | @property (nonatomic, assign) NSUInteger failureCount; 17 | @property (nonatomic, strong) NSException *failureException; 18 | 19 | - (void)failWithException:(NSException *)exception; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/Tests/MockTestCase.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #import "MockTestCase.h" 5 | 6 | 7 | @implementation MockTestCase 8 | 9 | - (void)failWithException:(NSException *)exception 10 | { 11 | ++_failureCount; 12 | [self setFailureException:exception]; 13 | } 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/Tests/StubClassTests.m: -------------------------------------------------------------------------------- 1 | // OCMockito by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | #define MOCKITO_SHORTHAND 5 | #import "OCMockito.h" 6 | 7 | // Test support 8 | #import 9 | 10 | #define HC_SHORTHAND 11 | #import 12 | 13 | @interface ClassMethodsReturningObject : NSObject 14 | @end 15 | 16 | @implementation ClassMethodsReturningObject 17 | 18 | + (id)methodReturningObject { return self; } 19 | 20 | @end 21 | 22 | 23 | @interface StubClassTests : SenTestCase 24 | @end 25 | 26 | @implementation StubClassTests 27 | { 28 | __strong Class mockClass; 29 | } 30 | 31 | - (void)setUp 32 | { 33 | [super setUp]; 34 | mockClass = mockClass([ClassMethodsReturningObject class]); 35 | } 36 | 37 | - (void)testStubbedMethod_ShouldReturnGivenObject 38 | { 39 | [given([mockClass methodReturningObject]) willReturn:@"STUBBED"]; 40 | 41 | assertThat([mockClass methodReturningObject], is(@"STUBBED")); 42 | } 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/ThirdParty/TPDWeakProxy-1.1.0/TPDWeakProxy/MKT_TPDWeakProxy.h: -------------------------------------------------------------------------------- 1 | // 2 | // TPDWeakProxy.h 3 | // TPDWeakProxy 4 | // 5 | // Copyright 2013 Tetherpad. 6 | // 7 | 8 | #import 9 | 10 | /** 11 | Instances of `TPDWeakProxy` hold a weak reference to the target object. 12 | */ 13 | 14 | @interface MKT_TPDWeakProxy : NSProxy 15 | 16 | /** 17 | Initializes an `TPDWeakProxy` object with the specified target object. 18 | 19 | @param object The target object for the proxy. 20 | 21 | @return The newly initialized proxy. 22 | */ 23 | - (instancetype)initWithObject:(id)object; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/XcodeCoverage/.gitignore: -------------------------------------------------------------------------------- 1 | env.sh 2 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/XcodeCoverage/XcodeCoverage.xcconfig: -------------------------------------------------------------------------------- 1 | // XcodeCoverage by Jon Reid, http://qualitycoding.org/about/ 2 | // Source: https://github.com/jonreid/XcodeCoverage 3 | 4 | GCC_GENERATE_TEST_COVERAGE_FILES = YES 5 | GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES 6 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/XcodeCoverage/cleancov: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # XcodeCoverage by Jon Reid, http://qualitycoding/about/ 3 | # Copyright 2015 Jonathan M. Reid. See LICENSE.txt 4 | 5 | scripts="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 6 | source "${scripts}/envcov.sh" 7 | 8 | LCOV --zerocounters -d "${OBJ_DIR}" 9 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/XcodeCoverage/envcov.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # XcodeCoverage by Jon Reid, http://qualitycoding/about/ 3 | # Copyright 2015 Jonathan M. Reid. See LICENSE.txt 4 | 5 | scripts="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 6 | source "${scripts}/env.sh" 7 | 8 | LCOV_PATH="${scripts}/lcov-1.11/bin" 9 | OBJ_DIR="${OBJECT_FILE_DIR_normal}/${CURRENT_ARCH}" 10 | 11 | # Fix for the new LLVM-COV that requires gcov to have a -v parameter 12 | LCOV() { 13 | "${LCOV_PATH}/lcov" "$@" --gcov-tool "${scripts}/llvm-cov-wrapper.sh" 14 | } 15 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/XcodeCoverage/exportenv.sh: -------------------------------------------------------------------------------- 1 | # XcodeCoverage by Jon Reid, http://qualitycoding/about/ 2 | # Copyright 2015 Jonathan M. Reid. See LICENSE.txt 3 | 4 | scripts="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 5 | export | egrep '( BUILT_PRODUCTS_DIR)|(CURRENT_ARCH)|(OBJECT_FILE_DIR_normal)|(SRCROOT)|(OBJROOT)' > "${scripts}/env.sh" 6 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/XcodeCoverage/llvm-cov-wrapper.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # XcodeCoverage by Jon Reid, http://qualitycoding/about/ 3 | # Copyright 2015 Jonathan M. Reid. See LICENSE.txt 4 | 5 | if [ "$1" = "-v" ]; then 6 | echo "llvm-cov-wrapper 4.2.1" 7 | exit 0 8 | else 9 | /usr/bin/gcov "$@" 10 | fi 11 | -------------------------------------------------------------------------------- /Carthage/Checkouts/OCMockito/Source/XcodeCoverage/run_code_coverage_post.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # XcodeCoverage by Jon Reid, http://qualitycoding/about/ 3 | # Copyright 2015 Jonathan M. Reid. See LICENSE.txt 4 | 5 | button=`/usr/bin/osascript < 10 | #import "EXPMatcher.h" 11 | #import "EXPDefines.h" 12 | 13 | @interface EXPBlockDefinedMatcher : NSObject { 14 | EXPBoolBlock prerequisiteBlock; 15 | EXPBoolBlock matchBlock; 16 | EXPStringBlock failureMessageForToBlock; 17 | EXPStringBlock failureMessageForNotToBlock; 18 | } 19 | 20 | @property(nonatomic, copy) EXPBoolBlock prerequisiteBlock; 21 | @property(nonatomic, copy) EXPBoolBlock matchBlock; 22 | @property(nonatomic, copy) EXPStringBlock failureMessageForToBlock; 23 | @property(nonatomic, copy) EXPStringBlock failureMessageForNotToBlock; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/EXPDefines.h: -------------------------------------------------------------------------------- 1 | // 2 | // EXPDefines.h 3 | // Expecta 4 | // 5 | // Created by Luke Redpath on 26/03/2012. 6 | // Copyright (c) 2012 Peter Jihoon Kim. All rights reserved. 7 | // 8 | 9 | #ifndef Expecta_EXPDefines_h 10 | #define Expecta_EXPDefines_h 11 | 12 | typedef void (^EXPBasicBlock)(); 13 | typedef id (^EXPIdBlock)(); 14 | typedef BOOL (^EXPBoolBlock)(); 15 | typedef NSString *(^EXPStringBlock)(); 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/EXPDoubleTuple.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface EXPDoubleTuple : NSObject { 4 | double *_values; 5 | size_t _size; 6 | } 7 | 8 | @property (nonatomic, assign) double *values; 9 | @property (nonatomic, assign) size_t size; 10 | 11 | - (instancetype)initWithDoubleValues:(double *)values size:(size_t)size NS_DESIGNATED_INITIALIZER; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/EXPFloatTuple.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface EXPFloatTuple : NSObject { 4 | float *_values; 5 | size_t _size; 6 | } 7 | 8 | @property (nonatomic, assign) float *values; 9 | @property (nonatomic, assign) size_t size; 10 | 11 | - (instancetype)initWithFloatValues:(float *)values size:(size_t)size NS_DESIGNATED_INITIALIZER; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/EXPMatcher.h: -------------------------------------------------------------------------------- 1 | // 2 | // EXPMatcher.h 3 | // Expecta 4 | // 5 | // Created by Luke Redpath on 26/03/2012. 6 | // Copyright (c) 2012 Peter Jihoon Kim. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @protocol EXPMatcher 12 | 13 | - (BOOL)matches:(id)actual; 14 | 15 | @optional 16 | - (BOOL)meetsPrerequesiteFor:(id)actual; 17 | - (NSString *)failureMessageForTo:(id)actual; 18 | - (NSString *)failureMessageForNotTo:(id)actual; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/EXPUnsupportedObject.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface EXPUnsupportedObject : NSObject { 4 | NSString *_type; 5 | } 6 | 7 | @property (nonatomic, retain) NSString *type; 8 | 9 | - (instancetype)initWithType:(NSString *)type NS_DESIGNATED_INITIALIZER; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/EXPUnsupportedObject.m: -------------------------------------------------------------------------------- 1 | #import "EXPUnsupportedObject.h" 2 | 3 | @implementation EXPUnsupportedObject 4 | 5 | @synthesize type=_type; 6 | 7 | - (instancetype)initWithType:(NSString *)type { 8 | self = [super init]; 9 | if(self) { 10 | self.type = type; 11 | } 12 | return self; 13 | } 14 | 15 | - (void)dealloc { 16 | self.type = nil; 17 | [super dealloc]; 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Expecta-Prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | # import 3 | #endif 4 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Expecta.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | //! Project version number for Expecta. 4 | FOUNDATION_EXPORT double ExpectaVersionNumber; 5 | 6 | //! Project version string for Expecta. 7 | FOUNDATION_EXPORT const unsigned char ExpectaVersionString[]; 8 | 9 | #import 10 | #import 11 | #import 12 | 13 | // Enable shorthand by default 14 | #define expect(...) EXP_expect((__VA_ARGS__)) 15 | #define failure(...) EXP_failure((__VA_ARGS__)) 16 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/ExpectaObject.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #define EXPObjectify(value) _EXPObjectify(@encode(__typeof__((value))), (value)) 4 | #define EXP_expect(actual) _EXP_expect(self, __LINE__, __FILE__, ^id{ return EXPObjectify((actual)); }) 5 | #define EXPMatcherInterface(matcherName, matcherArguments) _EXPMatcherInterface(matcherName, matcherArguments) 6 | #define EXPMatcherImplementationBegin(matcherName, matcherArguments) _EXPMatcherImplementationBegin(matcherName, matcherArguments) 7 | #define EXPMatcherImplementationEnd _EXPMatcherImplementationEnd 8 | #define EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments) _EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments) 9 | 10 | #define EXP_failure(message) EXPFail(self, __LINE__, __FILE__, message) 11 | 12 | 13 | @interface Expecta : NSObject 14 | 15 | + (NSTimeInterval)asynchronousTestTimeout; 16 | + (void)setAsynchronousTestTimeout:(NSTimeInterval)timeout; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/ExpectaObject.m: -------------------------------------------------------------------------------- 1 | #import "ExpectaObject.h" 2 | 3 | @implementation Expecta 4 | 5 | static NSTimeInterval _asynchronousTestTimeout = 1.0; 6 | 7 | + (NSTimeInterval)asynchronousTestTimeout { 8 | return _asynchronousTestTimeout; 9 | } 10 | 11 | + (void)setAsynchronousTestTimeout:(NSTimeInterval)timeout { 12 | _asynchronousTestTimeout = timeout; 13 | } 14 | 15 | @end -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatcherHelpers.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | BOOL EXPIsValuePointer(NSValue *value); 4 | BOOL EXPIsNumberFloat(NSNumber *number); 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatcherHelpers.m: -------------------------------------------------------------------------------- 1 | #import "EXPMatcherHelpers.h" 2 | 3 | BOOL EXPIsValuePointer(NSValue *value) { 4 | return [value objCType][0] == @encode(void *)[0]; 5 | } 6 | 7 | BOOL EXPIsNumberFloat(NSNumber *number) { 8 | return strcmp([number objCType], @encode(float)) == 0; 9 | } 10 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(_beCloseToWithin, (id expected, id within)); 4 | EXPMatcherInterface(beCloseToWithin, (id expected, id within)); 5 | 6 | #define beCloseTo(expected) _beCloseToWithin(EXPObjectify((expected)), nil) 7 | #define beCloseToWithin(expected, range) _beCloseToWithin(EXPObjectify((expected)), EXPObjectify((range))) 8 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beFalsy.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(beFalsy, (void)); 4 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beFalsy.m: -------------------------------------------------------------------------------- 1 | #import "EXPMatchers+beFalsy.h" 2 | #import "EXPMatcherHelpers.h" 3 | 4 | EXPMatcherImplementationBegin(beFalsy, (void)) { 5 | match(^BOOL{ 6 | if([actual isKindOfClass:[NSNumber class]]) { 7 | return ![(NSNumber *)actual boolValue]; 8 | } else if([actual isKindOfClass:[NSValue class]]) { 9 | if(EXPIsValuePointer((NSValue *)actual)) { 10 | return ![(NSValue *)actual pointerValue]; 11 | } 12 | } 13 | return !actual; 14 | }); 15 | 16 | failureMessageForTo(^NSString *{ 17 | return [NSString stringWithFormat:@"expected: a falsy value, got: %@, which is truthy", EXPDescribeObject(actual)]; 18 | }); 19 | 20 | failureMessageForNotTo(^NSString *{ 21 | return [NSString stringWithFormat:@"expected: a non-falsy value, got: %@, which is falsy", EXPDescribeObject(actual)]; 22 | }); 23 | } 24 | EXPMatcherImplementationEnd 25 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(_beGreaterThan, (id expected)); 4 | EXPMatcherInterface(beGreaterThan, (id expected)); 5 | 6 | #define beGreaterThan(expected) _beGreaterThan(EXPObjectify((expected))) 7 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.m: -------------------------------------------------------------------------------- 1 | #import "EXPMatchers+beGreaterThan.h" 2 | #import "EXPMatcherHelpers.h" 3 | 4 | EXPMatcherImplementationBegin(_beGreaterThan, (id expected)) { 5 | match(^BOOL{ 6 | if ([actual respondsToSelector:@selector(compare:)]) { 7 | return [actual compare:expected] == NSOrderedDescending; 8 | } 9 | return NO; 10 | }); 11 | 12 | failureMessageForTo(^NSString *{ 13 | return [NSString stringWithFormat:@"expected: %@ to be greater than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; 14 | }); 15 | 16 | failureMessageForNotTo(^NSString *{ 17 | return [NSString stringWithFormat:@"expected: %@ not to be greater than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; 18 | }); 19 | } 20 | EXPMatcherImplementationEnd -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(_beGreaterThanOrEqualTo, (id expected)); 4 | EXPMatcherInterface(beGreaterThanOrEqualTo, (id expected)); 5 | 6 | #define beGreaterThanOrEqualTo(expected) _beGreaterThanOrEqualTo(EXPObjectify((expected))) 7 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m: -------------------------------------------------------------------------------- 1 | #import "EXPMatchers+beGreaterThanOrEqualTo.h" 2 | #import "EXPMatcherHelpers.h" 3 | 4 | EXPMatcherImplementationBegin(_beGreaterThanOrEqualTo, (id expected)) { 5 | match(^BOOL{ 6 | if ([actual respondsToSelector:@selector(compare:)]) { 7 | return [actual compare:expected] != NSOrderedAscending; 8 | } 9 | return NO; 10 | }); 11 | 12 | failureMessageForTo(^NSString *{ 13 | return [NSString stringWithFormat:@"expected: %@ to be greater than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; 14 | }); 15 | 16 | failureMessageForNotTo(^NSString *{ 17 | return [NSString stringWithFormat:@"expected: %@ not to be greater than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; 18 | }); 19 | } 20 | EXPMatcherImplementationEnd -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(_beIdenticalTo, (void *expected)); 4 | EXPMatcherInterface(beIdenticalTo, (void *expected)); // to aid code completion 5 | 6 | #if __has_feature(objc_arc) 7 | #define beIdenticalTo(expected) _beIdenticalTo((__bridge void*)expected) 8 | #else 9 | #define beIdenticalTo(expected) _beIdenticalTo(expected) 10 | #endif 11 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.m: -------------------------------------------------------------------------------- 1 | #import "EXPMatchers+equal.h" 2 | #import "EXPMatcherHelpers.h" 3 | 4 | EXPMatcherImplementationBegin(_beIdenticalTo, (void *expected)) { 5 | match(^BOOL{ 6 | if(actual == expected) { 7 | return YES; 8 | } else if([actual isKindOfClass:[NSValue class]] && EXPIsValuePointer((NSValue *)actual)) { 9 | if([(NSValue *)actual pointerValue] == expected) { 10 | return YES; 11 | } 12 | } 13 | return NO; 14 | }); 15 | 16 | failureMessageForTo(^NSString *{ 17 | return [NSString stringWithFormat:@"expected: <%p>, got: <%p>", expected, actual]; 18 | }); 19 | 20 | failureMessageForNotTo(^NSString *{ 21 | return [NSString stringWithFormat:@"expected: not <%p>, got: <%p>", expected, actual]; 22 | }); 23 | } 24 | EXPMatcherImplementationEnd 25 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(_beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound)); 4 | EXPMatcherInterface(beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound)); 5 | 6 | #define beInTheRangeOf(expectedLowerBound, expectedUpperBound) _beInTheRangeOf(EXPObjectify((expectedLowerBound)), EXPObjectify((expectedUpperBound))) 7 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(beInstanceOf, (Class expected)); 4 | EXPMatcherInterface(beAnInstanceOf, (Class expected)); 5 | EXPMatcherInterface(beMemberOf, (Class expected)); 6 | EXPMatcherInterface(beAMemberOf, (Class expected)); 7 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beKindOf.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(beKindOf, (Class expected)); 4 | EXPMatcherInterface(beAKindOf, (Class expected)); 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beLessThan.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(_beLessThan, (id expected)); 4 | EXPMatcherInterface(beLessThan, (id expected)); 5 | 6 | #define beLessThan(expected) _beLessThan(EXPObjectify((expected))) 7 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beLessThan.m: -------------------------------------------------------------------------------- 1 | #import "EXPMatchers+beLessThan.h" 2 | #import "EXPMatcherHelpers.h" 3 | 4 | EXPMatcherImplementationBegin(_beLessThan, (id expected)) { 5 | match(^BOOL{ 6 | if ([actual respondsToSelector:@selector(compare:)]) { 7 | return [actual compare:expected] == NSOrderedAscending; 8 | } 9 | return NO; 10 | }); 11 | 12 | failureMessageForTo(^NSString *{ 13 | return [NSString stringWithFormat:@"expected: %@ to be less than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; 14 | }); 15 | 16 | failureMessageForNotTo(^NSString *{ 17 | return [NSString stringWithFormat:@"expected: %@ not to be less than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; 18 | }); 19 | } 20 | EXPMatcherImplementationEnd -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(_beLessThanOrEqualTo, (id expected)); 4 | EXPMatcherInterface(beLessThanOrEqualTo, (id expected)); 5 | 6 | #define beLessThanOrEqualTo(expected) _beLessThanOrEqualTo(EXPObjectify((expected))) 7 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m: -------------------------------------------------------------------------------- 1 | #import "EXPMatchers+beLessThanOrEqualTo.h" 2 | #import "EXPMatcherHelpers.h" 3 | 4 | EXPMatcherImplementationBegin(_beLessThanOrEqualTo, (id expected)) { 5 | match(^BOOL{ 6 | if ([actual respondsToSelector:@selector(compare:)]) { 7 | return [actual compare:expected] != NSOrderedDescending; 8 | } 9 | return NO; 10 | }); 11 | 12 | failureMessageForTo(^NSString *{ 13 | return [NSString stringWithFormat:@"expected: %@ to be less than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; 14 | }); 15 | 16 | failureMessageForNotTo(^NSString *{ 17 | return [NSString stringWithFormat:@"expected: %@ not to be less than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)]; 18 | }); 19 | } 20 | EXPMatcherImplementationEnd -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beNil.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(beNil, (void)); 4 | EXPMatcherInterface(beNull, (void)); 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beNil.m: -------------------------------------------------------------------------------- 1 | #import "EXPMatchers+beNil.h" 2 | 3 | EXPMatcherImplementationBegin(beNil, (void)) { 4 | match(^BOOL{ 5 | return actual == nil; 6 | }); 7 | 8 | failureMessageForTo(^NSString *{ 9 | return [NSString stringWithFormat:@"expected: nil/null, got: %@", EXPDescribeObject(actual)]; 10 | }); 11 | 12 | failureMessageForNotTo(^NSString *{ 13 | return [NSString stringWithFormat:@"expected: not nil/null, got: %@", EXPDescribeObject(actual)]; 14 | }); 15 | } 16 | EXPMatcherImplementationEnd 17 | 18 | EXPMatcherAliasImplementation(beNull, beNil, (void)); 19 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(beSubclassOf, (Class expected)); 4 | EXPMatcherInterface(beASubclassOf, (Class expected)); 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(beSupersetOf, (id subset)); 4 | 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beTruthy.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(beTruthy, (void)); 4 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beTruthy.m: -------------------------------------------------------------------------------- 1 | #import "EXPMatchers+beTruthy.h" 2 | #import "EXPMatcherHelpers.h" 3 | 4 | EXPMatcherImplementationBegin(beTruthy, (void)) { 5 | match(^BOOL{ 6 | if([actual isKindOfClass:[NSNumber class]]) { 7 | return !![(NSNumber *)actual boolValue]; 8 | } else if([actual isKindOfClass:[NSValue class]]) { 9 | if(EXPIsValuePointer((NSValue *)actual)) { 10 | return !![(NSValue *)actual pointerValue]; 11 | } 12 | } 13 | return !!actual; 14 | }); 15 | 16 | failureMessageForTo(^NSString *{ 17 | return [NSString stringWithFormat:@"expected: a truthy value, got: %@, which is falsy", EXPDescribeObject(actual)]; 18 | }); 19 | 20 | failureMessageForNotTo(^NSString *{ 21 | return [NSString stringWithFormat:@"expected: a non-truthy value, got: %@, which is truthy", EXPDescribeObject(actual)]; 22 | }); 23 | } 24 | EXPMatcherImplementationEnd 25 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+beginWith.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(beginWith, (id expected)); 4 | EXPMatcherInterface(startWith, (id expected)); 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+conformTo.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(conformTo, (Protocol *expected)); 4 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+contain.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(_contain, (id expected)); 4 | EXPMatcherInterface(contain, (id expected)); // to aid code completion 5 | #define contain(expected) _contain(EXPObjectify((expected))) 6 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+endWith.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(endWith, (id expected)); 4 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+equal.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(_equal, (id expected)); 4 | EXPMatcherInterface(equal, (id expected)); // to aid code completion 5 | #define equal(...) _equal(EXPObjectify((__VA_ARGS__))) 6 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(haveCountOf, (NSUInteger expected)); 4 | EXPMatcherInterface(haveCount, (NSUInteger expected)); 5 | EXPMatcherInterface(haveACountOf, (NSUInteger expected)); 6 | EXPMatcherInterface(haveLength, (NSUInteger expected)); 7 | EXPMatcherInterface(haveLengthOf, (NSUInteger expected)); 8 | EXPMatcherInterface(haveALengthOf, (NSUInteger expected)); 9 | 10 | #define beEmpty() haveCountOf(0) 11 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+match.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(match, (NSString *expected)); 4 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+postNotification.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(postNotification, (id expectedNotification)); 4 | EXPMatcherInterface(notify, (id expectedNotification)); 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+raise.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(raise, (NSString *expectedExceptionName)); 4 | #define raiseAny() raise(nil) 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(raiseWithReason, (NSString *expectedExceptionName, NSString *expectedReason)); 4 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers+respondTo.h: -------------------------------------------------------------------------------- 1 | #import "Expecta.h" 2 | 3 | EXPMatcherInterface(respondTo, (SEL expected)); 4 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/Matchers/EXPMatchers.h: -------------------------------------------------------------------------------- 1 | #import "EXPMatchers+beNil.h" 2 | #import "EXPMatchers+equal.h" 3 | #import "EXPMatchers+beInstanceOf.h" 4 | #import "EXPMatchers+beKindOf.h" 5 | #import "EXPMatchers+beSubclassOf.h" 6 | #import "EXPMatchers+conformTo.h" 7 | #import "EXPMatchers+beTruthy.h" 8 | #import "EXPMatchers+beFalsy.h" 9 | #import "EXPMatchers+contain.h" 10 | #import "EXPMatchers+beSupersetOf.h" 11 | #import "EXPMatchers+haveCountOf.h" 12 | #import "EXPMatchers+beIdenticalTo.h" 13 | #import "EXPMatchers+beGreaterThan.h" 14 | #import "EXPMatchers+beGreaterThanOrEqualTo.h" 15 | #import "EXPMatchers+beLessThan.h" 16 | #import "EXPMatchers+beLessThanOrEqualTo.h" 17 | #import "EXPMatchers+beInTheRangeOf.h" 18 | #import "EXPMatchers+beCloseTo.h" 19 | #import "EXPMatchers+raise.h" 20 | #import "EXPMatchers+raiseWithReason.h" 21 | #import "EXPMatchers+respondTo.h" 22 | #import "EXPMatchers+postNotification.h" 23 | #import "EXPMatchers+beginWith.h" 24 | #import "EXPMatchers+endWith.h" 25 | #import "EXPMatchers+match.h" 26 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/NSObject+Expecta.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface NSObject (Expecta) 4 | 5 | - (void)recordFailureWithDescription:(NSString *)description 6 | inFile:(NSString *)filename 7 | atLine:(NSUInteger)lineNumber 8 | expected:(BOOL)expected; 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/NSValue+Expecta.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface NSValue (Expecta) 4 | 5 | @property (nonatomic) const char *_EXP_objCType; 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Expecta/NSValue+Expecta.m: -------------------------------------------------------------------------------- 1 | #import "NSValue+Expecta.h" 2 | #import 3 | #import "Expecta.h" 4 | 5 | EXPFixCategoriesBug(NSValue_Expecta); 6 | 7 | @implementation NSValue (Expecta) 8 | 9 | static char _EXP_typeKey; 10 | 11 | - (const char *)_EXP_objCType { 12 | return [(NSString *)objc_getAssociatedObject(self, &_EXP_typeKey) cStringUsingEncoding:NSASCIIStringEncoding]; 13 | } 14 | 15 | - (void)set_EXP_objCType:(const char *)_EXP_objCType { 16 | objc_setAssociatedObject(self, &_EXP_typeKey, 17 | @(_EXP_objCType), 18 | OBJC_ASSOCIATION_COPY_NONATOMIC); 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Tests/Helpers/EXPExpect+Test.h: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | 3 | @interface EXPExpect (Test) 4 | 5 | @property (nonatomic, readonly) EXPExpect *test; 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Tests/Helpers/EXPExpect+Test.m: -------------------------------------------------------------------------------- 1 | #import "EXPExpect+Test.h" 2 | #import "FakeTestCase.h" 3 | 4 | @implementation EXPExpect (Test) 5 | 6 | - (EXPExpect *)test { 7 | self.testCase = [[FakeTestCase new] autorelease]; 8 | return self; 9 | } 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Tests/Helpers/FakeTestCase.h: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | 3 | @interface FakeTestCase : NSObject 4 | 5 | - (void)recordFailureWithDescription:(NSString *)description 6 | inFile:(NSString *)filename 7 | atLine:(NSUInteger)lineNumber 8 | expected:(BOOL)expected; 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Tests/Helpers/FakeTestCase.m: -------------------------------------------------------------------------------- 1 | #import "FakeTestCase.h" 2 | #import 3 | 4 | @implementation FakeTestCase 5 | 6 | - (void)recordFailureWithDescription:(NSString *)description 7 | inFile:(NSString *)filename 8 | atLine:(NSUInteger)lineNumber 9 | expected:(BOOL)expected { 10 | [NSException raise:description format:nil]; 11 | } 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Tests/Helpers/Fixtures.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @protocol Protocol @end 4 | 5 | @interface Foo : NSObject 6 | - (void)fooMethod; 7 | @end 8 | 9 | @interface Bar : Foo; @end; 10 | 11 | @interface Baz : NSObject 12 | + (void)bazClassMethod; 13 | @end 14 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Tests/Helpers/Fixtures.m: -------------------------------------------------------------------------------- 1 | #import "Fixtures.h" 2 | 3 | @implementation Foo 4 | - (void)fooMethod {} 5 | @end 6 | 7 | @implementation Bar; @end 8 | 9 | @implementation Baz 10 | + (void)bazClassMethod {} 11 | @end 12 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Tests/Helpers/TestHelper.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #define EXP_SHORTHAND 4 | #import "Expecta.h" 5 | #import "FakeTestCase.h" 6 | #import "EXPExpect+Test.h" 7 | #import "Fixtures.h" 8 | 9 | #define assertPass(expr) \ 10 | XCTAssertNoThrow((expr)) 11 | 12 | #define assertFail(expr, message...) \ 13 | XCTAssertThrowsSpecificNamed(expr, NSException, ## message) 14 | 15 | #define assertEquals(a, b) XCTAssertEqual((a), (b)) 16 | #define assertEqualObjects(a, b) XCTAssertEqualObjects((a), (b)) 17 | #define assertTrue(a) XCTAssertTrue((a)) 18 | #define assertFalse(a) XCTAssertFalse((a)) 19 | #define assertNil(a) XCTAssertNil((a)) 20 | 21 | #define test_expect(a) [expect(a) test] 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Tests/NSValue+ExpectaTest.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | #import "NSValue+Expecta.h" 3 | 4 | @interface NSValue_ExpectaTest : XCTestCase 5 | @end 6 | 7 | @implementation NSValue_ExpectaTest 8 | 9 | - (void)test_EXP_objcType { 10 | int *a; 11 | char *b; 12 | NSValue *foo = [NSValue valueWithPointer:&a]; 13 | NSValue *bar = [NSValue valueWithPointer:&b]; 14 | [foo set_EXP_objCType:@encode(int)]; 15 | [bar set_EXP_objCType:@encode(char)]; 16 | assertTrue(strcmp([foo _EXP_objCType], @encode(int)) == 0); 17 | assertTrue(strcmp([bar _EXP_objCType], @encode(char)) == 0); 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Tests/Support/Test-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.raingrove.expecta.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Tests/Support/objc-build-scripts/bootstrap: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export SCRIPT_DIR=$(dirname "$0") 4 | 5 | ## 6 | ## Bootstrap Process 7 | ## 8 | 9 | main () 10 | { 11 | local submodules=$(git submodule status) 12 | local result=$? 13 | 14 | if [ "$result" -ne "0" ] 15 | then 16 | exit $result 17 | fi 18 | 19 | if [ -n "$submodules" ] 20 | then 21 | echo "*** Updating submodules..." 22 | update_submodules 23 | fi 24 | } 25 | 26 | bootstrap_submodule () 27 | { 28 | local bootstrap="script/bootstrap" 29 | 30 | if [ -e "$bootstrap" ] 31 | then 32 | echo "*** Bootstrapping $name..." 33 | "$bootstrap" >/dev/null 34 | else 35 | update_submodules 36 | fi 37 | } 38 | 39 | update_submodules () 40 | { 41 | git submodule sync --quiet && git submodule update --init && git submodule foreach --quiet bootstrap_submodule 42 | } 43 | 44 | export -f bootstrap_submodule 45 | export -f update_submodules 46 | 47 | main 48 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Tests/Support/objc-build-scripts/schemes.awk: -------------------------------------------------------------------------------- 1 | BEGIN { 2 | FS = "\n"; 3 | } 4 | 5 | /Schemes:/ { 6 | while (getline && $0 != "") { 7 | sub(/^ +/, ""); 8 | print "'" $0 "'"; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Carthage/Checkouts/expecta/Tests/Support/objc-build-scripts/xctool.awk: -------------------------------------------------------------------------------- 1 | # Exit statuses: 2 | # 3 | # 0 - No errors found. 4 | # 1 - Wrong SDK. Retry with SDK `iphonesimulator`. 5 | # 2 - Missing target. 6 | 7 | BEGIN { 8 | status = 0; 9 | } 10 | 11 | { 12 | print; 13 | } 14 | 15 | /Testing with the '(.+)' SDK is not yet supported/ { 16 | status = 1; 17 | } 18 | 19 | /does not contain a target named/ { 20 | status = 2; 21 | } 22 | 23 | END { 24 | exit status; 25 | } 26 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | xcuserdata 3 | *.xcworkspace 4 | .idea 5 | build 6 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/.travis.yml: -------------------------------------------------------------------------------- 1 | language: objective-c 2 | before_install: 3 | - gem install xcpretty --no-rdoc --no-ri --no-document --quiet 4 | script: make 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/ArcExample/ArcExample/ArcExample-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'ArcExample' target in the 'ArcExample' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/ArcExample/ArcExample/main.m: -------------------------------------------------------------------------------- 1 | 2 | #import 3 | #import 4 | 5 | @protocol SomeDelegateProtocol 6 | - (void)doStuff; 7 | @end 8 | 9 | @interface SomeClass : NSObject 10 | @property (nonatomic, weak) id delegate; 11 | @end 12 | 13 | @implementation SomeClass 14 | 15 | @synthesize delegate; 16 | 17 | @end 18 | 19 | 20 | int main (int argc, const char * argv[]) 21 | { 22 | 23 | @autoreleasepool { 24 | 25 | SomeClass *someObject = [[SomeClass alloc] init]; 26 | id delegate = [OCMockObject mockForProtocol:@protocol(SomeDelegateProtocol)]; 27 | someObject.delegate = delegate; 28 | NSLog(@"delegate = %@", delegate); 29 | NSLog(@"someObject = %@", someObject.delegate); 30 | 31 | } 32 | return 0; 33 | } 34 | 35 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/SwiftExamples/SwiftExamples/Connection.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Connection.swift 3 | // SwiftExperiments 4 | // 5 | // Created by Erik D on 05/06/14. 6 | // Copyright (c) 2014 Mulle Kybernetik. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | @objc 12 | protocol Connection { 13 | func fetchData() -> String 14 | } 15 | 16 | class ServerConnection : NSObject, Connection { 17 | func fetchData() -> String { 18 | return "real data returned from other system" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/SwiftExamples/SwiftExamples/Controller.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Controller.swift 3 | // SwiftExperiments 4 | // 5 | // Created by Erik D on 05/06/14. 6 | // Copyright (c) 2014 Mulle Kybernetik. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | @objc 12 | class Controller { 13 | var connection: Connection; 14 | var data: String; 15 | 16 | class func newController() -> Controller { 17 | return Controller() 18 | } 19 | 20 | init() { 21 | self.connection = ServerConnection(); 22 | self.data = ""; 23 | } 24 | 25 | func redisplay() { 26 | data = connection.fetchData(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/SwiftExamples/SwiftExamplesTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.mulle-kybernetik.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/SwiftExamples/SwiftExamplesTests/SwiftExamplesTests-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/SwiftExamples/usr/include/OCMock/NSNotificationCenter+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2014 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class OCObserverMockObject; 20 | 21 | 22 | @interface NSNotificationCenter(OCMAdditions) 23 | 24 | - (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/SwiftExamples/usr/lib/libOCMock.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merrickp/JumpMarks/323b1f2b592cb9c97b8a67d795042946ca1c2f10/Carthage/Checkouts/ocmock/Examples/SwiftExamples/usr/lib/libOCMock.a -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS5Example/iOS5Example/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // iOS5Example 4 | // 5 | 6 | #import 7 | 8 | @interface AppDelegate : UIResponder 9 | 10 | @property (strong, nonatomic) UIWindow *window; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS5Example/iOS5Example/DetailViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // DetailViewController.h 3 | // iOS5Example 4 | // 5 | 6 | #import 7 | 8 | @interface DetailViewController : UIViewController 9 | 10 | @property (strong, nonatomic) id detailItem; 11 | 12 | @property (strong, nonatomic) IBOutlet UILabel *detailDescriptionLabel; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS5Example/iOS5Example/MasterViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MasterViewController.h 3 | // iOS5Example 4 | // 5 | 6 | #import 7 | 8 | @class DetailViewController; 9 | 10 | @interface MasterViewController : UITableViewController 11 | 12 | @property (strong, nonatomic) DetailViewController *detailViewController; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS5Example/iOS5Example/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS5Example/iOS5Example/iOS5Example-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'iOS5Example' target in the 'iOS5Example' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_5_0 8 | #warning "This project uses features only available in iOS SDK 5.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS5Example/iOS5Example/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // iOS5Example 4 | // 5 | 6 | #import 7 | 8 | #import "AppDelegate.h" 9 | 10 | int main(int argc, char *argv[]) 11 | { 12 | @autoreleasepool { 13 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS5Example/iOS5ExampleTests/ProtocolTests.h: -------------------------------------------------------------------------------- 1 | // 2 | // ProtocolTests.h 3 | // iOS5Example 4 | // 5 | 6 | #import 7 | 8 | @interface ProtocolTests : SenTestCase 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS5Example/iOS5ExampleTests/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS5Example/iOS5ExampleTests/iOS5ExampleTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.mulle-kybernetik.ocmock.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS5Example/iOS5ExampleTests/iOS5ExampleTests.h: -------------------------------------------------------------------------------- 1 | // 2 | // iOS5ExampleTests.h 3 | // iOS5ExampleTests 4 | // 5 | 6 | #import 7 | 8 | @interface iOS5ExampleTests : SenTestCase 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS5Example/usr/include/OCMock/NSNotificationCenter+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------------------- 2 | // $Id$ 3 | // Copyright (c) 2009 by Mulle Kybernetik. See License file for details. 4 | //--------------------------------------------------------------------------------------- 5 | 6 | #import 7 | 8 | @class OCMockObserver; 9 | 10 | 11 | @interface NSNotificationCenter(OCMAdditions) 12 | 13 | - (void)addMockObserver:(OCMockObserver *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS5Example/usr/include/OCMock/OCMArg.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------------------- 2 | // $Id$ 3 | // Copyright (c) 2009-2010 by Mulle Kybernetik. See License file for details. 4 | //--------------------------------------------------------------------------------------- 5 | 6 | #import 7 | 8 | @interface OCMArg : NSObject 9 | 10 | // constraining arguments 11 | 12 | + (id)any; 13 | + (void *)anyPointer; 14 | + (id)isNil; 15 | + (id)isNotNil; 16 | + (id)isNotEqual:(id)value; 17 | + (id)checkWithSelector:(SEL)selector onObject:(id)anObject; 18 | #if NS_BLOCKS_AVAILABLE 19 | + (id)checkWithBlock:(BOOL (^)(id))block; 20 | #endif 21 | 22 | // manipulating arguments 23 | 24 | + (id *)setTo:(id)value; 25 | 26 | // internal use only 27 | 28 | + (id)resolveSpecialValues:(NSValue *)value; 29 | 30 | @end 31 | 32 | #define OCMOCK_ANY [OCMArg any] 33 | #define OCMOCK_VALUE(variable) [NSValue value:&variable withObjCType:@encode(__typeof__(variable))] 34 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS5Example/usr/include/OCMock/OCMock.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------------------- 2 | // $Id$ 3 | // Copyright (c) 2004-2008 by Mulle Kybernetik. See License file for details. 4 | //--------------------------------------------------------------------------------------- 5 | 6 | #import 7 | #import 8 | #import 9 | #import 10 | #import 11 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS5Example/usr/lib/libOCMock.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merrickp/JumpMarks/323b1f2b592cb9c97b8a67d795042946ca1c2f10/Carthage/Checkouts/ocmock/Examples/iOS5Example/usr/lib/libOCMock.a -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS7Example/iOS7Example/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // iOS7Example 4 | // 5 | // Created by Erik Doernenburg on 10/06/2014. 6 | // Copyright (c) 2014 Erik Doernenburg. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS7Example/iOS7Example/DetailViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // DetailViewController.h 3 | // iOS7Example 4 | // 5 | // Created by Erik Doernenburg on 10/06/2014. 6 | // Copyright (c) 2014 Erik Doernenburg. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface DetailViewController : UIViewController 12 | 13 | @property (strong, nonatomic) id detailItem; 14 | 15 | @property (weak, nonatomic) IBOutlet UILabel *detailDescriptionLabel; 16 | @end 17 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS7Example/iOS7Example/MasterViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MasterViewController.h 3 | // iOS7Example 4 | // 5 | // Created by Erik Doernenburg on 10/06/2014. 6 | // Copyright (c) 2014 Erik Doernenburg. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class DetailViewController; 12 | 13 | @interface MasterViewController : UITableViewController 14 | 15 | @property (strong, nonatomic) DetailViewController *detailViewController; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS7Example/iOS7Example/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS7Example/iOS7Example/iOS7Example-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #import 8 | 9 | #ifndef __IPHONE_5_0 10 | #warning "This project uses features only available in iOS SDK 5.0 and later." 11 | #endif 12 | 13 | #ifdef __OBJC__ 14 | #import 15 | #import 16 | #endif 17 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS7Example/iOS7Example/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // iOS7Example 4 | // 5 | // Created by Erik Doernenburg on 10/06/2014. 6 | // Copyright (c) 2014 Erik Doernenburg. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "AppDelegate.h" 12 | 13 | int main(int argc, char * argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS7Example/iOS7ExampleTests/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS7Example/iOS7ExampleTests/iOS7ExampleTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.mulle-kybernetik.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS7Example/usr/include/OCMock/NSNotificationCenter+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2014 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class OCObserverMockObject; 20 | 21 | 22 | @interface NSNotificationCenter(OCMAdditions) 23 | 24 | - (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iOS7Example/usr/lib/libOCMock.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merrickp/JumpMarks/323b1f2b592cb9c97b8a67d795042946ca1c2f10/Carthage/Checkouts/ocmock/Examples/iOS7Example/usr/lib/libOCMock.a -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iPhoneExample/Classes/RootViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RootViewController.h 3 | // iPhoneExample 4 | // 5 | // Created by Erik Doernenburg on 20/07/10. 6 | // Copyright Mulle Kybernetik 2010. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface RootViewController : UITableViewController { 12 | } 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iPhoneExample/Classes/iPhoneExampleAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // iPhoneExampleAppDelegate.h 3 | // iPhoneExample 4 | // 5 | // Created by Erik Doernenburg on 20/07/10. 6 | // Copyright Mulle Kybernetik 2010. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface iPhoneExampleAppDelegate : NSObject { 12 | 13 | UIWindow *window; 14 | UINavigationController *navigationController; 15 | } 16 | 17 | @property (nonatomic, retain) IBOutlet UIWindow *window; 18 | @property (nonatomic, retain) IBOutlet UINavigationController *navigationController; 19 | 20 | @end 21 | 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iPhoneExample/Libraries/Headers/OCMock/NSNotificationCenter+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------------------- 2 | // $Id: NSNotificationCenter+OCMAdditions.h 57 2010-07-19 06:14:27Z erik $ 3 | // Copyright (c) 2009 by Mulle Kybernetik. See License file for details. 4 | //--------------------------------------------------------------------------------------- 5 | 6 | #import 7 | 8 | @class OCMockObserver; 9 | 10 | 11 | @interface NSNotificationCenter(OCMAdditions) 12 | 13 | - (void)addMockObserver:(OCMockObserver *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iPhoneExample/Libraries/Headers/OCMock/OCMock.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------------------- 2 | // $Id: OCMock.h 39 2009-04-09 05:31:28Z erik $ 3 | // Copyright (c) 2004-2008 by Mulle Kybernetik. See License file for details. 4 | //--------------------------------------------------------------------------------------- 5 | 6 | #import 7 | #import 8 | #import 9 | #import 10 | #import 11 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iPhoneExample/Libraries/libOCMock.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merrickp/JumpMarks/323b1f2b592cb9c97b8a67d795042946ca1c2f10/Carthage/Checkouts/ocmock/Examples/iPhoneExample/Libraries/libOCMock.a -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iPhoneExample/OCMockLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merrickp/JumpMarks/323b1f2b592cb9c97b8a67d795042946ca1c2f10/Carthage/Checkouts/ocmock/Examples/iPhoneExample/OCMockLogo.png -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iPhoneExample/Tests/RootViewControllerTests.h: -------------------------------------------------------------------------------- 1 | // 2 | // RootViewControllerTests.h 3 | // iPhoneExample 4 | // 5 | // Created by Erik Doernenburg on 20/07/10. 6 | // Copyright 2010 Mulle Kybernetik. All rights reserved. 7 | // 8 | // See Also: http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/135-Unit_Testing_Applications/unit_testing_applications.html 9 | 10 | 11 | #import 12 | #import 13 | 14 | 15 | @interface RootViewControllerTests : SenTestCase 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iPhoneExample/iPhoneExampleTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.yourcompany.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iPhoneExample/iPhoneExample_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'iPhoneExample' target in the 'iPhoneExample' project 3 | // 4 | #import 5 | 6 | #ifndef __IPHONE_3_0 7 | #warning "This project uses features only available in iPhone SDK 3.0 and later." 8 | #endif 9 | 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Examples/iPhoneExample/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // iPhoneExample 4 | // 5 | // Created by Erik Doernenburg on 20/07/10. 6 | // Copyright Mulle Kybernetik 2010. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) { 12 | 13 | NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 14 | int retVal = UIApplicationMain(argc, argv, nil, nil); 15 | [pool release]; 16 | return retVal; 17 | } 18 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Makefile: -------------------------------------------------------------------------------- 1 | # This makefile is mainly intended for use on the CI server (Travis). It 2 | # requires xcpretty to be installed. 3 | 4 | # If you are trying to build a release locally consider using the build.rb 5 | # script in the Tools directory instead. 6 | 7 | 8 | BUILD_DIR = OBJROOT="$(CURDIR)/build" SYMROOT="$(CURDIR)/build" 9 | SHELL = /bin/bash -e -o pipefail 10 | IPHONE = -scheme OCMockLib -sdk iphonesimulator -destination 'name=iPhone 4S' $(BUILD_DIR) 11 | MACOSX = -scheme OCMock -sdk macosx $(BUILD_DIR) 12 | XCODEBUILD = xcodebuild -project "$(CURDIR)/Source/OCMock.xcodeproj" 13 | 14 | ci: clean test 15 | 16 | clean: 17 | $(XCODEBUILD) clean 18 | rm -rf "$(CURDIR)/build" 19 | 20 | test: test-iphone test-macosx 21 | 22 | test-iphone: 23 | @echo "Running iPhone tests..." 24 | $(XCODEBUILD) $(IPHONE) test | xcpretty -c 25 | 26 | test-macosx: 27 | @echo "Running OS X tests..." 28 | $(XCODEBUILD) $(MACOSX) test | xcpretty -c 29 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/README.md: -------------------------------------------------------------------------------- 1 | OCMock 2 | ====== 3 | 4 | OCMock is an Objective-C implementation of mock objects. 5 | 6 | Github is used to store and manage the source code. 7 | 8 | For downloads, documentation, and support please visit [ocmock.org][]. 9 | 10 | [![Build Status](https://travis-ci.org/erikdoe/ocmock.svg?branch=master)](https://travis-ci.org/erikdoe/ocmock) 11 | 12 | [ocmock.org]: http://ocmock.org/ 13 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/Frameworks/OCHamcrest.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merrickp/JumpMarks/323b1f2b592cb9c97b8a67d795042946ca1c2f10/Carthage/Checkouts/ocmock/Source/Frameworks/OCHamcrest.tar.bz2 -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | com.mulle-kybernetik.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/NSNotificationCenter+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class OCObserverMockObject; 20 | 21 | 22 | @interface NSNotificationCenter(OCMAdditions) 23 | 24 | - (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/NSObject+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface NSObject(OCMAdditions) 20 | 21 | + (IMP)instanceMethodForwarderForSelector:(SEL)aSelector; 22 | + (void)enumerateMethodsInClass:(Class)aClass usingBlock:(void (^)(Class cls, SEL sel))aBlock; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/NSValue+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface NSValue(OCMAdditions) 20 | 21 | - (BOOL)getBytes:(void *)outputBuf objCType:(const char *)targetType; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCMBlockCaller.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | 20 | @interface OCMBlockCaller : NSObject 21 | { 22 | void (^block)(NSInvocation *); 23 | } 24 | 25 | - (id)initWithCallBlock:(void (^)(NSInvocation *))theBlock; 26 | 27 | - (void)handleInvocation:(NSInvocation *)anInvocation; 28 | 29 | @end 30 | 31 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCMBoxedReturnValueProvider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCMReturnValueProvider.h" 18 | 19 | @interface OCMBoxedReturnValueProvider : OCMReturnValueProvider 20 | { 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCMExceptionReturnValueProvider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCMReturnValueProvider.h" 18 | 19 | @interface OCMExceptionReturnValueProvider : OCMReturnValueProvider 20 | { 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCMExceptionReturnValueProvider.m: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCMExceptionReturnValueProvider.h" 18 | 19 | 20 | @implementation OCMExceptionReturnValueProvider 21 | 22 | - (void)handleInvocation:(NSInvocation *)anInvocation 23 | { 24 | @throw returnValue; 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCMExpectationRecorder.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2004-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCMExpectationRecorder : OCMStubRecorder 20 | 21 | - (id)never; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCMIndirectReturnValueProvider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCMIndirectReturnValueProvider : NSObject 20 | { 21 | id provider; 22 | SEL selector; 23 | } 24 | 25 | - (id)initWithProvider:(id)aProvider andSelector:(SEL)aSelector; 26 | 27 | - (void)handleInvocation:(NSInvocation *)anInvocation; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCMInvocationExpectation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCMInvocationStub.h" 18 | 19 | @interface OCMInvocationExpectation : OCMInvocationStub 20 | { 21 | BOOL matchAndReject; 22 | BOOL isSatisfied; 23 | } 24 | 25 | - (void)setMatchAndReject:(BOOL)flag; 26 | - (BOOL)isMatchAndReject; 27 | 28 | - (BOOL)isSatisfied; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCMInvocationStub.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCMInvocationMatcher.h" 18 | 19 | @interface OCMInvocationStub : OCMInvocationMatcher 20 | { 21 | NSMutableArray *invocationActions; 22 | } 23 | 24 | - (void)addInvocationAction:(id)anAction; 25 | - (NSArray *)invocationActions; 26 | 27 | - (void)handleInvocation:(NSInvocation *)anInvocation; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCMNotificationPoster.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCMNotificationPoster : NSObject 20 | { 21 | NSNotification *notification; 22 | } 23 | 24 | - (id)initWithNotification:(id)aNotification; 25 | 26 | - (void)handleInvocation:(NSInvocation *)anInvocation; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCMPassByRefSetter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCMPassByRefSetter : NSObject 20 | { 21 | id value; 22 | } 23 | 24 | - (id)initWithValue:(id)value; 25 | 26 | - (id)value; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCMRealObjectForwarder.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCMRealObjectForwarder : NSObject 20 | { 21 | } 22 | 23 | - (void)handleInvocation:(NSInvocation *)anInvocation; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCMReturnValueProvider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCMReturnValueProvider : NSObject 20 | { 21 | id returnValue; 22 | } 23 | 24 | - (instancetype)initWithValue:(id)aValue; 25 | 26 | - (void)handleInvocation:(NSInvocation *)anInvocation; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCMVerifier.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCMRecorder.h" 18 | #import "OCMLocation.h" 19 | 20 | 21 | @interface OCMVerifier : OCMRecorder 22 | 23 | @property(retain) OCMLocation *location; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCMock-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'OCMock' target in the 'OCMock' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCPartialMockObject.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCClassMockObject.h" 18 | 19 | @interface OCPartialMockObject : OCClassMockObject 20 | { 21 | NSObject *realObject; 22 | } 23 | 24 | - (id)initWithObject:(NSObject *)anObject; 25 | 26 | - (NSObject *)realObject; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/OCProtocolMockObject.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2005-2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCProtocolMockObject : OCMockObject 20 | { 21 | Protocol *mockedProtocol; 22 | } 23 | 24 | - (id)initWithProtocol:(Protocol *)aProtocol; 25 | 26 | @end 27 | 28 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMock/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMockLib/OCMockLib-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'OCMockLib' target in the 'OCMockLib' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMockLibTests/OCMockLibTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | org.ocmock.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMockLibTests/OCMockLibTests-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #ifdef __OBJC__ 8 | #import 9 | #import 10 | #endif 11 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMockLibTests/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMockTests/OCMockTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.mulle-kybernetik.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMockTests/OCMockTests-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #ifdef __OBJC__ 8 | #import 9 | #endif 10 | -------------------------------------------------------------------------------- /Carthage/Checkouts/ocmock/Source/OCMockTests/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea 3 | Products/ 4 | Specta/build/ 5 | *.pbxuser 6 | !default.pbxuser 7 | *.mode1v3 8 | !default.mode1v3 9 | *.mode2v3 10 | !default.mode2v3 11 | *.perspectivev3 12 | !default.perspectivev3 13 | xcuserdata 14 | *.xccheckout 15 | *.moved-aside 16 | DerivedData 17 | *.hmap 18 | *.ipa 19 | *.xcuserstate 20 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/.travis.yml: -------------------------------------------------------------------------------- 1 | language: objective-c 2 | osx_image: yosemite 3 | script: 4 | - bundle exec rake specs:ios 5 | - bundle exec rake specs:osx 6 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## GETTING HELP 2 | 3 | Please reserve the GitHub issues for feature requests and bug reports. 4 | 5 | Ask questions and get answers on Stack Overflow using the `specta` tag. 6 | 7 | * http://stackoverflow.com/questions/tagged/specta 8 | 9 | ## CONTRIBUTION GUIDELINES 10 | 11 | * Please use only spaces and indent 2 spaces at a time. 12 | * Please prefix instance variable names with a single underscore (`_`). 13 | * Please prefix custom classes and functions defined in the global scope with `SPT`. 14 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Carthage/Build: -------------------------------------------------------------------------------- 1 | ../../../../Carthage/Build -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Gemfile: -------------------------------------------------------------------------------- 1 | source 'http://rubygems.org' 2 | 3 | gem 'bundler' 4 | gem 'rake' 5 | gem 'xcpretty' 6 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: http://rubygems.org/ 3 | specs: 4 | rake (10.4.2) 5 | xcpretty (0.1.7) 6 | 7 | PLATFORMS 8 | ruby 9 | 10 | DEPENDENCIES 11 | bundler 12 | rake 13 | xcpretty 14 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/SPTCallSite.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface SPTCallSite : NSObject 4 | 5 | @property (nonatomic, copy, readonly) NSString *file; 6 | @property (nonatomic, readonly) NSUInteger line; 7 | 8 | + (instancetype)callSiteWithFile:(NSString *)file line:(NSUInteger)line; 9 | 10 | - (instancetype)initWithFile:(NSString *)file line:(NSUInteger)line; 11 | 12 | @end -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/SPTCallSite.m: -------------------------------------------------------------------------------- 1 | #import "SPTCallSite.h" 2 | 3 | @implementation SPTCallSite 4 | 5 | + (instancetype)callSiteWithFile:(NSString *)file line:(NSUInteger)line { 6 | return [[self alloc] initWithFile:file line:line]; 7 | } 8 | 9 | - (instancetype)initWithFile:(NSString *)file line:(NSUInteger)line { 10 | self = [super init]; 11 | if (self) { 12 | _file = file; 13 | _line = line; 14 | } 15 | return self; 16 | } 17 | 18 | @end -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/SPTCompiledExample.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "SpectaTypes.h" 3 | 4 | @interface SPTCompiledExample : NSObject 5 | 6 | @property (nonatomic, copy) NSString *name; 7 | @property (nonatomic, copy) NSString *testCaseName; 8 | @property (nonatomic, copy) SPTSpecBlock block; 9 | 10 | @property (nonatomic) BOOL pending; 11 | @property (nonatomic, getter=isFocused) BOOL focused; 12 | 13 | @property (nonatomic) SEL testMethodSelector; 14 | 15 | - (id)initWithName:(NSString *)name testCaseName:(NSString *)testCaseName block:(SPTSpecBlock)block pending:(BOOL)pending focused:(BOOL)focused; 16 | 17 | @end -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/SPTCompiledExample.m: -------------------------------------------------------------------------------- 1 | #import "SPTCompiledExample.h" 2 | 3 | @implementation SPTCompiledExample 4 | 5 | - (id)initWithName:(NSString *)name testCaseName:(NSString *)testCaseName block:(SPTSpecBlock)block pending:(BOOL)pending focused:(BOOL)focused { 6 | self = [super init]; 7 | if (self) { 8 | self.name = name; 9 | self.testCaseName = testCaseName; 10 | self.block = block; 11 | self.pending = pending; 12 | self.focused = focused; 13 | } 14 | return self; 15 | } 16 | 17 | @end -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/SPTExample.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "SpectaTypes.h" 3 | 4 | @class SPTCallSite; 5 | 6 | @interface SPTExample : NSObject 7 | 8 | @property (nonatomic, copy) NSString *name; 9 | @property (nonatomic, retain) SPTCallSite *callSite; 10 | @property (nonatomic, copy) SPTVoidBlock block; 11 | 12 | @property (nonatomic) BOOL pending; 13 | @property (nonatomic, getter=isFocused) BOOL focused; 14 | 15 | - (id)initWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block; 16 | 17 | @end -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/SPTExample.m: -------------------------------------------------------------------------------- 1 | #import "SPTExample.h" 2 | 3 | @implementation SPTExample 4 | 5 | - (id)initWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block { 6 | self = [super init]; 7 | if (self) { 8 | self.name = name; 9 | self.callSite = callSite; 10 | self.block = block; 11 | self.focused = focused; 12 | self.pending = block == nil; 13 | } 14 | return self; 15 | } 16 | 17 | @end -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Specta Team. All rights reserved. 3 | */ 4 | #import 5 | 6 | // This protocol was used for blacklisting classes for global beforeEach and afterEach blocks. 7 | // Now, instead, classes are whitelisted by implementing the SPTGlobalBeforeAfterEach protocol. 8 | __deprecated_msg("Please whitelist classes instead with the SPTGlobalBeforeAfterEach protocol") 9 | @protocol SPTExcludeGlobalBeforeAfterEach 10 | @end 11 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/SPTGlobalBeforeAfterEach.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Specta Team. All rights reserved. 3 | */ 4 | #import 5 | 6 | // This protocol is used for whitelisting classes for global beforeEach and afterEach blocks. 7 | // If you want a class to participate in those just add this protocol to a category and it will be 8 | // included. 9 | @protocol SPTGlobalBeforeAfterEach 10 | 11 | @optional 12 | + (void)beforeEach; 13 | + (void)afterEach; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/SPTSharedExampleGroups.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #import 4 | 5 | @class _XCTestCaseImplementation; 6 | 7 | @class SPTExampleGroup; 8 | 9 | @interface SPTSharedExampleGroups : XCTestCase 10 | 11 | + (void)addSharedExampleGroupWithName:(NSString *)name block:(SPTDictionaryBlock)block exampleGroup:(SPTExampleGroup *)exampleGroup; 12 | + (SPTDictionaryBlock)sharedExampleGroupWithName:(NSString *)name exampleGroup:(SPTExampleGroup *)exampleGroup; 13 | 14 | - (void)sharedExampleGroups; 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/SPTSpec.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @class 5 | SPTTestSuite 6 | , SPTCompiledExample 7 | ; 8 | 9 | @interface SPTSpec : XCTestCase 10 | 11 | @property (strong) XCTestCaseRun *spt_run; 12 | @property (nonatomic) BOOL spt_pending; 13 | @property (nonatomic) BOOL spt_skipped; 14 | 15 | + (BOOL)spt_isDisabled; 16 | + (void)spt_setDisabled:(BOOL)disabled; 17 | + (BOOL)spt_focusedExamplesExist; 18 | + (SEL)spt_convertToTestMethod:(SPTCompiledExample *)example; 19 | + (SPTTestSuite *)spt_testSuite; 20 | + (void)spt_setCurrentTestSuite; 21 | + (void)spt_unsetCurrentTestSuite; 22 | + (void)spt_setCurrentTestSuiteFileName:(NSString *)fileName lineNumber:(NSUInteger)lineNumber; 23 | 24 | - (void)spec; 25 | - (BOOL)spt_shouldRunExample:(SPTCompiledExample *)example; 26 | - (void)spt_runExample:(SPTCompiledExample *)example; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/SPTTestSuite.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @class 4 | SPTExample 5 | , SPTExampleGroup 6 | ; 7 | 8 | @interface SPTTestSuite : NSObject 9 | 10 | @property (nonatomic, strong) SPTExampleGroup *rootGroup; 11 | @property (nonatomic, strong) NSMutableArray *groupStack; 12 | @property (nonatomic, strong) NSArray *compiledExamples; 13 | @property (nonatomic, copy) NSString *fileName; 14 | @property (nonatomic) NSUInteger lineNumber; 15 | @property (nonatomic, getter = isDisabled) BOOL disabled; 16 | @property (nonatomic) BOOL hasFocusedExamples; 17 | 18 | - (SPTExampleGroup *)currentGroup; 19 | - (void)compile; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/SPTTestSuite.m: -------------------------------------------------------------------------------- 1 | #import "SPTTestSuite.h" 2 | #import "SPTExampleGroup.h" 3 | #import "SPTCompiledExample.h" 4 | 5 | @implementation SPTTestSuite 6 | 7 | - (id)init { 8 | self = [super init]; 9 | if (self) { 10 | self.rootGroup = [[SPTExampleGroup alloc] init]; 11 | self.rootGroup.root = self.rootGroup; 12 | self.groupStack = [NSMutableArray arrayWithObject:self.rootGroup]; 13 | } 14 | return self; 15 | } 16 | 17 | - (SPTExampleGroup *)currentGroup { 18 | return [self.groupStack lastObject]; 19 | } 20 | 21 | - (void)compile { 22 | self.compiledExamples = [self.rootGroup compileExamplesWithStack:@[]]; 23 | for (SPTCompiledExample *example in self.compiledExamples) { 24 | if (example.focused) { 25 | self.hasFocusedExamples = YES; 26 | break; 27 | } 28 | } 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/Specta.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | //! Project version number for Specta. 5 | FOUNDATION_EXPORT double SpectaVersionNumber; 6 | 7 | //! Project version string for Specta. 8 | FOUNDATION_EXPORT const unsigned char SpectaVersionString[]; 9 | 10 | // In this header, you should import all the public headers of your framework using statements like #import 11 | 12 | #import 13 | #import 14 | #import 15 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/SpectaTypes.h: -------------------------------------------------------------------------------- 1 | @class SPTSpec; 2 | 3 | typedef void (^SPTVoidBlock)(); 4 | typedef void (^SPTSpecBlock)(SPTSpec *spec); 5 | typedef void (^SPTDictionaryBlock)(NSDictionary *dictionary); 6 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/SpectaUtility.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | extern NSString * const spt_kCurrentTestSuiteKey; 4 | extern NSString * const spt_kCurrentSpecKey; 5 | 6 | #define SPTCurrentTestSuite [[NSThread mainThread] threadDictionary][spt_kCurrentTestSuiteKey] 7 | #define SPTCurrentSpec [[NSThread mainThread] threadDictionary][spt_kCurrentSpecKey] 8 | #define SPTCurrentGroup [SPTCurrentTestSuite currentGroup] 9 | #define SPTGroupStack [SPTCurrentTestSuite groupStack] 10 | 11 | #define SPTReturnUnlessBlockOrNil(block) if ((block) && !SPTIsBlock((block))) return; 12 | #define SPTIsBlock(obj) [(obj) isKindOfClass:NSClassFromString(@"NSBlock")] 13 | 14 | BOOL spt_isSpecClass(Class aClass); 15 | NSString *spt_underscorize(NSString *string); 16 | NSArray *spt_map(NSArray *array, id (^block)(id obj, NSUInteger idx)); 17 | NSArray *spt_shuffle(NSArray *array); 18 | unsigned int spt_seed(); -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/XCTest+Private.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface XCTestObservationCenter : NSObject 4 | 5 | + (id)sharedObservationCenter; 6 | - (void)_suspendObservationForBlock:(void (^)(void))block; 7 | 8 | @end 9 | 10 | @protocol XCTestObservation 11 | @end 12 | 13 | @interface _XCTestDriverTestObserver : NSObject 14 | 15 | - (void)stopObserving; 16 | - (void)startObserving; 17 | 18 | @end 19 | 20 | @interface _XCTestCaseImplementation : NSObject 21 | @end 22 | 23 | @interface XCTestCase () 24 | 25 | - (_XCTestCaseImplementation *)internalImplementation; 26 | - (void)_recordUnexpectedFailureWithDescription:(NSString *)description exception:(NSException *)exception; 27 | 28 | @end -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/Specta/XCTestCase+Specta.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface XCTestCase (Specta) 4 | 5 | - (void)spt_handleException:(NSException *)exception; 6 | 7 | @end -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/CompilationTest1.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | 3 | static int example1Ran; 4 | 5 | SpecBegin(_CompilationTest1) 6 | 7 | describe(@"group", ^{ 8 | it(@"example 1", ^{ 9 | example1Ran ++; 10 | }); 11 | }); 12 | 13 | SpecEnd 14 | 15 | @interface CompilationTest1 : XCTestCase; @end 16 | @implementation CompilationTest1 17 | 18 | - (void)testSingleExample { 19 | example1Ran = 0; 20 | 21 | RunSpec(_CompilationTest1Spec); 22 | 23 | assertEqual(example1Ran, 1); 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/CompilationTest3.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | 3 | static int 4 | example1Ran 5 | , example2Ran 6 | , example3Ran 7 | , example4Ran 8 | ; 9 | 10 | SpecBegin(_CompilationTest3) 11 | 12 | describe(@"group 1", ^{ 13 | context(@"group 2", ^{ 14 | describe(@"group 3", ^{ 15 | it(@"example 1", ^{ 16 | example1Ran ++; 17 | }); 18 | }); 19 | 20 | it(@"example 2", ^{ 21 | example2Ran ++; 22 | }); 23 | }); 24 | 25 | example(@"example 3", ^{ 26 | example3Ran ++; 27 | }); 28 | 29 | specify(@"example 4", ^{ 30 | example4Ran ++; 31 | }); 32 | }); 33 | 34 | SpecEnd 35 | 36 | @interface CompilationTest3 : XCTestCase; @end 37 | @implementation CompilationTest3 38 | 39 | - (void)testNestedExamples { 40 | example1Ran = example2Ran = example3Ran = example4Ran = 0; 41 | 42 | RunSpec(_CompilationTest3Spec); 43 | 44 | assertEqual(example1Ran, 1); 45 | assertEqual(example2Ran, 1); 46 | assertEqual(example3Ran, 1); 47 | assertEqual(example4Ran, 1); 48 | } 49 | 50 | @end 51 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/DSLTest1.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | #import "SPTTestSuite.h" 3 | #import "SPTExampleGroup.h" 4 | 5 | SpecBegin(_DSLTest1) 6 | 7 | describe(@"group", ^{}); 8 | 9 | SpecEnd 10 | 11 | @interface DSLTest1 : XCTestCase; @end 12 | @implementation DSLTest1 13 | 14 | - (void)testSingleExampleGroup { 15 | SPTExampleGroup *rootGroup = [_DSLTest1Spec spt_testSuite].rootGroup; 16 | 17 | assertTrue([rootGroup isKindOfClass:[SPTExampleGroup class]]); 18 | assertEqualObjects(rootGroup.root, rootGroup); 19 | assertNil(rootGroup.parent); 20 | 21 | assertEqual([rootGroup.children count], 1); 22 | SPTExampleGroup *group = rootGroup.children[0]; 23 | assertEqualObjects(group.name, @"group"); 24 | assertEqualObjects(group.parent, rootGroup); 25 | assertEqualObjects(group.root, rootGroup); 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/FailingSpecTest.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | 3 | static NSString 4 | *foo = @"foo" 5 | , *bar = @"bar" 6 | ; 7 | 8 | SpecBegin(_FailingSpecTest) 9 | 10 | describe(@"group", ^{ 11 | it(@"example 1", ^{ 12 | assertEqualObjects(foo, @"foo"); 13 | }); 14 | 15 | it(@"example 2", ^{ 16 | assertEqualObjects(bar, @"bar"); 17 | }); 18 | }); 19 | 20 | SpecEnd 21 | 22 | @interface FailingSpecTest : XCTestCase; @end 23 | @implementation FailingSpecTest 24 | 25 | - (void)testFailingSpec { 26 | foo = @"not foo"; 27 | bar = @"not bar"; 28 | XCTestSuiteRun *result = RunSpec(_FailingSpecTestSpec); 29 | assertEqual([result unexpectedExceptionCount], 0); 30 | assertEqual([result failureCount], 2); 31 | assertFalse([result hasSucceeded]); 32 | foo = @"foo"; 33 | bar = @"bar"; 34 | } 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.github.specta.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/MiscTest.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | 3 | @interface XCTestCase (MiscTest) 4 | 5 | + (NSArray *)allSubclasses; 6 | 7 | @end 8 | 9 | SpecBegin(_MiscTest) 10 | 11 | describe(@"group", ^{ 12 | }); 13 | 14 | SpecEnd 15 | 16 | @interface MiscTest : XCTestCase; @end 17 | @implementation MiscTest 18 | 19 | - (void)test_MiscTestSpecInXCTestCaseSubClassList { 20 | assertTrue([[XCTestCase allSubclasses] indexOfObject:[_MiscTestSpec class]] != NSNotFound); 21 | } 22 | 23 | - (void)testSPTSpecNotInXCTestCaseSubClassList { 24 | // trick XCTestCase into thinking SPTSpec is not a subclass of XCTestCase 25 | assertTrue([[XCTestCase allSubclasses] indexOfObject:[SPTSpec class]] == NSNotFound); 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/PassingSpecTest.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | 3 | SpecBegin(_PassingSpecTest) 4 | 5 | describe(@"group", ^{ 6 | it(@"example 1", ^{ 7 | assertEqualObjects(@"foo", ([NSString stringWithFormat:@"f%@", @"oo"])); 8 | }); 9 | 10 | it(@"example 2", ^{ 11 | assertEqual(123, 100 + 23); 12 | }); 13 | }); 14 | 15 | SpecEnd 16 | 17 | @interface PassingSpecTest : XCTestCase; @end 18 | @implementation PassingSpecTest 19 | 20 | - (void)testPassingSpec { 21 | XCTestRun *result = RunSpec(_PassingSpecTestSpec); 22 | assertEqual([result unexpectedExceptionCount], 0); 23 | assertEqual([result failureCount], 0); 24 | assertTrue([result hasSucceeded]); 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/PendingSpecTest1.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | 3 | SpecBegin(_PendingSpecTest1) 4 | 5 | describe(@"group", ^{ 6 | beforeAll(nil); 7 | afterAll(nil); 8 | beforeEach(nil); 9 | afterEach(nil); 10 | 11 | describe(@"describe with nil", nil); 12 | context(@"context with nil", nil); 13 | 14 | it(@"it with nil", nil); 15 | specify(@"specify with nil", nil); 16 | example(@"example with nil", nil); 17 | }); 18 | SpecEnd 19 | 20 | @interface PendingSpecTest1 : XCTestCase; @end 21 | @implementation PendingSpecTest1 22 | 23 | - (void)testPendingSpec { 24 | XCTestSuiteRun *result = RunSpec(_PendingSpecTest1Spec); 25 | assertEqual([result testCaseCount], 5); 26 | assertEqual([result unexpectedExceptionCount], 0); 27 | assertEqual([result failureCount], 0); 28 | assertTrue([result hasSucceeded]); 29 | // assertEqual([result pendingTestCaseCount], 5); 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/PendingSpecTest3.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | 3 | static BOOL afterAllExecuted = NO; 4 | 5 | SpecBegin(_PendingSpecTest3) 6 | 7 | describe(@"group", ^{ 8 | afterAll(^{ afterAllExecuted = YES; }); 9 | it(@"it", ^{ NSAssert(YES, nil); }); 10 | pending(@"pending"); 11 | }); 12 | 13 | SpecEnd 14 | 15 | @interface PendingSpecTest3 : XCTestCase; @end 16 | @implementation PendingSpecTest3 17 | 18 | - (void)testPendingSpec { 19 | XCTestSuiteRun *result = RunSpec(_PendingSpecTest3Spec); 20 | assertEqual([result testCaseCount], 2); 21 | assertEqual([result unexpectedExceptionCount], 0); 22 | assertEqual([result failureCount], 0); 23 | assertTrue([result hasSucceeded]); 24 | assertTrue(afterAllExecuted); 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/PendingSpecTest4.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | 3 | static BOOL beforeAllExecuted, beforeEachExecuted, afterEachExecuted, afterAllExecuted; 4 | 5 | SpecBegin(_PendingSpecTest4) 6 | 7 | describe(@"group", ^{ 8 | beforeAll(^{ beforeAllExecuted = YES; }); 9 | beforeEach(^{ beforeEachExecuted = YES; }); 10 | afterEach(^{ afterEachExecuted = YES; }); 11 | afterAll(^{ afterAllExecuted = YES; }); 12 | pending(@"pending"); 13 | }); 14 | 15 | SpecEnd 16 | 17 | @interface PendingSpecTest4 : XCTestCase; @end 18 | @implementation PendingSpecTest4 19 | 20 | - (void)testPendingSpec { 21 | XCTestSuiteRun *result = RunSpec(_PendingSpecTest4Spec); 22 | assertEqual([result testCaseCount], 1); 23 | assertEqual([result unexpectedExceptionCount], 0); 24 | assertEqual([result failureCount], 0); 25 | assertTrue([result hasSucceeded]); 26 | assertTrue(beforeAllExecuted); 27 | assertFalse(beforeEachExecuted); 28 | assertFalse(afterEachExecuted); 29 | assertTrue(afterAllExecuted); 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/PendingSpecTest5.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | 3 | static int 4 | beforeAllRan 5 | , afterAllRan 6 | ; 7 | 8 | SpecBegin(_PendingSpecTest5) 9 | 10 | describe(@"group", ^{ 11 | beforeAll(^{ 12 | beforeAllRan ++; 13 | }); 14 | 15 | pending(@"pending 1", ^{ }); 16 | pending(@"pending 2", ^{ }); 17 | 18 | it(@"example 1", ^{ }); 19 | it(@"example 2", ^{ }); 20 | 21 | pending(@"pending 3", ^{ }); 22 | pending(@"pending 4", ^{ }); 23 | 24 | afterAll(^{ 25 | afterAllRan ++; 26 | }); 27 | }); 28 | 29 | SpecEnd 30 | 31 | @interface PendingSpecTest5 : XCTestCase; @end 32 | @implementation PendingSpecTest5 33 | 34 | - (void)testPendingSpec { 35 | beforeAllRan = afterAllRan = 0; 36 | 37 | RunSpec(_PendingSpecTest5Spec); 38 | 39 | assertEqual(beforeAllRan, 1); 40 | assertEqual(afterAllRan, 1); 41 | } 42 | 43 | @end -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/SharedExamplesTest5.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | 3 | static BOOL shouldInvokeItShouldBehaveLike = NO; 4 | 5 | SpecBegin(_SharedExamplesTest5) 6 | 7 | sharedExamplesFor(@"shared1", ^(NSDictionary *data) {}); 8 | 9 | describe(@"group", ^{ 10 | it(@"should fail", ^{ 11 | if (shouldInvokeItShouldBehaveLike) { 12 | itShouldBehaveLike(@"shared1", nil); 13 | } 14 | }); 15 | }); 16 | 17 | SpecEnd 18 | 19 | @interface SharedExamplesTest5 : XCTestCase; @end 20 | @implementation SharedExamplesTest5 21 | 22 | - (void)testSharedExamplesFailingIfCalledInsideAnItBlock { 23 | shouldInvokeItShouldBehaveLike = YES; 24 | XCTestSuiteRun *result = RunSpec(_SharedExamplesTest5Spec); 25 | assertEqual([result testCaseCount], 1); 26 | assertEqual([result unexpectedExceptionCount], 1); 27 | assertEqual([result failureCount], 0); 28 | assertFalse([result hasSucceeded]); 29 | shouldInvokeItShouldBehaveLike = NO; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/SharedExamplesTest6.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | 3 | // We expect the `itBehavesLike` example to fail. 4 | // Use this flag to ensure the example is only 5 | // run during the test case below. 6 | static BOOL shouldInvokeItBehavesLike = NO; 7 | 8 | SpecBegin(_SharedExamplesTest6) 9 | 10 | it(@"fails", ^{ 11 | if (shouldInvokeItBehavesLike) { 12 | itBehavesLike(@"a set of shared examples that don't exist", nil); 13 | } 14 | }); 15 | 16 | SpecEnd 17 | 18 | @interface SharedExamplesTest6 : XCTestCase; @end 19 | @implementation SharedExamplesTest6 20 | 21 | - (void)testSharedExamplesFailingIfNonexistent { 22 | shouldInvokeItBehavesLike = YES; 23 | XCTestSuiteRun *result = RunSpec(_SharedExamplesTest6Spec); 24 | assertEqual([result testCaseCount], 1); 25 | assertEqual([result unexpectedExceptionCount], 1); 26 | assertEqual([result failureCount], 0); 27 | assertFalse([result hasSucceeded]); 28 | shouldInvokeItBehavesLike = NO; 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/SpectaUtilityTest.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | #import "SpectaUtility.h" 3 | 4 | SpecBegin(_SpectaUtilityTest) 5 | SpecEnd 6 | 7 | @interface SpectaUtilityTest : XCTestCase 8 | @end 9 | 10 | @implementation SpectaUtilityTest 11 | 12 | - (void)test_spt_spt_isSpecClass_returns_yes_when_provided_a_spec_class { 13 | assertTrue(spt_isSpecClass([_SpectaUtilityTestSpec class])); 14 | } 15 | 16 | - (void)test_spt_spt_isSpecClass_returns_no_when_provided_a_XCTest_class { 17 | assertFalse(spt_isSpecClass([SpectaUtilityTest class])); 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/TestHelper.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface XCTestObservationCenter 5 | 6 | + (id)sharedObservationCenter; 7 | - (void)_suspendObservationForBlock:(void (^)(void))block; 8 | 9 | @end 10 | 11 | #define RunSpec(TestClass) RunSpecClass([TestClass class]) 12 | 13 | XCTestSuiteRun *RunSpecClass(Class testClass); 14 | 15 | #define assertTrue(expression) XCTAssertTrue((expression), @"") 16 | #define assertFalse(expression) XCTAssertFalse((expression), @"") 17 | #define assertNil(a1) XCTAssertNil((a1), @"") 18 | #define assertNotNil(a1) XCTAssertNil((a1), @"") 19 | #define assertEqual(a1, a2) XCTAssert((a1) == (a2), @"") 20 | #define assertEqualObjects(a1, a2) XCTAssertEqualObjects((a1), (a2), @"") 21 | #define assertNotEqual(a1, a2) XCTAssert((a1) != (a2), @"") 22 | #define assertNotEqualObjects(a1, a2) XCTAssertNotEqualObjects((a1), (a2), @"") -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/Specta/SpectaTests/TestHelper.m: -------------------------------------------------------------------------------- 1 | #import "TestHelper.h" 2 | 3 | XCTestSuiteRun *RunSpecClass(Class testClass) { 4 | __block XCTestSuiteRun *result; 5 | 6 | XCTestObservationCenter *observationCenter = [XCTestObservationCenter sharedObservationCenter]; 7 | [observationCenter _suspendObservationForBlock:^{ 8 | result = (id)[(XCTestSuite *)[XCTestSuite testSuiteForTestCaseClass:testClass] run]; 9 | }]; 10 | 11 | return result; 12 | } -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/misc/Specta/Specta Spec Helper.xctemplate/NSObject/___FILEBASENAME___.h: -------------------------------------------------------------------------------- 1 | ___IMPORTHEADER_specHelperClass___ 2 | 3 | @interface ___VARIABLE_specHelperClass:identifier___ (___VARIABLE_specHelperCategory:identifier___) 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/misc/Specta/Specta Spec Helper.xctemplate/NSObject/___FILEBASENAME___.m: -------------------------------------------------------------------------------- 1 | #import "___FILEBASENAME___.h" 2 | 3 | @implementation ___VARIABLE_specHelperClass:identifier___ (___VARIABLE_specHelperCategory:identifier___) 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/misc/Specta/Specta Spec.xctemplate/Default/___FILEBASENAME___.m: -------------------------------------------------------------------------------- 1 | // 2 | // ___FILEBASENAME___.m 3 | // ___PROJECTNAME___ 4 | // 5 | // Created by ___FULLUSERNAME___ on ___DATE___. 6 | //___COPYRIGHT___ 7 | // 8 | 9 | #import "___VARIABLE_specClass:identifier___.h" 10 | 11 | SpecBegin(___VARIABLE_specClass:identifier___) 12 | 13 | SpecEnd 14 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/misc/Specta/Specta Spec.xctemplate/TemplateIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merrickp/JumpMarks/323b1f2b592cb9c97b8a67d795042946ca1c2f10/Carthage/Checkouts/specta/misc/Specta/Specta Spec.xctemplate/TemplateIcon.icns -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/misc/Specta/Specta Spec.xctemplate/importSpecta/___FILEBASENAME___.m: -------------------------------------------------------------------------------- 1 | // 2 | // ___FILEBASENAME___.m 3 | // ___PROJECTNAME___ 4 | // 5 | // Created by ___FULLUSERNAME___ on ___DATE___. 6 | //___COPYRIGHT___ 7 | // 8 | 9 | #import 10 | 11 | #import "___VARIABLE_specClass:identifier___.h" 12 | 13 | SpecBegin(___VARIABLE_specClass:identifier___) 14 | 15 | SpecEnd 16 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/misc/Specta/Specta Spec.xctemplate/importSpectaimportExpecta/___FILEBASENAME___.m: -------------------------------------------------------------------------------- 1 | // 2 | // ___FILEBASENAME___.m 3 | // ___PROJECTNAME___ 4 | // 5 | // Created by ___FULLUSERNAME___ on ___DATE___. 6 | //___COPYRIGHT___ 7 | // 8 | 9 | #import 10 | #import 11 | 12 | #import "___VARIABLE_specClass:identifier___.h" 13 | 14 | SpecBegin(___VARIABLE_specClass:identifier___) 15 | 16 | SpecEnd 17 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/misc/Specta/Specta Spec.xctemplate/importSpectaimportExpectauseShorthand/___FILEBASENAME___.m: -------------------------------------------------------------------------------- 1 | // 2 | // ___FILEBASENAME___.m 3 | // ___PROJECTNAME___ 4 | // 5 | // Created by ___FULLUSERNAME___ on ___DATE___. 6 | //___COPYRIGHT___ 7 | // 8 | 9 | #import 10 | #define EXP_SHORTHAND 11 | #import 12 | 13 | #import "___VARIABLE_specClass:identifier___.h" 14 | 15 | SpecBegin(___VARIABLE_specClass:identifier___) 16 | 17 | SpecEnd 18 | -------------------------------------------------------------------------------- /Carthage/Checkouts/specta/misc/specta_screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merrickp/JumpMarks/323b1f2b592cb9c97b8a67d795042946ca1c2f10/Carthage/Checkouts/specta/misc/specta_screenshot.jpg -------------------------------------------------------------------------------- /JumpMarks.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /JumpMarks.xcodeproj/project.xcworkspace/xcuserdata/mpoon.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merrickp/JumpMarks/323b1f2b592cb9c97b8a67d795042946ca1c2f10/JumpMarks.xcodeproj/project.xcworkspace/xcuserdata/mpoon.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /JumpMarks.xcodeproj/xcuserdata/mpoon.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | JumpMarks.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | JumpMarksTest.xcscheme 13 | 14 | orderHint 15 | 1 16 | 17 | 18 | SuppressBuildableAutocreation 19 | 20 | 02306CAB1ABFA2DC00C3FD5A 21 | 22 | primary 23 | 24 | 25 | 02A652791ABFB387001F44D7 26 | 27 | primary 28 | 29 | 30 | 02B54CDA1B5CDFB800488A78 31 | 32 | primary 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /JumpMarks/Categories/DVTTextSidebarView+JumpMarks.h: -------------------------------------------------------------------------------- 1 | // 2 | // DVTTextSidebarView+JumpMarks.h 3 | // JumpMarks 4 | // 5 | // Created by Merrick Poon on 3/22/15. 6 | // Copyright (c) 2015 Merrick Poon. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "DVTTextSidebarView.h" 11 | 12 | @interface DVTTextSidebarView (JumpMarks) 13 | 14 | - (void)jumpmarks_drawLineNumbersInSidebarRect:(CGRect)rect 15 | foldedIndexes:(NSUInteger *)indexes 16 | count:(NSUInteger)indexCount 17 | linesToInvert:(id)invert 18 | linesToHighlight:(id)highlight 19 | linesToReplace:(id)replace 20 | textView:(id)textView 21 | getParaRectBlock:(GetParaBlock)rectBlock; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /JumpMarks/Categories/IDEWorkspaceDocument+JumpMarks.h: -------------------------------------------------------------------------------- 1 | // 2 | // IDEWorkspaceDocument+JumpMarks.h 3 | // JumpMarks 4 | // 5 | // Created by Merrick Poon on 5/4/15. 6 | // Copyright (c) 2015 Merrick Poon. All rights reserved. 7 | // 8 | 9 | #import "IDEKit.h" 10 | #import "IDEFoundation.h" 11 | #import "JumpMarkList.h" 12 | 13 | @interface IDEWorkspaceDocument (JumpMarks) 14 | 15 | - (void)jumpmarks__setWorkspace:(IDEWorkspace*)arg1; 16 | 17 | @end 18 | 19 | @interface IDEWorkspace (JumpMarks) 20 | 21 | @property(nonatomic, strong) JumpMarkList *jumpMarks; 22 | 23 | @end -------------------------------------------------------------------------------- /JumpMarks/External/JRSwizzle.h: -------------------------------------------------------------------------------- 1 | // JRSwizzle.h semver:1.0 2 | // Copyright (c) 2007-2011 Jonathan 'Wolf' Rentzsch: http://rentzsch.com 3 | // Some rights reserved: http://opensource.org/licenses/MIT 4 | // https://github.com/rentzsch/jrswizzle 5 | 6 | #import 7 | 8 | @interface NSObject (JRSwizzle) 9 | 10 | + (BOOL)jr_swizzleMethod:(SEL)origSel_ withMethod:(SEL)altSel_ error:(NSError**)error_; 11 | + (BOOL)jr_swizzleClassMethod:(SEL)origSel_ withClassMethod:(SEL)altSel_ error:(NSError**)error_; 12 | 13 | @end -------------------------------------------------------------------------------- /JumpMarks/JumpMarks-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // JumpMarks-Prefix.pch 3 | // JumpMarks 4 | // 5 | // Created by Merrick Poon on 3/22/15. 6 | // Copyright (c) 2015 Merrick Poon. All rights reserved. 7 | // 8 | 9 | #ifndef JumpMarks_JumpMarks_Prefix_pch 10 | #define JumpMarks_JumpMarks_Prefix_pch 11 | 12 | #import 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /JumpMarks/JumpMarks.h: -------------------------------------------------------------------------------- 1 | // 2 | // JumpMarks.h 3 | // JumpMarks 4 | // 5 | // Created by Merrick Poon on 3/22/15. 6 | // Copyright (c) 2015 Merrick Poon. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface JumpMarks : NSObject 12 | 13 | + (instancetype)sharedPlugin; 14 | 15 | @property (nonatomic, strong, readonly) NSBundle* bundle; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /JumpMarks/Models/JumpMark.h: -------------------------------------------------------------------------------- 1 | // 2 | // JumpMark.h 3 | // JumpMarks 4 | // 5 | // Created by Merrick Poon on 3/22/15. 6 | // Copyright (c) 2015 Merrick Poon. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef NS_ENUM(NSInteger, JumpMarkType) { 12 | JumpMarkTypeTextEditor 13 | }; 14 | 15 | @interface JumpMark : NSObject 16 | 17 | @property(nonatomic) JumpMarkType type; 18 | @property(nonatomic, strong) NSString *filePath; 19 | @property(nonatomic) NSInteger lineNumber; 20 | @property(nonatomic) NSInteger markNumber; 21 | 22 | + (instancetype)textEditorMark:(NSString*)filePath lineNumber:(NSInteger)lineNumber 23 | markNumber:(NSInteger)markNumber; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /JumpMarksTest/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /JumpMarksTest/JumpMarksTest.m: -------------------------------------------------------------------------------- 1 | // 2 | // JumpMarksTest.m 3 | // JumpMarksTest 4 | // 5 | // Created by Merrick Poon on 7/20/15. 6 | // Copyright (c) 2015 Merrick Poon. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "JumpMark.h" 11 | //#import 12 | //#import 13 | //#import 14 | 15 | static NSString *const JUMPMARKS_PATH = @"Library/Application Support/Developer/Shared/Xcode/Plug-ins/JumpMarks.xcplugin"; 16 | 17 | //SpecBegin(JumpMarksTests) 18 | 19 | //NSBundle *pluginBundle = [NSBundle bundleWithPath:[NSHomeDirectory() stringByAppendingPathComponent:JUMPMARKS_PATH]]; 20 | 21 | //SpecEnd 22 | -------------------------------------------------------------------------------- /logo.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/merrickp/JumpMarks/323b1f2b592cb9c97b8a67d795042946ca1c2f10/logo.sketch --------------------------------------------------------------------------------