cocoapods-deintegrate 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +16 -19
- data/cocoapods_deintegrate.gemspec +1 -1
- data/lib/cocoapods_deintegrate.rb +1 -1
- data/lib/pod/command/deintegrate.rb +27 -15
- data/spec/command/deintegrate_spec.rb +47 -1
- data/spec/fixtures/Project/Frameworks/Podfile +12 -0
- data/spec/fixtures/Project/Frameworks/Podfile.lock +42 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/QueryKit/QKAttribute.h +210 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/QueryKit/QKQuerySet.h +155 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/QueryKit/QueryKit.h +19 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/NSString+QCKSelectorName.h +17 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/QCKDSL.h +211 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/Quick.h +13 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/QuickConfiguration.h +30 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/QuickSpec.h +48 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/QueryKit/QKAttribute.h +210 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/QueryKit/QKQuerySet.h +155 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/QueryKit/QueryKit.h +19 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/NSString+QCKSelectorName.h +17 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/QCKDSL.h +211 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/Quick.h +13 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/QuickConfiguration.h +30 -0
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/QuickSpec.h +48 -0
- data/spec/fixtures/Project/Frameworks/Pods/Manifest.lock +42 -0
- data/spec/fixtures/Project/Frameworks/Pods/Pods.xcodeproj/project.pbxproj +995 -0
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/LICENSE +23 -0
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/Attribute.swift +124 -0
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/Expression.swift +41 -0
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKAttribute.h +210 -0
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKAttribute.m +315 -0
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKAttribute.swift +13 -0
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKQuerySet.h +155 -0
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKQuerySet.m +314 -0
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKQuerySet.swift +28 -0
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/Predicate.swift +21 -0
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/QueryKit.h +19 -0
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/QuerySet.swift +237 -0
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/README.md +151 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/LICENSE +201 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Callsite.swift +28 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Configuration/Configuration.swift +147 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Configuration/QuickConfiguration.h +30 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Configuration/QuickConfiguration.m +83 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/DSL/DSL.swift +227 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/DSL/QCKDSL.h +211 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/DSL/QCKDSL.m +70 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/DSL/World+DSL.swift +100 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Example.swift +103 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/ExampleGroup.swift +97 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/ExampleMetadata.swift +22 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Failure.swift +16 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Filter.swift +29 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Hooks/Closures.swift +35 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Hooks/ExampleHooks.swift +36 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Hooks/SuiteHooks.swift +34 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/NSString+QCKSelectorName.h +17 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/NSString+QCKSelectorName.m +33 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Quick.h +13 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/QuickSpec.h +48 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/QuickSpec.m +142 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/World.swift +197 -0
- data/spec/fixtures/Project/Frameworks/Pods/Quick/README.md +979 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Info.plist +26 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit-Private.xcconfig +9 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit-dummy.m +5 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit-prefix.pch +5 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit-umbrella.h +9 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit.modulemap +6 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit.xcconfig b/data/spec/fixtures/Project/Frameworks/Pods/Target Support → Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit.xcconfig +0 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Info.plist +26 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-acknowledgements.markdown +30 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-acknowledgements.plist +60 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-dummy.m +5 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-environment.h +74 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-frameworks.sh +55 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-resources.sh +74 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-umbrella.h +6 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.debug.xcconfig +9 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.modulemap +6 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.release.xcconfig +9 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Info.plist +26 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick-Private.xcconfig +9 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick-dummy.m +5 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick-prefix.pch +5 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick-umbrella.h +11 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick.modulemap +6 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick.xcconfig +2 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Info.plist +26 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-acknowledgements.markdown +208 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-acknowledgements.plist +238 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-dummy.m +5 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-environment.h +14 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-frameworks.sh +55 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-resources.sh +74 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-umbrella.h +6 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.debug.xcconfig +9 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.modulemap +6 -0
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.release.xcconfig +9 -0
- data/spec/fixtures/Project/Frameworks/TestProject.xcodeproj/project.pbxproj +557 -0
- data/spec/fixtures/Project/Frameworks/TestProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/spec/fixtures/Project/Frameworks/TestProject.xcworkspace/contents.xcworkspacedata +10 -0
- data/spec/fixtures/Project/Frameworks/TestProject/AppDelegate.swift +46 -0
- data/spec/fixtures/Project/Frameworks/TestProject/Base.lproj/LaunchScreen.xib +41 -0
- data/spec/fixtures/Project/Frameworks/TestProject/Base.lproj/Main.storyboard +25 -0
- data/spec/fixtures/Project/Frameworks/TestProject/Images.xcassets/AppIcon.appiconset/Contents.json +38 -0
- data/spec/fixtures/Project/Frameworks/TestProject/Info.plist +40 -0
- data/spec/fixtures/Project/Frameworks/TestProject/ViewController.swift +25 -0
- data/spec/fixtures/Project/Frameworks/TestProjectTests/Info.plist +24 -0
- data/spec/fixtures/Project/Frameworks/TestProjectTests/TestProjectTests.swift +36 -0
- data/spec/fixtures/Project/None/TestProject.xcodeproj/project.pbxproj +420 -0
- data/spec/fixtures/Project/None/TestProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/spec/fixtures/Project/None/TestProject/AppDelegate.swift +46 -0
- data/spec/fixtures/Project/None/TestProject/Base.lproj/LaunchScreen.xib +41 -0
- data/spec/fixtures/Project/None/TestProject/Base.lproj/Main.storyboard +25 -0
- data/spec/fixtures/Project/None/TestProject/Images.xcassets/AppIcon.appiconset/Contents.json +38 -0
- data/spec/fixtures/Project/None/TestProject/Info.plist +40 -0
- data/spec/fixtures/Project/None/TestProject/ViewController.swift +25 -0
- data/spec/fixtures/Project/None/TestProjectTests/Info.plist +24 -0
- data/spec/fixtures/Project/None/TestProjectTests/TestProjectTests.swift +36 -0
- data/spec/fixtures/Project/StaticLibraries/Podfile +12 -0
- data/spec/fixtures/Project/StaticLibraries/Podfile.lock +13 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/LICENSE +19 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/README.md +308 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPBackwardCompatibility.h +42 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPBackwardCompatibility.m +17 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPBlockDefinedMatcher.h +25 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPBlockDefinedMatcher.m +60 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPDefines.h +17 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPDoubleTuple.h +13 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPDoubleTuple.m +42 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPExpect.h +45 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPExpect.m +214 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPFloatTuple.h +13 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPFloatTuple.m +42 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPMatcher.h +20 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPUnsupportedObject.h +11 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPUnsupportedObject.m +20 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/Expecta.h +27 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/Expecta.m +15 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/ExpectaSupport.h +64 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/ExpectaSupport.m +187 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/NSObject+Expecta.h +14 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/NSValue+Expecta.h +8 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/NSValue+Expecta.m +21 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatcherHelpers.h +4 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatcherHelpers.m +9 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beCloseTo.h +7 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beCloseTo.m +49 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beFalsy.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beFalsy.m +24 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThan.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThan.m +20 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThanOrEqualTo.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThanOrEqualTo.m +20 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beIdenticalTo.h +10 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beIdenticalTo.m +24 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beInTheRangeOf.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beInTheRangeOf.m +30 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beInstanceOf.h +7 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beInstanceOf.m +27 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beKindOf.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beKindOf.m +27 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beLessThan.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beLessThan.m +20 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beLessThanOrEqualTo.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beLessThanOrEqualTo.m +20 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beNil.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beNil.m +16 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beSubclassOf.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beSubclassOf.m +27 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beSupersetOf.h +4 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beSupersetOf.m +57 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beTruthy.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beTruthy.m +24 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beginWith.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beginWith.m +49 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+conformTo.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+conformTo.m +33 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+contain.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+contain.m +38 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+endWith.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+endWith.m +49 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+equal.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+equal.m +24 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+haveCountOf.h +10 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+haveCountOf.m +36 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+notify.h +4 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+notify.m +63 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+raise.h +4 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+raise.m +30 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+raiseWithReason.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+raiseWithReason.m +35 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+respondTo.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+respondTo.m +28 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers.h +24 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPBackwardCompatibility.h +42 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPBlockDefinedMatcher.h +25 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPDefines.h +17 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPDoubleTuple.h +13 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPExpect.h +45 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPFloatTuple.h +13 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatcher.h +20 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatcherHelpers.h +4 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beCloseTo.h +7 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beFalsy.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThan.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beIdenticalTo.h +10 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beInTheRangeOf.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beInstanceOf.h +7 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beKindOf.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beLessThan.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beLessThanOrEqualTo.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beNil.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beSubclassOf.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beSupersetOf.h +4 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beTruthy.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beginWith.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+conformTo.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+contain.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+endWith.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+equal.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+haveCountOf.h +10 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+notify.h +4 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+raise.h +4 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+raiseWithReason.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+respondTo.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers.h +24 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPUnsupportedObject.h +11 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/Expecta.h +27 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/ExpectaSupport.h +64 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/NSObject+Expecta.h +14 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/NSValue+Expecta.h +8 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/NSAttributedString+CCLFormat/NSAttributedString+CCLFormat.h +21 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPBackwardCompatibility.h +42 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPBlockDefinedMatcher.h +25 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPDefines.h +17 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPDoubleTuple.h +13 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPExpect.h +45 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPFloatTuple.h +13 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatcher.h +20 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatcherHelpers.h +4 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beCloseTo.h +7 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beFalsy.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beGreaterThan.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beIdenticalTo.h +10 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beInTheRangeOf.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beInstanceOf.h +7 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beKindOf.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beLessThan.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beLessThanOrEqualTo.h +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beNil.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beSubclassOf.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beSupersetOf.h +4 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beTruthy.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beginWith.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+conformTo.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+contain.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+endWith.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+equal.h +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+haveCountOf.h +10 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+notify.h +4 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+raise.h +4 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+raiseWithReason.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+respondTo.h +3 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers.h +24 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPUnsupportedObject.h +11 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/Expecta.h +27 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/ExpectaSupport.h +64 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/NSObject+Expecta.h +14 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/NSValue+Expecta.h +8 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/NSAttributedString+CCLFormat/NSAttributedString+CCLFormat.h +21 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Manifest.lock +13 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/NSAttributedString+CCLFormat/LICENSE +23 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/NSAttributedString+CCLFormat/NSAttributedString+CCLFormat.h +21 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/NSAttributedString+CCLFormat/NSAttributedString+CCLFormat.m +51 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/NSAttributedString+CCLFormat/README.md +57 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Pods.xcodeproj/project.pbxproj +943 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject-NSAttributedString+CCLFormat/Pods-TestProject-NSAttributedString+CCLFormat-Private.xcconfig +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject-NSAttributedString+CCLFormat/Pods-TestProject-NSAttributedString+CCLFormat-dummy.m +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject-NSAttributedString+CCLFormat/Pods-TestProject-NSAttributedString+CCLFormat-prefix.pch +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject-NSAttributedString+CCLFormat/Pods-TestProject-NSAttributedString+CCLFormat.xcconfig b/data/spec/fixtures/Project/StaticLibraries/Pods/Target Support → Files/Pods-TestProject-NSAttributedString+CCLFormat/Pods-TestProject-NSAttributedString+CCLFormat.xcconfig +0 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-acknowledgements.markdown +30 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-acknowledgements.plist +60 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-dummy.m +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-environment.h +14 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-resources.sh +74 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.debug.xcconfig +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.release.xcconfig +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests-Expecta/Pods-TestProjectTests-Expecta-Private.xcconfig +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests-Expecta/Pods-TestProjectTests-Expecta-dummy.m +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests-Expecta/Pods-TestProjectTests-Expecta-prefix.pch +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests-Expecta/Pods-TestProjectTests-Expecta.xcconfig +1 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-acknowledgements.markdown +26 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-acknowledgements.plist +56 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-dummy.m +5 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-environment.h +14 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-resources.sh +74 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.debug.xcconfig +6 -0
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.release.xcconfig +6 -0
- data/spec/fixtures/Project/StaticLibraries/TestProject.xcodeproj/project.pbxproj +525 -0
- data/spec/fixtures/Project/StaticLibraries/TestProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/spec/fixtures/Project/StaticLibraries/TestProject.xcworkspace/contents.xcworkspacedata +10 -0
- data/spec/fixtures/Project/StaticLibraries/TestProject/AppDelegate.swift +46 -0
- data/spec/fixtures/Project/StaticLibraries/TestProject/Base.lproj/LaunchScreen.xib +41 -0
- data/spec/fixtures/Project/StaticLibraries/TestProject/Base.lproj/Main.storyboard +25 -0
- data/spec/fixtures/Project/StaticLibraries/TestProject/Images.xcassets/AppIcon.appiconset/Contents.json +38 -0
- data/spec/fixtures/Project/StaticLibraries/TestProject/Info.plist +40 -0
- data/spec/fixtures/Project/StaticLibraries/TestProject/ViewController.swift +25 -0
- data/spec/fixtures/Project/StaticLibraries/TestProjectTests/Info.plist +24 -0
- data/spec/fixtures/Project/StaticLibraries/TestProjectTests/TestProjectTests.swift +36 -0
- metadata +620 -7
@@ -0,0 +1,13 @@
|
|
1
|
+
#import <Foundation/Foundation.h>
|
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
|
+
- (id)initWithFloatValues:(float *)values size:(size_t)size;
|
12
|
+
|
13
|
+
@end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#import "EXPFloatTuple.h"
|
2
|
+
|
3
|
+
@implementation EXPFloatTuple
|
4
|
+
|
5
|
+
@synthesize values = _values, size = _size;
|
6
|
+
|
7
|
+
- (id)initWithFloatValues:(float *)values size:(size_t)size {
|
8
|
+
if ((self = [super init])) {
|
9
|
+
self.values = malloc(sizeof(float) * size);
|
10
|
+
memcpy(self.values, values, sizeof(float) * size);
|
11
|
+
self.size = size;
|
12
|
+
}
|
13
|
+
return self;
|
14
|
+
}
|
15
|
+
|
16
|
+
- (void)dealloc {
|
17
|
+
free(self.values);
|
18
|
+
[super dealloc];
|
19
|
+
}
|
20
|
+
|
21
|
+
- (BOOL)isEqual:(id)object {
|
22
|
+
if (![object isKindOfClass:[EXPFloatTuple class]]) return NO;
|
23
|
+
EXPFloatTuple *other = (EXPFloatTuple *)object;
|
24
|
+
if (self.size == other.size) {
|
25
|
+
for (int i = 0; i < self.size; ++i) {
|
26
|
+
if (self.values[i] != other.values[i]) return NO;
|
27
|
+
}
|
28
|
+
return YES;
|
29
|
+
}
|
30
|
+
return NO;
|
31
|
+
}
|
32
|
+
|
33
|
+
- (NSString *)description {
|
34
|
+
if (self.size == 2) {
|
35
|
+
return [NSString stringWithFormat:@"Float tuple: {%f, %f}", self.values[0], self.values[1]];
|
36
|
+
} else if (self.size == 4) {
|
37
|
+
return [NSString stringWithFormat:@"Float tuple: {%f, %f, %f, %f}", self.values[0], self.values[1], self.values[2], self.values[3]];
|
38
|
+
}
|
39
|
+
return [NSString stringWithFormat:@"Float tuple of unexpected size %zd, sadly", self.size];
|
40
|
+
}
|
41
|
+
|
42
|
+
@end
|
@@ -0,0 +1,20 @@
|
|
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 <Foundation/Foundation.h>
|
10
|
+
|
11
|
+
@protocol EXPMatcher <NSObject>
|
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
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#import "EXPUnsupportedObject.h"
|
2
|
+
|
3
|
+
@implementation EXPUnsupportedObject
|
4
|
+
|
5
|
+
@synthesize type=_type;
|
6
|
+
|
7
|
+
- (id)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
|
@@ -0,0 +1,27 @@
|
|
1
|
+
#import <Foundation/Foundation.h>
|
2
|
+
#import "ExpectaSupport.h"
|
3
|
+
|
4
|
+
#define EXPObjectify(value) _EXPObjectify(@encode(__typeof__((value))), (value))
|
5
|
+
|
6
|
+
#define EXP_expect(actual) _EXP_expect(self, __LINE__, __FILE__, ^id{ return EXPObjectify((actual)); })
|
7
|
+
|
8
|
+
#define EXPMatcherInterface(matcherName, matcherArguments) _EXPMatcherInterface(matcherName, matcherArguments)
|
9
|
+
#define EXPMatcherImplementationBegin(matcherName, matcherArguments) _EXPMatcherImplementationBegin(matcherName, matcherArguments)
|
10
|
+
#define EXPMatcherImplementationEnd _EXPMatcherImplementationEnd
|
11
|
+
|
12
|
+
#import "EXPMatchers.h"
|
13
|
+
|
14
|
+
#ifdef EXP_SHORTHAND
|
15
|
+
# define expect(...) EXP_expect((__VA_ARGS__))
|
16
|
+
#endif
|
17
|
+
|
18
|
+
#ifdef EXP_OLD_SYNTAX
|
19
|
+
# import "EXPBackwardCompatibility.h"
|
20
|
+
#endif
|
21
|
+
|
22
|
+
@interface Expecta : NSObject
|
23
|
+
|
24
|
+
+ (NSTimeInterval)asynchronousTestTimeout;
|
25
|
+
+ (void)setAsynchronousTestTimeout:(NSTimeInterval)timeout;
|
26
|
+
|
27
|
+
@end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
#import "Expecta.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
|
@@ -0,0 +1,64 @@
|
|
1
|
+
#import "EXPExpect.h"
|
2
|
+
#import "EXPBlockDefinedMatcher.h"
|
3
|
+
|
4
|
+
#ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
#endif
|
7
|
+
|
8
|
+
id _EXPObjectify(const char *type, ...);
|
9
|
+
EXPExpect *_EXP_expect(id testCase, int lineNumber, const char *fileName, EXPIdBlock actualBlock);
|
10
|
+
|
11
|
+
void EXPFail(id testCase, int lineNumber, const char *fileName, NSString *message);
|
12
|
+
NSString *EXPDescribeObject(id obj);
|
13
|
+
|
14
|
+
void EXP_prerequisite(EXPBoolBlock block);
|
15
|
+
void EXP_match(EXPBoolBlock block);
|
16
|
+
void EXP_failureMessageForTo(EXPStringBlock block);
|
17
|
+
void EXP_failureMessageForNotTo(EXPStringBlock block);
|
18
|
+
|
19
|
+
#if __has_feature(objc_arc)
|
20
|
+
#define _EXP_release(x)
|
21
|
+
#define _EXP_autorelease(x) (x)
|
22
|
+
|
23
|
+
#else
|
24
|
+
#define _EXP_release(x) [x release]
|
25
|
+
#define _EXP_autorelease(x) [x autorelease]
|
26
|
+
#endif
|
27
|
+
|
28
|
+
// workaround for the categories bug: http://developer.apple.com/library/mac/#qa/qa1490/_index.html
|
29
|
+
#define EXPFixCategoriesBug(name) \
|
30
|
+
__attribute__((constructor)) static void EXPFixCategoriesBug##name() {}
|
31
|
+
|
32
|
+
#define _EXPMatcherInterface(matcherName, matcherArguments) \
|
33
|
+
@interface EXPExpect (matcherName##Matcher) \
|
34
|
+
@property (nonatomic, readonly) void(^ matcherName) matcherArguments; \
|
35
|
+
@end
|
36
|
+
|
37
|
+
#define _EXPMatcherImplementationBegin(matcherName, matcherArguments) \
|
38
|
+
EXPFixCategoriesBug(EXPMatcher##matcherName##Matcher); \
|
39
|
+
@implementation EXPExpect (matcherName##Matcher) \
|
40
|
+
@dynamic matcherName;\
|
41
|
+
- (void(^) matcherArguments) matcherName { \
|
42
|
+
EXPBlockDefinedMatcher *matcher = [[EXPBlockDefinedMatcher alloc] init]; \
|
43
|
+
[[[NSThread currentThread] threadDictionary] setObject:matcher forKey:@"EXP_currentMatcher"]; \
|
44
|
+
__block id actual = self.actual; \
|
45
|
+
__block void (^prerequisite)(EXPBoolBlock block) = ^(EXPBoolBlock block) { EXP_prerequisite(block); }; \
|
46
|
+
__block void (^match)(EXPBoolBlock block) = ^(EXPBoolBlock block) { EXP_match(block); }; \
|
47
|
+
__block void (^failureMessageForTo)(EXPStringBlock block) = ^(EXPStringBlock block) { EXP_failureMessageForTo(block); }; \
|
48
|
+
__block void (^failureMessageForNotTo)(EXPStringBlock block) = ^(EXPStringBlock block) { EXP_failureMessageForNotTo(block); }; \
|
49
|
+
prerequisite(nil); match(nil); failureMessageForTo(nil); failureMessageForNotTo(nil); \
|
50
|
+
void (^matcherBlock) matcherArguments = [^ matcherArguments { \
|
51
|
+
{
|
52
|
+
|
53
|
+
#define _EXPMatcherImplementationEnd \
|
54
|
+
} \
|
55
|
+
[self applyMatcher:matcher to:&actual]; \
|
56
|
+
} copy]; \
|
57
|
+
_EXP_release(matcher); \
|
58
|
+
return _EXP_autorelease(matcherBlock); \
|
59
|
+
} \
|
60
|
+
@end
|
61
|
+
|
62
|
+
#ifdef __cplusplus
|
63
|
+
}
|
64
|
+
#endif
|
@@ -0,0 +1,187 @@
|
|
1
|
+
#import "ExpectaSupport.h"
|
2
|
+
#import "NSValue+Expecta.h"
|
3
|
+
#import "NSObject+Expecta.h"
|
4
|
+
#import "EXPUnsupportedObject.h"
|
5
|
+
#import "EXPFloatTuple.h"
|
6
|
+
#import "EXPDoubleTuple.h"
|
7
|
+
#import "EXPDefines.h"
|
8
|
+
#import <objc/runtime.h>
|
9
|
+
|
10
|
+
@interface NSException (ExpectaSenTestFailure)
|
11
|
+
|
12
|
+
+ (NSException *)failureInFile:(NSString *)filename atLine:(int)lineNumber withDescription:(NSString *)formatString, ...;
|
13
|
+
|
14
|
+
@end
|
15
|
+
|
16
|
+
@interface NSObject (ExpectaXCTestRecordFailure)
|
17
|
+
|
18
|
+
// suppress warning
|
19
|
+
- (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)filename atLine:(NSUInteger)lineNumber expected:(BOOL)expected;
|
20
|
+
|
21
|
+
@end
|
22
|
+
|
23
|
+
id _EXPObjectify(const char *type, ...) {
|
24
|
+
va_list v;
|
25
|
+
va_start(v, type);
|
26
|
+
id obj = nil;
|
27
|
+
if(strcmp(type, @encode(char)) == 0) {
|
28
|
+
char actual = (char)va_arg(v, int);
|
29
|
+
obj = [NSNumber numberWithChar:actual];
|
30
|
+
} else if(strcmp(type, @encode(_Bool)) == 0) {
|
31
|
+
_Static_assert(sizeof(_Bool) <= sizeof(int), "Expected _Bool to be subject to vararg type promotion");
|
32
|
+
_Bool actual = (_Bool)va_arg(v, int);
|
33
|
+
obj = [NSNumber numberWithBool:actual];
|
34
|
+
} else if(strcmp(type, @encode(double)) == 0) {
|
35
|
+
double actual = (double)va_arg(v, double);
|
36
|
+
obj = [NSNumber numberWithDouble:actual];
|
37
|
+
} else if(strcmp(type, @encode(float)) == 0) {
|
38
|
+
float actual = (float)va_arg(v, double);
|
39
|
+
obj = [NSNumber numberWithFloat:actual];
|
40
|
+
} else if(strcmp(type, @encode(int)) == 0) {
|
41
|
+
int actual = (int)va_arg(v, int);
|
42
|
+
obj = [NSNumber numberWithInt:actual];
|
43
|
+
} else if(strcmp(type, @encode(long)) == 0) {
|
44
|
+
long actual = (long)va_arg(v, long);
|
45
|
+
obj = [NSNumber numberWithLong:actual];
|
46
|
+
} else if(strcmp(type, @encode(long long)) == 0) {
|
47
|
+
long long actual = (long long)va_arg(v, long long);
|
48
|
+
obj = [NSNumber numberWithLongLong:actual];
|
49
|
+
} else if(strcmp(type, @encode(short)) == 0) {
|
50
|
+
short actual = (short)va_arg(v, int);
|
51
|
+
obj = [NSNumber numberWithShort:actual];
|
52
|
+
} else if(strcmp(type, @encode(unsigned char)) == 0) {
|
53
|
+
unsigned char actual = (unsigned char)va_arg(v, unsigned int);
|
54
|
+
obj = [NSNumber numberWithUnsignedChar:actual];
|
55
|
+
} else if(strcmp(type, @encode(unsigned int)) == 0) {
|
56
|
+
unsigned int actual = (int)va_arg(v, unsigned int);
|
57
|
+
obj = [NSNumber numberWithUnsignedInt:actual];
|
58
|
+
} else if(strcmp(type, @encode(unsigned long)) == 0) {
|
59
|
+
unsigned long actual = (unsigned long)va_arg(v, unsigned long);
|
60
|
+
obj = [NSNumber numberWithUnsignedLong:actual];
|
61
|
+
} else if(strcmp(type, @encode(unsigned long long)) == 0) {
|
62
|
+
unsigned long long actual = (unsigned long long)va_arg(v, unsigned long long);
|
63
|
+
obj = [NSNumber numberWithUnsignedLongLong:actual];
|
64
|
+
} else if(strcmp(type, @encode(unsigned short)) == 0) {
|
65
|
+
unsigned short actual = (unsigned short)va_arg(v, unsigned int);
|
66
|
+
obj = [NSNumber numberWithUnsignedShort:actual];
|
67
|
+
} else if(strstr(type, @encode(EXPBasicBlock)) != NULL) {
|
68
|
+
// @encode(EXPBasicBlock) returns @? as of clang 4.1.
|
69
|
+
// This condition must occur before the test for id/class type,
|
70
|
+
// otherwise blocks will be treated as vanilla objects.
|
71
|
+
id actual = va_arg(v, EXPBasicBlock);
|
72
|
+
obj = [[actual copy] autorelease];
|
73
|
+
} else if((strstr(type, @encode(id)) != NULL) || (strstr(type, @encode(Class)) != 0)) {
|
74
|
+
id actual = va_arg(v, id);
|
75
|
+
obj = actual;
|
76
|
+
} else if(strcmp(type, @encode(__typeof__(nil))) == 0) {
|
77
|
+
obj = nil;
|
78
|
+
} else if(strstr(type, "ff}{") != NULL) { //TODO: of course this only works for a 2x2 e.g. CGRect
|
79
|
+
obj = [[[EXPFloatTuple alloc] initWithFloatValues:(float *)va_arg(v, float[4]) size:4] autorelease];
|
80
|
+
} else if(strstr(type, "=ff}") != NULL) {
|
81
|
+
obj = [[[EXPFloatTuple alloc] initWithFloatValues:(float *)va_arg(v, float[2]) size:2] autorelease];
|
82
|
+
} else if(strstr(type, "=ffff}") != NULL) {
|
83
|
+
obj = [[[EXPFloatTuple alloc] initWithFloatValues:(float *)va_arg(v, float[4]) size:4] autorelease];
|
84
|
+
} else if(strstr(type, "dd}{") != NULL) { //TODO: same here
|
85
|
+
obj = [[[EXPDoubleTuple alloc] initWithDoubleValues:(double *)va_arg(v, double[4]) size:4] autorelease];
|
86
|
+
} else if(strstr(type, "=dd}") != NULL) {
|
87
|
+
obj = [[[EXPDoubleTuple alloc] initWithDoubleValues:(double *)va_arg(v, double[2]) size:2] autorelease];
|
88
|
+
} else if(strstr(type, "=dddd}") != NULL) {
|
89
|
+
obj = [[[EXPDoubleTuple alloc] initWithDoubleValues:(double *)va_arg(v, double[4]) size:4] autorelease];
|
90
|
+
} else if(type[0] == '{') {
|
91
|
+
EXPUnsupportedObject *actual = [[[EXPUnsupportedObject alloc] initWithType:@"struct"] autorelease];
|
92
|
+
obj = actual;
|
93
|
+
} else if(type[0] == '(') {
|
94
|
+
EXPUnsupportedObject *actual = [[[EXPUnsupportedObject alloc] initWithType:@"union"] autorelease];
|
95
|
+
obj = actual;
|
96
|
+
} else {
|
97
|
+
void *actual = va_arg(v, void *);
|
98
|
+
obj = (actual == NULL ? nil :[NSValue valueWithPointer:actual]);
|
99
|
+
}
|
100
|
+
if([obj isKindOfClass:[NSValue class]] && ![obj isKindOfClass:[NSNumber class]]) {
|
101
|
+
[(NSValue *)obj set_EXP_objCType:type];
|
102
|
+
}
|
103
|
+
va_end(v);
|
104
|
+
return obj;
|
105
|
+
}
|
106
|
+
|
107
|
+
EXPExpect *_EXP_expect(id testCase, int lineNumber, const char *fileName, EXPIdBlock actualBlock) {
|
108
|
+
return [EXPExpect expectWithActualBlock:actualBlock testCase:testCase lineNumber:lineNumber fileName:fileName];
|
109
|
+
}
|
110
|
+
|
111
|
+
void EXPFail(id testCase, int lineNumber, const char *fileName, NSString *message) {
|
112
|
+
NSLog(@"%s:%d %@", fileName, lineNumber, message);
|
113
|
+
NSString *reason = [NSString stringWithFormat:@"%s:%d %@", fileName, lineNumber, message];
|
114
|
+
NSException *exception = [NSException exceptionWithName:@"Expecta Error" reason:reason userInfo:nil];
|
115
|
+
|
116
|
+
if(testCase && [testCase respondsToSelector:@selector(failWithException:)]) {
|
117
|
+
if([[(Class)objc_getMetaClass("NSException") class] instancesRespondToSelector:@selector(failureInFile:atLine:withDescription:)]) {
|
118
|
+
exception = [NSException failureInFile:[NSString stringWithUTF8String:fileName] atLine:lineNumber withDescription:message];
|
119
|
+
}
|
120
|
+
[testCase failWithException:exception];
|
121
|
+
} else if(testCase && [testCase respondsToSelector:@selector(recordFailureWithDescription:inFile:atLine:expected:)]){
|
122
|
+
[testCase recordFailureWithDescription:message
|
123
|
+
inFile:[NSString stringWithUTF8String:fileName]
|
124
|
+
atLine:lineNumber
|
125
|
+
expected:NO];
|
126
|
+
} else {
|
127
|
+
[exception raise];
|
128
|
+
}
|
129
|
+
}
|
130
|
+
|
131
|
+
NSString *EXPDescribeObject(id obj) {
|
132
|
+
if(obj == nil) {
|
133
|
+
return @"nil/null";
|
134
|
+
} else if([obj isKindOfClass:[NSValue class]] && ![obj isKindOfClass:[NSNumber class]]) {
|
135
|
+
const char *type = [(NSValue *)obj _EXP_objCType];
|
136
|
+
if(type) {
|
137
|
+
if(strcmp(type, @encode(SEL)) == 0) {
|
138
|
+
return [NSString stringWithFormat:@"@selector(%@)", NSStringFromSelector([obj pointerValue])];
|
139
|
+
} else if(strcmp(type, @encode(Class)) == 0) {
|
140
|
+
return NSStringFromClass([obj pointerValue]);
|
141
|
+
}
|
142
|
+
}
|
143
|
+
}
|
144
|
+
NSString *description = [obj description];
|
145
|
+
if([obj isKindOfClass:[NSArray class]]) {
|
146
|
+
NSMutableArray *arr = [NSMutableArray arrayWithCapacity:[obj count]];
|
147
|
+
for(id o in obj) {
|
148
|
+
[arr addObject:EXPDescribeObject(o)];
|
149
|
+
}
|
150
|
+
description = [NSString stringWithFormat:@"(%@)", [arr componentsJoinedByString:@", "]];
|
151
|
+
} else if([obj isKindOfClass:[NSSet class]] || [obj isKindOfClass:[NSOrderedSet class]]) {
|
152
|
+
NSMutableArray *arr = [NSMutableArray arrayWithCapacity:[obj count]];
|
153
|
+
for(id o in obj) {
|
154
|
+
[arr addObject:EXPDescribeObject(o)];
|
155
|
+
}
|
156
|
+
description = [NSString stringWithFormat:@"{(%@)}", [arr componentsJoinedByString:@", "]];
|
157
|
+
} else if([obj isKindOfClass:[NSDictionary class]]) {
|
158
|
+
NSMutableArray *arr = [NSMutableArray arrayWithCapacity:[obj count]];
|
159
|
+
for(id k in obj) {
|
160
|
+
id v = [obj objectForKey:k];
|
161
|
+
[arr addObject:[NSString stringWithFormat:@"%@ = %@;",EXPDescribeObject(k), EXPDescribeObject(v)]];
|
162
|
+
}
|
163
|
+
description = [NSString stringWithFormat:@"{%@}", [arr componentsJoinedByString:@" "]];
|
164
|
+
} else if([obj isKindOfClass:[NSAttributedString class]]) {
|
165
|
+
description = [obj string];
|
166
|
+
} else {
|
167
|
+
description = [description stringByReplacingOccurrencesOfString:@"\n" withString:@"\\n"];
|
168
|
+
}
|
169
|
+
return description;
|
170
|
+
}
|
171
|
+
|
172
|
+
void EXP_prerequisite(EXPBoolBlock block) {
|
173
|
+
[[[[NSThread currentThread] threadDictionary] objectForKey:@"EXP_currentMatcher"] setPrerequisiteBlock:block];
|
174
|
+
}
|
175
|
+
|
176
|
+
void EXP_match(EXPBoolBlock block) {
|
177
|
+
[[[[NSThread currentThread] threadDictionary] objectForKey:@"EXP_currentMatcher"] setMatchBlock:block];
|
178
|
+
}
|
179
|
+
|
180
|
+
void EXP_failureMessageForTo(EXPStringBlock block) {
|
181
|
+
[[[[NSThread currentThread] threadDictionary] objectForKey:@"EXP_currentMatcher"] setFailureMessageForToBlock:block];
|
182
|
+
}
|
183
|
+
|
184
|
+
void EXP_failureMessageForNotTo(EXPStringBlock block) {
|
185
|
+
[[[[NSThread currentThread] threadDictionary] objectForKey:@"EXP_currentMatcher"] setFailureMessageForNotToBlock:block];
|
186
|
+
}
|
187
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#import <Foundation/Foundation.h>
|
2
|
+
|
3
|
+
@interface NSObject (Expecta)
|
4
|
+
|
5
|
+
#ifdef USE_XCTEST
|
6
|
+
- (void)recordFailureWithDescription:(NSString *)description
|
7
|
+
inFile:(NSString *)filename
|
8
|
+
atLine:(NSUInteger)lineNumber
|
9
|
+
expected:(BOOL)expected;
|
10
|
+
#else
|
11
|
+
- (void)failWithException:(NSException *)exception;
|
12
|
+
#endif
|
13
|
+
|
14
|
+
@end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#import "NSValue+Expecta.h"
|
2
|
+
#import <objc/runtime.h>
|
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
|
+
[NSString stringWithCString:_EXP_objCType encoding:NSASCIIStringEncoding],
|
18
|
+
OBJC_ASSOCIATION_COPY_NONATOMIC);
|
19
|
+
}
|
20
|
+
|
21
|
+
@end
|