cocoapods-deintegrate 0.2.1 → 1.0.0.beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/lib/cocoapods/command/deintegrate.rb +51 -0
- data/lib/cocoapods/deintegrate/gem_version.rb +3 -0
- data/lib/cocoapods/deintegrator.rb +123 -0
- data/lib/cocoapods_deintegrate.rb +2 -4
- data/lib/cocoapods_plugin.rb +4 -2
- metadata +14 -649
- data/.gitignore +0 -3
- data/Gemfile +0 -11
- data/Gemfile.lock +0 -74
- data/Rakefile +0 -19
- data/cocoapods_deintegrate.gemspec +0 -21
- data/lib/pod/command/deintegrate.rb +0 -153
- data/spec/command/deintegrate_spec.rb +0 -62
- data/spec/fixtures/Project/Frameworks/Podfile +0 -12
- data/spec/fixtures/Project/Frameworks/Podfile.lock +0 -42
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/QueryKit/QKAttribute.h +0 -210
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/QueryKit/QKQuerySet.h +0 -155
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/QueryKit/QueryKit.h +0 -19
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/NSString+QCKSelectorName.h +0 -17
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/QCKDSL.h +0 -211
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/Quick.h +0 -13
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/QuickConfiguration.h +0 -30
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/QuickSpec.h +0 -48
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/QueryKit/QKAttribute.h +0 -210
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/QueryKit/QKQuerySet.h +0 -155
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/QueryKit/QueryKit.h +0 -19
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/NSString+QCKSelectorName.h +0 -17
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/QCKDSL.h +0 -211
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/Quick.h +0 -13
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/QuickConfiguration.h +0 -30
- data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/QuickSpec.h +0 -48
- data/spec/fixtures/Project/Frameworks/Pods/Manifest.lock +0 -42
- data/spec/fixtures/Project/Frameworks/Pods/Pods.xcodeproj/project.pbxproj +0 -995
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/LICENSE +0 -23
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/Attribute.swift +0 -124
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/Expression.swift +0 -41
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKAttribute.h +0 -210
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKAttribute.m +0 -315
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKAttribute.swift +0 -13
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKQuerySet.h +0 -155
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKQuerySet.m +0 -314
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKQuerySet.swift +0 -28
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/Predicate.swift +0 -21
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/QueryKit.h +0 -19
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/QuerySet.swift +0 -237
- data/spec/fixtures/Project/Frameworks/Pods/QueryKit/README.md +0 -151
- data/spec/fixtures/Project/Frameworks/Pods/Quick/LICENSE +0 -201
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Callsite.swift +0 -28
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Configuration/Configuration.swift +0 -147
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Configuration/QuickConfiguration.h +0 -30
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Configuration/QuickConfiguration.m +0 -83
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/DSL/DSL.swift +0 -227
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/DSL/QCKDSL.h +0 -211
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/DSL/QCKDSL.m +0 -70
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/DSL/World+DSL.swift +0 -100
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Example.swift +0 -103
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/ExampleGroup.swift +0 -97
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/ExampleMetadata.swift +0 -22
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Failure.swift +0 -16
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Filter.swift +0 -29
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Hooks/Closures.swift +0 -35
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Hooks/ExampleHooks.swift +0 -36
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Hooks/SuiteHooks.swift +0 -34
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/NSString+QCKSelectorName.h +0 -17
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/NSString+QCKSelectorName.m +0 -33
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Quick.h +0 -13
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/QuickSpec.h +0 -48
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/QuickSpec.m +0 -142
- data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/World.swift +0 -197
- data/spec/fixtures/Project/Frameworks/Pods/Quick/README.md +0 -979
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Info.plist +0 -26
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit-Private.xcconfig +0 -9
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit-dummy.m +0 -5
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit-prefix.pch +0 -5
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit-umbrella.h +0 -9
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit.modulemap +0 -6
- 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 +0 -26
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-acknowledgements.markdown +0 -30
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-acknowledgements.plist +0 -60
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-dummy.m +0 -5
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-environment.h +0 -74
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-frameworks.sh +0 -55
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-resources.sh +0 -74
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-umbrella.h +0 -6
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.debug.xcconfig +0 -9
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.modulemap +0 -6
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.release.xcconfig +0 -9
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Info.plist +0 -26
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick-Private.xcconfig +0 -9
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick-dummy.m +0 -5
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick-prefix.pch +0 -5
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick-umbrella.h +0 -11
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick.modulemap +0 -6
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick.xcconfig +0 -2
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Info.plist +0 -26
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-acknowledgements.markdown +0 -208
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-acknowledgements.plist +0 -238
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-dummy.m +0 -5
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-environment.h +0 -14
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-frameworks.sh +0 -55
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-resources.sh +0 -74
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-umbrella.h +0 -6
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.debug.xcconfig +0 -9
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.modulemap +0 -6
- data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.release.xcconfig +0 -9
- data/spec/fixtures/Project/Frameworks/TestProject.xcodeproj/project.pbxproj +0 -557
- data/spec/fixtures/Project/Frameworks/TestProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- data/spec/fixtures/Project/Frameworks/TestProject.xcworkspace/contents.xcworkspacedata +0 -10
- data/spec/fixtures/Project/Frameworks/TestProject/AppDelegate.swift +0 -46
- data/spec/fixtures/Project/Frameworks/TestProject/Base.lproj/LaunchScreen.xib +0 -41
- data/spec/fixtures/Project/Frameworks/TestProject/Base.lproj/Main.storyboard +0 -25
- data/spec/fixtures/Project/Frameworks/TestProject/Images.xcassets/AppIcon.appiconset/Contents.json +0 -38
- data/spec/fixtures/Project/Frameworks/TestProject/Info.plist +0 -40
- data/spec/fixtures/Project/Frameworks/TestProject/ViewController.swift +0 -25
- data/spec/fixtures/Project/Frameworks/TestProjectTests/Info.plist +0 -24
- data/spec/fixtures/Project/Frameworks/TestProjectTests/TestProjectTests.swift +0 -36
- data/spec/fixtures/Project/None/TestProject.xcodeproj/project.pbxproj +0 -420
- data/spec/fixtures/Project/None/TestProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- data/spec/fixtures/Project/None/TestProject/AppDelegate.swift +0 -46
- data/spec/fixtures/Project/None/TestProject/Base.lproj/LaunchScreen.xib +0 -41
- data/spec/fixtures/Project/None/TestProject/Base.lproj/Main.storyboard +0 -25
- data/spec/fixtures/Project/None/TestProject/Images.xcassets/AppIcon.appiconset/Contents.json +0 -38
- data/spec/fixtures/Project/None/TestProject/Info.plist +0 -40
- data/spec/fixtures/Project/None/TestProject/ViewController.swift +0 -25
- data/spec/fixtures/Project/None/TestProjectTests/Info.plist +0 -24
- data/spec/fixtures/Project/None/TestProjectTests/TestProjectTests.swift +0 -36
- data/spec/fixtures/Project/StaticLibraries/Podfile +0 -12
- data/spec/fixtures/Project/StaticLibraries/Podfile.lock +0 -13
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/LICENSE +0 -19
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/README.md +0 -308
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPBackwardCompatibility.h +0 -42
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPBackwardCompatibility.m +0 -17
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPBlockDefinedMatcher.h +0 -25
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPBlockDefinedMatcher.m +0 -60
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPDefines.h +0 -17
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPDoubleTuple.h +0 -13
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPDoubleTuple.m +0 -42
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPExpect.h +0 -45
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPExpect.m +0 -214
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPFloatTuple.h +0 -13
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPFloatTuple.m +0 -42
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPMatcher.h +0 -20
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPUnsupportedObject.h +0 -11
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPUnsupportedObject.m +0 -20
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/Expecta.h +0 -27
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/Expecta.m +0 -15
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/ExpectaSupport.h +0 -64
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/ExpectaSupport.m +0 -187
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/NSObject+Expecta.h +0 -14
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/NSValue+Expecta.h +0 -8
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/NSValue+Expecta.m +0 -21
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatcherHelpers.h +0 -4
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatcherHelpers.m +0 -9
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beCloseTo.h +0 -7
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beCloseTo.m +0 -49
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beFalsy.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beFalsy.m +0 -24
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThan.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThan.m +0 -20
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThanOrEqualTo.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThanOrEqualTo.m +0 -20
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beIdenticalTo.h +0 -10
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beIdenticalTo.m +0 -24
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beInTheRangeOf.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beInTheRangeOf.m +0 -30
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beInstanceOf.h +0 -7
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beInstanceOf.m +0 -27
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beKindOf.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beKindOf.m +0 -27
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beLessThan.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beLessThan.m +0 -20
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beLessThanOrEqualTo.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beLessThanOrEqualTo.m +0 -20
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beNil.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beNil.m +0 -16
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beSubclassOf.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beSubclassOf.m +0 -27
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beSupersetOf.h +0 -4
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beSupersetOf.m +0 -57
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beTruthy.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beTruthy.m +0 -24
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beginWith.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beginWith.m +0 -49
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+conformTo.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+conformTo.m +0 -33
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+contain.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+contain.m +0 -38
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+endWith.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+endWith.m +0 -49
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+equal.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+equal.m +0 -24
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+haveCountOf.h +0 -10
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+haveCountOf.m +0 -36
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+notify.h +0 -4
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+notify.m +0 -63
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+raise.h +0 -4
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+raise.m +0 -30
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+raiseWithReason.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+raiseWithReason.m +0 -35
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+respondTo.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+respondTo.m +0 -28
- data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers.h +0 -24
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPBackwardCompatibility.h +0 -42
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPBlockDefinedMatcher.h +0 -25
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPDefines.h +0 -17
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPDoubleTuple.h +0 -13
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPExpect.h +0 -45
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPFloatTuple.h +0 -13
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatcher.h +0 -20
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatcherHelpers.h +0 -4
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beCloseTo.h +0 -7
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beFalsy.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThan.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beIdenticalTo.h +0 -10
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beInTheRangeOf.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beInstanceOf.h +0 -7
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beKindOf.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beLessThan.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beLessThanOrEqualTo.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beNil.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beSubclassOf.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beSupersetOf.h +0 -4
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beTruthy.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beginWith.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+conformTo.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+contain.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+endWith.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+equal.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+haveCountOf.h +0 -10
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+notify.h +0 -4
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+raise.h +0 -4
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+raiseWithReason.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+respondTo.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers.h +0 -24
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPUnsupportedObject.h +0 -11
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/Expecta.h +0 -27
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/ExpectaSupport.h +0 -64
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/NSObject+Expecta.h +0 -14
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/NSValue+Expecta.h +0 -8
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/NSAttributedString+CCLFormat/NSAttributedString+CCLFormat.h +0 -21
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPBackwardCompatibility.h +0 -42
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPBlockDefinedMatcher.h +0 -25
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPDefines.h +0 -17
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPDoubleTuple.h +0 -13
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPExpect.h +0 -45
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPFloatTuple.h +0 -13
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatcher.h +0 -20
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatcherHelpers.h +0 -4
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beCloseTo.h +0 -7
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beFalsy.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beGreaterThan.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beIdenticalTo.h +0 -10
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beInTheRangeOf.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beInstanceOf.h +0 -7
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beKindOf.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beLessThan.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beLessThanOrEqualTo.h +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beNil.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beSubclassOf.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beSupersetOf.h +0 -4
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beTruthy.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beginWith.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+conformTo.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+contain.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+endWith.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+equal.h +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+haveCountOf.h +0 -10
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+notify.h +0 -4
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+raise.h +0 -4
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+raiseWithReason.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+respondTo.h +0 -3
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers.h +0 -24
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPUnsupportedObject.h +0 -11
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/Expecta.h +0 -27
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/ExpectaSupport.h +0 -64
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/NSObject+Expecta.h +0 -14
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/NSValue+Expecta.h +0 -8
- data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/NSAttributedString+CCLFormat/NSAttributedString+CCLFormat.h +0 -21
- data/spec/fixtures/Project/StaticLibraries/Pods/Manifest.lock +0 -13
- data/spec/fixtures/Project/StaticLibraries/Pods/NSAttributedString+CCLFormat/LICENSE +0 -23
- data/spec/fixtures/Project/StaticLibraries/Pods/NSAttributedString+CCLFormat/NSAttributedString+CCLFormat.h +0 -21
- data/spec/fixtures/Project/StaticLibraries/Pods/NSAttributedString+CCLFormat/NSAttributedString+CCLFormat.m +0 -51
- data/spec/fixtures/Project/StaticLibraries/Pods/NSAttributedString+CCLFormat/README.md +0 -57
- data/spec/fixtures/Project/StaticLibraries/Pods/Pods.xcodeproj/project.pbxproj +0 -943
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject-NSAttributedString+CCLFormat/Pods-TestProject-NSAttributedString+CCLFormat-Private.xcconfig +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject-NSAttributedString+CCLFormat/Pods-TestProject-NSAttributedString+CCLFormat-dummy.m +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject-NSAttributedString+CCLFormat/Pods-TestProject-NSAttributedString+CCLFormat-prefix.pch +0 -5
- 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 +0 -30
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-acknowledgements.plist +0 -60
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-dummy.m +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-environment.h +0 -14
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-resources.sh +0 -74
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.debug.xcconfig +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.release.xcconfig +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests-Expecta/Pods-TestProjectTests-Expecta-Private.xcconfig +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests-Expecta/Pods-TestProjectTests-Expecta-dummy.m +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests-Expecta/Pods-TestProjectTests-Expecta-prefix.pch +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests-Expecta/Pods-TestProjectTests-Expecta.xcconfig +0 -1
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-acknowledgements.markdown +0 -26
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-acknowledgements.plist +0 -56
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-dummy.m +0 -5
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-environment.h +0 -14
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-resources.sh +0 -74
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.debug.xcconfig +0 -6
- data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.release.xcconfig +0 -6
- data/spec/fixtures/Project/StaticLibraries/TestProject.xcodeproj/project.pbxproj +0 -525
- data/spec/fixtures/Project/StaticLibraries/TestProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- data/spec/fixtures/Project/StaticLibraries/TestProject.xcworkspace/contents.xcworkspacedata +0 -10
- data/spec/fixtures/Project/StaticLibraries/TestProject/AppDelegate.swift +0 -46
- data/spec/fixtures/Project/StaticLibraries/TestProject/Base.lproj/LaunchScreen.xib +0 -41
- data/spec/fixtures/Project/StaticLibraries/TestProject/Base.lproj/Main.storyboard +0 -25
- data/spec/fixtures/Project/StaticLibraries/TestProject/Images.xcassets/AppIcon.appiconset/Contents.json +0 -38
- data/spec/fixtures/Project/StaticLibraries/TestProject/Info.plist +0 -40
- data/spec/fixtures/Project/StaticLibraries/TestProject/ViewController.swift +0 -25
- data/spec/fixtures/Project/StaticLibraries/TestProjectTests/Info.plist +0 -24
- data/spec/fixtures/Project/StaticLibraries/TestProjectTests/TestProjectTests.swift +0 -36
- data/spec/spec_helper.rb +0 -29
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
A container for closures to be executed before and after all examples.
|
|
3
|
-
*/
|
|
4
|
-
final internal class SuiteHooks {
|
|
5
|
-
internal var befores: [BeforeSuiteClosure] = []
|
|
6
|
-
internal var beforesAlreadyExecuted = false
|
|
7
|
-
|
|
8
|
-
internal var afters: [AfterSuiteClosure] = []
|
|
9
|
-
internal var aftersAlreadyExecuted = false
|
|
10
|
-
|
|
11
|
-
internal func appendBefore(closure: BeforeSuiteClosure) {
|
|
12
|
-
befores.append(closure)
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
internal func appendAfter(closure: AfterSuiteClosure) {
|
|
16
|
-
afters.append(closure)
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
internal func executeBefores() {
|
|
20
|
-
assert(!beforesAlreadyExecuted)
|
|
21
|
-
for before in befores {
|
|
22
|
-
before()
|
|
23
|
-
}
|
|
24
|
-
beforesAlreadyExecuted = true
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
internal func executeAfters() {
|
|
28
|
-
assert(!aftersAlreadyExecuted)
|
|
29
|
-
for after in afters {
|
|
30
|
-
after()
|
|
31
|
-
}
|
|
32
|
-
aftersAlreadyExecuted = true
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
#import <Foundation/Foundation.h>
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
QuickSpec converts example names into test methods.
|
|
5
|
-
Those test methods need valid selector names, which means no whitespace,
|
|
6
|
-
control characters, etc. This category gives NSString objects an easy way
|
|
7
|
-
to replace those illegal characters with underscores.
|
|
8
|
-
*/
|
|
9
|
-
@interface NSString (QCKSelectorName)
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
Returns a string with underscores in place of all characters that cannot
|
|
13
|
-
be included in a selector (SEL) name.
|
|
14
|
-
*/
|
|
15
|
-
@property (nonatomic, readonly) NSString *qck_selectorName;
|
|
16
|
-
|
|
17
|
-
@end
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
#import "NSString+QCKSelectorName.h"
|
|
2
|
-
|
|
3
|
-
@implementation NSString (QCKSelectorName)
|
|
4
|
-
|
|
5
|
-
- (NSString *)qck_selectorName {
|
|
6
|
-
static NSMutableCharacterSet *invalidCharacters = nil;
|
|
7
|
-
static dispatch_once_t onceToken;
|
|
8
|
-
dispatch_once(&onceToken, ^{
|
|
9
|
-
invalidCharacters = [NSMutableCharacterSet new];
|
|
10
|
-
|
|
11
|
-
NSCharacterSet *whitespaceCharacterSet = [NSCharacterSet whitespaceCharacterSet];
|
|
12
|
-
NSCharacterSet *newlineCharacterSet = [NSCharacterSet newlineCharacterSet];
|
|
13
|
-
NSCharacterSet *illegalCharacterSet = [NSCharacterSet illegalCharacterSet];
|
|
14
|
-
NSCharacterSet *controlCharacterSet = [NSCharacterSet controlCharacterSet];
|
|
15
|
-
NSCharacterSet *punctuationCharacterSet = [NSCharacterSet punctuationCharacterSet];
|
|
16
|
-
NSCharacterSet *nonBaseCharacterSet = [NSCharacterSet nonBaseCharacterSet];
|
|
17
|
-
NSCharacterSet *symbolCharacterSet = [NSCharacterSet symbolCharacterSet];
|
|
18
|
-
|
|
19
|
-
[invalidCharacters formUnionWithCharacterSet:whitespaceCharacterSet];
|
|
20
|
-
[invalidCharacters formUnionWithCharacterSet:newlineCharacterSet];
|
|
21
|
-
[invalidCharacters formUnionWithCharacterSet:illegalCharacterSet];
|
|
22
|
-
[invalidCharacters formUnionWithCharacterSet:controlCharacterSet];
|
|
23
|
-
[invalidCharacters formUnionWithCharacterSet:punctuationCharacterSet];
|
|
24
|
-
[invalidCharacters formUnionWithCharacterSet:nonBaseCharacterSet];
|
|
25
|
-
[invalidCharacters formUnionWithCharacterSet:symbolCharacterSet];
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
NSArray *validComponents = [self componentsSeparatedByCharactersInSet:invalidCharacters];
|
|
29
|
-
|
|
30
|
-
return [validComponents componentsJoinedByString:@"_"];
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
@end
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
#import <Foundation/Foundation.h>
|
|
2
|
-
|
|
3
|
-
//! Project version number for Quick.
|
|
4
|
-
FOUNDATION_EXPORT double QuickVersionNumber;
|
|
5
|
-
|
|
6
|
-
//! Project version string for Quick.
|
|
7
|
-
FOUNDATION_EXPORT const unsigned char QuickVersionString[];
|
|
8
|
-
|
|
9
|
-
// In this header, you should import all the public headers of your framework using statements like #import <Quick/PublicHeader.h>
|
|
10
|
-
|
|
11
|
-
#import <Quick/QuickSpec.h>
|
|
12
|
-
#import <Quick/QCKDSL.h>
|
|
13
|
-
#import <Quick/QuickConfiguration.h>
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
#import <XCTest/XCTest.h>
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
QuickSpec is a base class all specs written in Quick inherit from.
|
|
5
|
-
They need to inherit from QuickSpec, a subclass of XCTestCase, in
|
|
6
|
-
order to be discovered by the XCTest framework.
|
|
7
|
-
|
|
8
|
-
XCTest automatically compiles a list of XCTestCase subclasses included
|
|
9
|
-
in the test target. It iterates over each class in that list, and creates
|
|
10
|
-
a new instance of that class for each test method. It then creates an
|
|
11
|
-
"invocation" to execute that test method. The invocation is an instance of
|
|
12
|
-
NSInvocation, which represents a single message send in Objective-C.
|
|
13
|
-
The invocation is set on the XCTestCase instance, and the test is run.
|
|
14
|
-
|
|
15
|
-
Most of the code in QuickSpec is dedicated to hooking into XCTest events.
|
|
16
|
-
First, when the spec is first loaded and before it is sent any messages,
|
|
17
|
-
the +[NSObject initialize] method is called. QuickSpec overrides this method
|
|
18
|
-
to call +[QuickSpec spec]. This builds the example group stacks and
|
|
19
|
-
registers them with Quick.World, a global register of examples.
|
|
20
|
-
|
|
21
|
-
Then, XCTest queries QuickSpec for a list of test methods. Normally, XCTest
|
|
22
|
-
automatically finds all methods whose selectors begin with the string "test".
|
|
23
|
-
However, QuickSpec overrides this default behavior by implementing the
|
|
24
|
-
+[XCTestCase testInvocations] method. This method iterates over each example
|
|
25
|
-
registered in Quick.World, defines a new method for that example, and
|
|
26
|
-
returns an invocation to call that method to XCTest. Those invocations are
|
|
27
|
-
the tests that are run by XCTest. Their selector names are displayed in
|
|
28
|
-
the Xcode test navigation bar.
|
|
29
|
-
*/
|
|
30
|
-
@interface QuickSpec : XCTestCase
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
Override this method in your spec to define a set of example groups
|
|
34
|
-
and examples.
|
|
35
|
-
|
|
36
|
-
override class func spec() {
|
|
37
|
-
describe("winter") {
|
|
38
|
-
it("is coming") {
|
|
39
|
-
// ...
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
See DSL.swift for more information on what syntax is available.
|
|
45
|
-
*/
|
|
46
|
-
- (void)spec;
|
|
47
|
-
|
|
48
|
-
@end
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
#import "QuickSpec.h"
|
|
2
|
-
#import "QuickConfiguration.h"
|
|
3
|
-
#import "NSString+QCKSelectorName.h"
|
|
4
|
-
#import <Quick/Quick-Swift.h>
|
|
5
|
-
#import <objc/runtime.h>
|
|
6
|
-
|
|
7
|
-
const void * const QCKExampleKey = &QCKExampleKey;
|
|
8
|
-
|
|
9
|
-
@interface QuickSpec ()
|
|
10
|
-
@property (nonatomic, strong) Example *example;
|
|
11
|
-
@end
|
|
12
|
-
|
|
13
|
-
@implementation QuickSpec
|
|
14
|
-
|
|
15
|
-
#pragma mark - XCTestCase Overrides
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
The runtime sends initialize to each class in a program just before the class, or any class
|
|
19
|
-
that inherits from it, is sent its first message from within the program. QuickSpec hooks into
|
|
20
|
-
this event to compile the example groups for this spec subclass.
|
|
21
|
-
|
|
22
|
-
If an exception occurs when compiling the examples, report it to the user. Chances are they
|
|
23
|
-
included an expectation outside of a "it", "describe", or "context" block.
|
|
24
|
-
*/
|
|
25
|
-
+ (void)initialize {
|
|
26
|
-
[QuickConfiguration initialize];
|
|
27
|
-
|
|
28
|
-
World *world = [World sharedWorld];
|
|
29
|
-
world.currentExampleGroup = [world rootExampleGroupForSpecClass:[self class]];
|
|
30
|
-
QuickSpec *spec = [self new];
|
|
31
|
-
|
|
32
|
-
@try {
|
|
33
|
-
[spec spec];
|
|
34
|
-
}
|
|
35
|
-
@catch (NSException *exception) {
|
|
36
|
-
[NSException raise:NSInternalInconsistencyException
|
|
37
|
-
format:@"An exception occurred when building Quick's example groups.\n"
|
|
38
|
-
@"Some possible reasons this might happen include:\n\n"
|
|
39
|
-
@"- An 'expect(...).to' expectation was evaluated outside of "
|
|
40
|
-
@"an 'it', 'context', or 'describe' block\n"
|
|
41
|
-
@"- 'sharedExamples' was called twice with the same name\n"
|
|
42
|
-
@"- 'itBehavesLike' was called with a name that is not registered as a shared example\n\n"
|
|
43
|
-
@"Here's the original exception: '%@', reason: '%@', userInfo: '%@'",
|
|
44
|
-
exception.name, exception.reason, exception.userInfo];
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
Invocations for each test method in the test case. QuickSpec overrides this method to define a
|
|
50
|
-
new method for each example defined in +[QuickSpec spec].
|
|
51
|
-
|
|
52
|
-
@return An array of invocations that execute the newly defined example methods.
|
|
53
|
-
*/
|
|
54
|
-
+ (NSArray *)testInvocations {
|
|
55
|
-
NSArray *examples = [[World sharedWorld] examplesForSpecClass:[self class]];
|
|
56
|
-
NSMutableArray *invocations = [NSMutableArray arrayWithCapacity:[examples count]];
|
|
57
|
-
for (Example *example in examples) {
|
|
58
|
-
SEL selector = [self addInstanceMethodForExample:example];
|
|
59
|
-
NSInvocation *invocation = [self invocationForInstanceMethodWithSelector:selector
|
|
60
|
-
example:example];
|
|
61
|
-
[invocations addObject:invocation];
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return invocations;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
XCTest sets the invocation for the current test case instance using this setter.
|
|
69
|
-
QuickSpec hooks into this event to give the test case a reference to the current example.
|
|
70
|
-
It will need this reference to correctly report its name to XCTest.
|
|
71
|
-
*/
|
|
72
|
-
- (void)setInvocation:(NSInvocation *)invocation {
|
|
73
|
-
self.example = objc_getAssociatedObject(invocation, QCKExampleKey);
|
|
74
|
-
[super setInvocation:invocation];
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
#pragma mark - Public Interface
|
|
78
|
-
|
|
79
|
-
- (void)spec { }
|
|
80
|
-
|
|
81
|
-
#pragma mark - Internal Methods
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
QuickSpec uses this method to dynamically define a new instance method for the
|
|
85
|
-
given example. The instance method runs the example, catching any exceptions.
|
|
86
|
-
The exceptions are then reported as test failures.
|
|
87
|
-
|
|
88
|
-
In order to report the correct file and line number, examples must raise exceptions
|
|
89
|
-
containing following keys in their userInfo:
|
|
90
|
-
|
|
91
|
-
- "SenTestFilenameKey": A String representing the file name
|
|
92
|
-
- "SenTestLineNumberKey": An Int representing the line number
|
|
93
|
-
|
|
94
|
-
These keys used to be used by SenTestingKit, and are still used by some testing tools
|
|
95
|
-
in the wild. See: https://github.com/Quick/Quick/pull/41
|
|
96
|
-
|
|
97
|
-
@return The selector of the newly defined instance method.
|
|
98
|
-
*/
|
|
99
|
-
+ (SEL)addInstanceMethodForExample:(Example *)example {
|
|
100
|
-
IMP implementation = imp_implementationWithBlock(^(id self){
|
|
101
|
-
[example run];
|
|
102
|
-
});
|
|
103
|
-
const char *types = [[NSString stringWithFormat:@"%s%s%s", @encode(id), @encode(id), @encode(SEL)] UTF8String];
|
|
104
|
-
SEL selector = NSSelectorFromString(example.name.qck_selectorName);
|
|
105
|
-
class_addMethod(self, selector, implementation, types);
|
|
106
|
-
|
|
107
|
-
return selector;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
+ (NSInvocation *)invocationForInstanceMethodWithSelector:(SEL)selector
|
|
111
|
-
example:(Example *)example {
|
|
112
|
-
NSMethodSignature *signature = [self instanceMethodSignatureForSelector:selector];
|
|
113
|
-
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
|
|
114
|
-
invocation.selector = selector;
|
|
115
|
-
objc_setAssociatedObject(invocation,
|
|
116
|
-
QCKExampleKey,
|
|
117
|
-
example,
|
|
118
|
-
OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
|
119
|
-
return invocation;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
This method is used to record failures, whether they represent example
|
|
124
|
-
expectations that were not met, or exceptions raised during test setup
|
|
125
|
-
and teardown. By default, the failure will be reported as an
|
|
126
|
-
XCTest failure, and the example will be highlighted in Xcode.
|
|
127
|
-
*/
|
|
128
|
-
- (void)recordFailureWithDescription:(NSString *)description
|
|
129
|
-
inFile:(NSString *)filePath
|
|
130
|
-
atLine:(NSUInteger)lineNumber
|
|
131
|
-
expected:(BOOL)expected {
|
|
132
|
-
if (self.example.isSharedExample) {
|
|
133
|
-
filePath = self.example.callsite.file;
|
|
134
|
-
lineNumber = self.example.callsite.line;
|
|
135
|
-
}
|
|
136
|
-
[super recordFailureWithDescription:description
|
|
137
|
-
inFile:filePath
|
|
138
|
-
atLine:lineNumber
|
|
139
|
-
expected:expected];
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
@end
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
import Foundation
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
A closure that, when evaluated, returns a dictionary of key-value
|
|
5
|
-
pairs that can be accessed from within a group of shared examples.
|
|
6
|
-
*/
|
|
7
|
-
public typealias SharedExampleContext = () -> (NSDictionary)
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
A closure that is used to define a group of shared examples. This
|
|
11
|
-
closure may contain any number of example and example groups.
|
|
12
|
-
*/
|
|
13
|
-
public typealias SharedExampleClosure = (SharedExampleContext) -> ()
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
A collection of state Quick builds up in order to work its magic.
|
|
17
|
-
World is primarily responsible for maintaining a mapping of QuickSpec
|
|
18
|
-
classes to root example groups for those classes.
|
|
19
|
-
|
|
20
|
-
It also maintains a mapping of shared example names to shared
|
|
21
|
-
example closures.
|
|
22
|
-
|
|
23
|
-
You may configure how Quick behaves by calling the -[World configure:]
|
|
24
|
-
method from within an overridden +[QuickConfiguration configure:] method.
|
|
25
|
-
*/
|
|
26
|
-
@objc final public class World {
|
|
27
|
-
/**
|
|
28
|
-
The example group that is currently being run.
|
|
29
|
-
The DSL requires that this group is correctly set in order to build a
|
|
30
|
-
correct hierarchy of example groups and their examples.
|
|
31
|
-
*/
|
|
32
|
-
public var currentExampleGroup: ExampleGroup?
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
The example metadata of the test that is currently being run.
|
|
36
|
-
This is useful for using the Quick test metadata (like its name) at
|
|
37
|
-
runtime.
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
|
-
public var currentExampleMetadata: ExampleMetadata?
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
A flag that indicates whether additional test suites are being run
|
|
44
|
-
within this test suite. This is only true within the context of Quick
|
|
45
|
-
functional tests.
|
|
46
|
-
*/
|
|
47
|
-
public var isRunningAdditionalSuites = false
|
|
48
|
-
|
|
49
|
-
private var specs: Dictionary<String, ExampleGroup> = [:]
|
|
50
|
-
private var sharedExamples: [String: SharedExampleClosure] = [:]
|
|
51
|
-
private let configuration = Configuration()
|
|
52
|
-
private var isConfigurationFinalized = false
|
|
53
|
-
|
|
54
|
-
internal var exampleHooks: ExampleHooks {return configuration.exampleHooks }
|
|
55
|
-
internal var suiteHooks: SuiteHooks { return configuration.suiteHooks }
|
|
56
|
-
|
|
57
|
-
// MARK: Singleton Constructor
|
|
58
|
-
|
|
59
|
-
private init() {}
|
|
60
|
-
private struct Shared {
|
|
61
|
-
static let instance = World()
|
|
62
|
-
}
|
|
63
|
-
public class func sharedWorld() -> World {
|
|
64
|
-
return Shared.instance
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// MARK: Public Interface
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
Exposes the World's Configuration object within the scope of the closure
|
|
71
|
-
so that it may be configured. This method must not be called outside of
|
|
72
|
-
an overridden +[QuickConfiguration configure:] method.
|
|
73
|
-
|
|
74
|
-
:param: closure A closure that takes a Configuration object that can
|
|
75
|
-
be mutated to change Quick's behavior.
|
|
76
|
-
*/
|
|
77
|
-
public func configure(closure: QuickConfigurer) {
|
|
78
|
-
assert(!isConfigurationFinalized,
|
|
79
|
-
"Quick cannot be configured outside of a +[QuickConfiguration configure:] method. You should not call -[World configure:] directly. Instead, subclass QuickConfiguration and override the +[QuickConfiguration configure:] method.")
|
|
80
|
-
closure(configuration: configuration)
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
Finalizes the World's configuration.
|
|
85
|
-
Any subsequent calls to World.configure() will raise.
|
|
86
|
-
*/
|
|
87
|
-
public func finalizeConfiguration() {
|
|
88
|
-
isConfigurationFinalized = true
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
Returns an internally constructed root example group for the given
|
|
93
|
-
QuickSpec class.
|
|
94
|
-
|
|
95
|
-
A root example group with the description "root example group" is lazily
|
|
96
|
-
initialized for each QuickSpec class. This root example group wraps the
|
|
97
|
-
top level of a -[QuickSpec spec] method--it's thanks to this group that
|
|
98
|
-
users can define beforeEach and it closures at the top level, like so:
|
|
99
|
-
|
|
100
|
-
override func spec() {
|
|
101
|
-
// These belong to the root example group
|
|
102
|
-
beforeEach {}
|
|
103
|
-
it("is at the top level") {}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
:param: cls The QuickSpec class for which to retrieve the root example group.
|
|
107
|
-
:returns: The root example group for the class.
|
|
108
|
-
*/
|
|
109
|
-
public func rootExampleGroupForSpecClass(cls: AnyClass) -> ExampleGroup {
|
|
110
|
-
let name = NSStringFromClass(cls)
|
|
111
|
-
if let group = specs[name] {
|
|
112
|
-
return group
|
|
113
|
-
} else {
|
|
114
|
-
let group = ExampleGroup(
|
|
115
|
-
description: "root example group",
|
|
116
|
-
flags: [:],
|
|
117
|
-
isInternalRootExampleGroup: true
|
|
118
|
-
)
|
|
119
|
-
specs[name] = group
|
|
120
|
-
return group
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
Returns all examples that should be run for a given spec class.
|
|
126
|
-
There are two filtering passes that occur when determining which examples should be run.
|
|
127
|
-
That is, these examples are the ones that are included by inclusion filters, and are
|
|
128
|
-
not excluded by exclusion filters.
|
|
129
|
-
|
|
130
|
-
:param: specClass The QuickSpec subclass for which examples are to be returned.
|
|
131
|
-
:returns: A list of examples to be run as test invocations.
|
|
132
|
-
*/
|
|
133
|
-
@objc(examplesForSpecClass:)
|
|
134
|
-
public func examples(specClass: AnyClass) -> [Example] {
|
|
135
|
-
// 1. Grab all included examples.
|
|
136
|
-
let included = includedExamples
|
|
137
|
-
// 2. Grab the intersection of (a) examples for this spec, and (b) included examples.
|
|
138
|
-
let spec = rootExampleGroupForSpecClass(specClass).examples.filter { contains(included, $0) }
|
|
139
|
-
// 3. Remove all excluded examples.
|
|
140
|
-
return spec.filter { example in
|
|
141
|
-
!self.configuration.exclusionFilters.reduce(false) { $0 || $1(example: example) }
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// MARK: Internal
|
|
146
|
-
|
|
147
|
-
internal func registerSharedExample(name: String, closure: SharedExampleClosure) {
|
|
148
|
-
raiseIfSharedExampleAlreadyRegistered(name)
|
|
149
|
-
sharedExamples[name] = closure
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
internal func sharedExample(name: String) -> SharedExampleClosure {
|
|
153
|
-
raiseIfSharedExampleNotRegistered(name)
|
|
154
|
-
return sharedExamples[name]!
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
internal var exampleCount: Int {
|
|
158
|
-
return allExamples.count
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
private var allExamples: [Example] {
|
|
162
|
-
var all: [Example] = []
|
|
163
|
-
for (_, group) in specs {
|
|
164
|
-
group.walkDownExamples { all.append($0) }
|
|
165
|
-
}
|
|
166
|
-
return all
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
private var includedExamples: [Example] {
|
|
170
|
-
let all = allExamples
|
|
171
|
-
let included = all.filter { example in
|
|
172
|
-
return self.configuration.inclusionFilters.reduce(false) { $0 || $1(example: example) }
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
if included.isEmpty && configuration.runAllWhenEverythingFiltered {
|
|
176
|
-
return all
|
|
177
|
-
} else {
|
|
178
|
-
return included
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
private func raiseIfSharedExampleAlreadyRegistered(name: String) {
|
|
183
|
-
if sharedExamples[name] != nil {
|
|
184
|
-
NSException(name: NSInternalInconsistencyException,
|
|
185
|
-
reason: "A shared example named '\(name)' has already been registered.",
|
|
186
|
-
userInfo: nil).raise()
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
private func raiseIfSharedExampleNotRegistered(name: String) {
|
|
191
|
-
if sharedExamples[name] == nil {
|
|
192
|
-
NSException(name: NSInternalInconsistencyException,
|
|
193
|
-
reason: "No shared example named '\(name)' has been registered. Registered shared examples: '\(Array(sharedExamples.keys))'",
|
|
194
|
-
userInfo: nil).raise()
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
}
|