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,100 @@
|
|
1
|
+
/**
|
2
|
+
Adds methods to World to support top-level DSL functions (Swift) and
|
3
|
+
macros (Objective-C). These functions map directly to the DSL that test
|
4
|
+
writers use in their specs.
|
5
|
+
*/
|
6
|
+
extension World {
|
7
|
+
public func beforeSuite(closure: BeforeSuiteClosure) {
|
8
|
+
suiteHooks.appendBefore(closure)
|
9
|
+
}
|
10
|
+
|
11
|
+
public func afterSuite(closure: AfterSuiteClosure) {
|
12
|
+
suiteHooks.appendAfter(closure)
|
13
|
+
}
|
14
|
+
|
15
|
+
public func sharedExamples(name: String, closure: SharedExampleClosure) {
|
16
|
+
registerSharedExample(name, closure: closure)
|
17
|
+
}
|
18
|
+
|
19
|
+
public func describe(description: String, closure: () -> (), flags: FilterFlags) {
|
20
|
+
var group = ExampleGroup(description: description, flags: flags)
|
21
|
+
currentExampleGroup!.appendExampleGroup(group)
|
22
|
+
currentExampleGroup = group
|
23
|
+
closure()
|
24
|
+
currentExampleGroup = group.parent
|
25
|
+
}
|
26
|
+
|
27
|
+
public func context(description: String, closure: () -> (), flags: FilterFlags) {
|
28
|
+
self.describe(description, closure: closure, flags: flags)
|
29
|
+
}
|
30
|
+
|
31
|
+
public func fdescribe(description: String, closure: () -> (), flags: FilterFlags) {
|
32
|
+
var focusedFlags = flags
|
33
|
+
focusedFlags[Filter.focused] = true
|
34
|
+
self.describe(description, closure: closure, flags: focusedFlags)
|
35
|
+
}
|
36
|
+
|
37
|
+
public func xdescribe(description: String, closure: () -> (), flags: FilterFlags) {
|
38
|
+
var pendingFlags = flags
|
39
|
+
pendingFlags[Filter.pending] = true
|
40
|
+
self.describe(description, closure: closure, flags: pendingFlags)
|
41
|
+
}
|
42
|
+
|
43
|
+
public func beforeEach(closure: BeforeExampleClosure) {
|
44
|
+
currentExampleGroup!.hooks.appendBefore(closure)
|
45
|
+
}
|
46
|
+
|
47
|
+
public func beforeEach(#closure: BeforeExampleWithMetadataClosure) {
|
48
|
+
currentExampleGroup!.hooks.appendBefore(closure)
|
49
|
+
}
|
50
|
+
|
51
|
+
public func afterEach(closure: AfterExampleClosure) {
|
52
|
+
currentExampleGroup!.hooks.appendAfter(closure)
|
53
|
+
}
|
54
|
+
|
55
|
+
public func afterEach(#closure: AfterExampleWithMetadataClosure) {
|
56
|
+
currentExampleGroup!.hooks.appendAfter(closure)
|
57
|
+
}
|
58
|
+
|
59
|
+
@objc(itWithDescription:flags:file:line:closure:)
|
60
|
+
public func it(description: String, flags: FilterFlags, file: String, line: Int, closure: () -> ()) {
|
61
|
+
let callsite = Callsite(file: file, line: line)
|
62
|
+
let example = Example(description: description, callsite: callsite, flags: flags, closure)
|
63
|
+
currentExampleGroup!.appendExample(example)
|
64
|
+
}
|
65
|
+
|
66
|
+
@objc(fitWithDescription:flags:file:line:closure:)
|
67
|
+
public func fit(description: String, flags: FilterFlags, file: String, line: Int, closure: () -> ()) {
|
68
|
+
var focusedFlags = flags
|
69
|
+
focusedFlags[Filter.focused] = true
|
70
|
+
self.it(description, flags: focusedFlags, file: file, line: line, closure: closure)
|
71
|
+
}
|
72
|
+
|
73
|
+
@objc(xitWithDescription:flags:file:line:closure:)
|
74
|
+
public func xit(description: String, flags: FilterFlags, file: String, line: Int, closure: () -> ()) {
|
75
|
+
var pendingFlags = flags
|
76
|
+
pendingFlags[Filter.pending] = true
|
77
|
+
self.it(description, flags: pendingFlags, file: file, line: line, closure: closure)
|
78
|
+
}
|
79
|
+
|
80
|
+
@objc(itBehavesLikeSharedExampleNamed:sharedExampleContext:flags:file:line:)
|
81
|
+
public func itBehavesLike(name: String, sharedExampleContext: SharedExampleContext, flags: FilterFlags, file: String, line: Int) {
|
82
|
+
let callsite = Callsite(file: file, line: line)
|
83
|
+
let closure = World.sharedWorld().sharedExample(name)
|
84
|
+
|
85
|
+
var group = ExampleGroup(description: name, flags: flags)
|
86
|
+
currentExampleGroup!.appendExampleGroup(group)
|
87
|
+
currentExampleGroup = group
|
88
|
+
closure(sharedExampleContext)
|
89
|
+
currentExampleGroup!.walkDownExamples { (example: Example) in
|
90
|
+
example.isSharedExample = true
|
91
|
+
example.callsite = callsite
|
92
|
+
}
|
93
|
+
|
94
|
+
currentExampleGroup = group.parent
|
95
|
+
}
|
96
|
+
|
97
|
+
public func pending(description: String, closure: () -> ()) {
|
98
|
+
NSLog("Pending: %@", description)
|
99
|
+
}
|
100
|
+
}
|
@@ -0,0 +1,103 @@
|
|
1
|
+
private var numberOfExamplesRun = 0
|
2
|
+
|
3
|
+
/**
|
4
|
+
Examples, defined with the `it` function, use assertions to
|
5
|
+
demonstrate how code should behave. These are like "tests" in XCTest.
|
6
|
+
*/
|
7
|
+
@objc final public class Example: Equatable {
|
8
|
+
/**
|
9
|
+
A boolean indicating whether the example is a shared example;
|
10
|
+
i.e.: whether it is an example defined with `itBehavesLike`.
|
11
|
+
*/
|
12
|
+
public var isSharedExample = false
|
13
|
+
|
14
|
+
/**
|
15
|
+
The site at which the example is defined.
|
16
|
+
This must be set correctly in order for Xcode to highlight
|
17
|
+
the correct line in red when reporting a failure.
|
18
|
+
*/
|
19
|
+
public var callsite: Callsite
|
20
|
+
|
21
|
+
weak internal var group: ExampleGroup?
|
22
|
+
|
23
|
+
private let description: String
|
24
|
+
private let closure: () -> ()
|
25
|
+
private let flags: FilterFlags
|
26
|
+
|
27
|
+
internal init(description: String, callsite: Callsite, flags: FilterFlags, closure: () -> ()) {
|
28
|
+
self.description = description
|
29
|
+
self.closure = closure
|
30
|
+
self.callsite = callsite
|
31
|
+
self.flags = flags
|
32
|
+
}
|
33
|
+
|
34
|
+
/**
|
35
|
+
The example name. A name is a concatenation of the name of
|
36
|
+
the example group the example belongs to, followed by the
|
37
|
+
description of the example itself.
|
38
|
+
|
39
|
+
The example name is used to generate a test method selector
|
40
|
+
to be displayed in Xcode's test navigator.
|
41
|
+
*/
|
42
|
+
public var name: String {
|
43
|
+
switch group!.name {
|
44
|
+
case .Some(let groupName): return "\(groupName), \(description)"
|
45
|
+
case .None: return description
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
/**
|
50
|
+
Executes the example closure, as well as all before and after
|
51
|
+
closures defined in the its surrounding example groups.
|
52
|
+
*/
|
53
|
+
public func run() {
|
54
|
+
let world = World.sharedWorld()
|
55
|
+
|
56
|
+
if numberOfExamplesRun == 0 {
|
57
|
+
world.suiteHooks.executeBefores()
|
58
|
+
}
|
59
|
+
|
60
|
+
let exampleMetadata = ExampleMetadata(example: self, exampleIndex: numberOfExamplesRun)
|
61
|
+
world.currentExampleMetadata = exampleMetadata
|
62
|
+
|
63
|
+
world.exampleHooks.executeBefores(exampleMetadata)
|
64
|
+
for before in group!.befores {
|
65
|
+
before(exampleMetadata: exampleMetadata)
|
66
|
+
}
|
67
|
+
|
68
|
+
closure()
|
69
|
+
|
70
|
+
for after in group!.afters {
|
71
|
+
after(exampleMetadata: exampleMetadata)
|
72
|
+
}
|
73
|
+
world.exampleHooks.executeAfters(exampleMetadata)
|
74
|
+
|
75
|
+
++numberOfExamplesRun
|
76
|
+
|
77
|
+
if !world.isRunningAdditionalSuites && numberOfExamplesRun >= world.exampleCount {
|
78
|
+
world.suiteHooks.executeAfters()
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
/**
|
83
|
+
Evaluates the filter flags set on this example and on the example groups
|
84
|
+
this example belongs to. Flags set on the example are trumped by flags on
|
85
|
+
the example group it belongs to. Flags on inner example groups are trumped
|
86
|
+
by flags on outer example groups.
|
87
|
+
*/
|
88
|
+
internal var filterFlags: FilterFlags {
|
89
|
+
var aggregateFlags = flags
|
90
|
+
for (key, value) in group!.filterFlags {
|
91
|
+
aggregateFlags[key] = value
|
92
|
+
}
|
93
|
+
return aggregateFlags
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
/**
|
98
|
+
Returns a boolean indicating whether two Example objects are equal.
|
99
|
+
If two examples are defined at the exact same callsite, they must be equal.
|
100
|
+
*/
|
101
|
+
public func ==(lhs: Example, rhs: Example) -> Bool {
|
102
|
+
return lhs.callsite == rhs.callsite
|
103
|
+
}
|
@@ -0,0 +1,97 @@
|
|
1
|
+
/**
|
2
|
+
Example groups are logical groupings of examples, defined with
|
3
|
+
the `describe` and `context` functions. Example groups can share
|
4
|
+
setup and teardown code.
|
5
|
+
*/
|
6
|
+
@objc final public class ExampleGroup {
|
7
|
+
weak internal var parent: ExampleGroup?
|
8
|
+
internal let hooks = ExampleHooks()
|
9
|
+
|
10
|
+
private let description: String
|
11
|
+
private let flags: FilterFlags
|
12
|
+
private let isInternalRootExampleGroup: Bool
|
13
|
+
private var childGroups = [ExampleGroup]()
|
14
|
+
private var childExamples = [Example]()
|
15
|
+
|
16
|
+
internal init(description: String, flags: FilterFlags, isInternalRootExampleGroup: Bool = false) {
|
17
|
+
self.description = description
|
18
|
+
self.flags = flags
|
19
|
+
self.isInternalRootExampleGroup = isInternalRootExampleGroup
|
20
|
+
}
|
21
|
+
|
22
|
+
/**
|
23
|
+
Returns a list of examples that belong to this example group,
|
24
|
+
or to any of its descendant example groups.
|
25
|
+
*/
|
26
|
+
public var examples: [Example] {
|
27
|
+
var examples = childExamples
|
28
|
+
for group in childGroups {
|
29
|
+
examples.extend(group.examples)
|
30
|
+
}
|
31
|
+
return examples
|
32
|
+
}
|
33
|
+
|
34
|
+
internal var name: String? {
|
35
|
+
if let parent = parent {
|
36
|
+
switch(parent.name) {
|
37
|
+
case .Some(let name): return "\(name), \(description)"
|
38
|
+
case .None: return description
|
39
|
+
}
|
40
|
+
} else {
|
41
|
+
return isInternalRootExampleGroup ? nil : description
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
internal var filterFlags: FilterFlags {
|
46
|
+
var aggregateFlags = flags
|
47
|
+
walkUp() { (group: ExampleGroup) -> () in
|
48
|
+
for (key, value) in group.flags {
|
49
|
+
aggregateFlags[key] = value
|
50
|
+
}
|
51
|
+
}
|
52
|
+
return aggregateFlags
|
53
|
+
}
|
54
|
+
|
55
|
+
internal var befores: [BeforeExampleWithMetadataClosure] {
|
56
|
+
var closures = hooks.befores.reverse()
|
57
|
+
walkUp() { (group: ExampleGroup) -> () in
|
58
|
+
closures.extend(group.hooks.befores.reverse())
|
59
|
+
}
|
60
|
+
return closures.reverse()
|
61
|
+
}
|
62
|
+
|
63
|
+
internal var afters: [AfterExampleWithMetadataClosure] {
|
64
|
+
var closures = hooks.afters
|
65
|
+
walkUp() { (group: ExampleGroup) -> () in
|
66
|
+
closures.extend(group.hooks.afters)
|
67
|
+
}
|
68
|
+
return closures
|
69
|
+
}
|
70
|
+
|
71
|
+
internal func walkDownExamples(callback: (example: Example) -> ()) {
|
72
|
+
for example in childExamples {
|
73
|
+
callback(example: example)
|
74
|
+
}
|
75
|
+
for group in childGroups {
|
76
|
+
group.walkDownExamples(callback)
|
77
|
+
}
|
78
|
+
}
|
79
|
+
|
80
|
+
internal func appendExampleGroup(group: ExampleGroup) {
|
81
|
+
group.parent = self
|
82
|
+
childGroups.append(group)
|
83
|
+
}
|
84
|
+
|
85
|
+
internal func appendExample(example: Example) {
|
86
|
+
example.group = self
|
87
|
+
childExamples.append(example)
|
88
|
+
}
|
89
|
+
|
90
|
+
private func walkUp(callback: (group: ExampleGroup) -> ()) {
|
91
|
+
var group = self
|
92
|
+
while let parent = group.parent {
|
93
|
+
callback(group: parent)
|
94
|
+
group = parent
|
95
|
+
}
|
96
|
+
}
|
97
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/**
|
2
|
+
A class that encapsulates information about an example,
|
3
|
+
including the index at which the example was executed, as
|
4
|
+
well as the example itself.
|
5
|
+
*/
|
6
|
+
@objc final public class ExampleMetadata {
|
7
|
+
/**
|
8
|
+
The example for which this metadata was collected.
|
9
|
+
*/
|
10
|
+
public let example: Example
|
11
|
+
|
12
|
+
/**
|
13
|
+
The index at which this example was executed in the
|
14
|
+
test suite.
|
15
|
+
*/
|
16
|
+
public let exampleIndex: Int
|
17
|
+
|
18
|
+
internal init(example: Example, exampleIndex: Int) {
|
19
|
+
self.example = example
|
20
|
+
self.exampleIndex = exampleIndex
|
21
|
+
}
|
22
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import Foundation
|
2
|
+
|
3
|
+
@objc final class Failure {
|
4
|
+
let callsite: Callsite
|
5
|
+
let exception: NSException
|
6
|
+
|
7
|
+
init(exception: NSException, callsite: Callsite) {
|
8
|
+
self.exception = exception
|
9
|
+
self.callsite = callsite
|
10
|
+
}
|
11
|
+
|
12
|
+
@objc(failureWithException:callsite:)
|
13
|
+
class func failure(exception: NSException, callsite: Callsite) -> Failure {
|
14
|
+
return Failure(exception: exception, callsite: callsite)
|
15
|
+
}
|
16
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
/**
|
2
|
+
A mapping of string keys to booleans that can be used to
|
3
|
+
filter examples or example groups. For example, a "focused"
|
4
|
+
example would have the flags [Focused: true].
|
5
|
+
*/
|
6
|
+
public typealias FilterFlags = [String: Bool]
|
7
|
+
|
8
|
+
/**
|
9
|
+
A namespace for filter flag keys, defined primarily to make the
|
10
|
+
keys available in Objective-C.
|
11
|
+
*/
|
12
|
+
@objc(QCKFilter) final public class Filter {
|
13
|
+
/**
|
14
|
+
Example and example groups with [Focused: true] are included in test runs,
|
15
|
+
excluding all other examples without this flag. Use this to only run one or
|
16
|
+
two tests that you're currently focusing on.
|
17
|
+
*/
|
18
|
+
public class var focused: String {
|
19
|
+
return "focused"
|
20
|
+
}
|
21
|
+
|
22
|
+
/**
|
23
|
+
Example and example groups with [Pending: true] are excluded from test runs.
|
24
|
+
Use this to temporarily suspend examples that you know do not pass yet.
|
25
|
+
*/
|
26
|
+
public class var pending: String {
|
27
|
+
return "pending"
|
28
|
+
}
|
29
|
+
}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
// MARK: Example Hooks
|
2
|
+
|
3
|
+
/**
|
4
|
+
A closure executed before an example is run.
|
5
|
+
*/
|
6
|
+
public typealias BeforeExampleClosure = () -> ()
|
7
|
+
|
8
|
+
/**
|
9
|
+
A closure executed before an example is run. The closure is given example metadata,
|
10
|
+
which contains information about the example that is about to be run.
|
11
|
+
*/
|
12
|
+
public typealias BeforeExampleWithMetadataClosure = (exampleMetadata: ExampleMetadata) -> ()
|
13
|
+
|
14
|
+
/**
|
15
|
+
A closure executed after an example is run.
|
16
|
+
*/
|
17
|
+
public typealias AfterExampleClosure = BeforeExampleClosure
|
18
|
+
|
19
|
+
/**
|
20
|
+
A closure executed after an example is run. The closure is given example metadata,
|
21
|
+
which contains information about the example that has just finished running.
|
22
|
+
*/
|
23
|
+
public typealias AfterExampleWithMetadataClosure = BeforeExampleWithMetadataClosure
|
24
|
+
|
25
|
+
// MARK: Suite Hooks
|
26
|
+
|
27
|
+
/**
|
28
|
+
A closure executed before any examples are run.
|
29
|
+
*/
|
30
|
+
public typealias BeforeSuiteClosure = () -> ()
|
31
|
+
|
32
|
+
/**
|
33
|
+
A closure executed after all examples have finished running.
|
34
|
+
*/
|
35
|
+
public typealias AfterSuiteClosure = BeforeSuiteClosure
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/**
|
2
|
+
A container for closures to be executed before and after each example.
|
3
|
+
*/
|
4
|
+
final internal class ExampleHooks {
|
5
|
+
|
6
|
+
internal var befores: [BeforeExampleWithMetadataClosure] = []
|
7
|
+
internal var afters: [AfterExampleWithMetadataClosure] = []
|
8
|
+
|
9
|
+
internal func appendBefore(closure: BeforeExampleWithMetadataClosure) {
|
10
|
+
befores.append(closure)
|
11
|
+
}
|
12
|
+
|
13
|
+
internal func appendBefore(closure: BeforeExampleClosure) {
|
14
|
+
befores.append { (exampleMetadata: ExampleMetadata) in closure() }
|
15
|
+
}
|
16
|
+
|
17
|
+
internal func appendAfter(closure: AfterExampleWithMetadataClosure) {
|
18
|
+
afters.append(closure)
|
19
|
+
}
|
20
|
+
|
21
|
+
internal func appendAfter(closure: AfterExampleClosure) {
|
22
|
+
afters.append { (exampleMetadata: ExampleMetadata) in closure() }
|
23
|
+
}
|
24
|
+
|
25
|
+
internal func executeBefores(exampleMetadata: ExampleMetadata) {
|
26
|
+
for before in befores {
|
27
|
+
before(exampleMetadata: exampleMetadata)
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
internal func executeAfters(exampleMetadata: ExampleMetadata) {
|
32
|
+
for after in afters {
|
33
|
+
after(exampleMetadata: exampleMetadata)
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|