second_curtain 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/.gitignore +20 -0
- data/.travis.yml +7 -0
- data/CHANGELOG +20 -0
- data/Demo/Demo/ASHAppDelegate.h +15 -0
- data/Demo/Demo/ASHAppDelegate.m +18 -0
- data/Demo/Demo/ASHViewController.h +13 -0
- data/Demo/Demo/ASHViewController.m +30 -0
- data/Demo/Demo/Base.lproj/Main.storyboard +30 -0
- data/Demo/Demo/Demo-Info.plist +40 -0
- data/Demo/Demo/Demo-Prefix.pch +16 -0
- data/Demo/Demo/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
- data/Demo/Demo/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
- data/Demo/Demo/en.lproj/InfoPlist.strings +2 -0
- data/Demo/Demo/main.m +18 -0
- data/Demo/Demo.xcodeproj/project.pbxproj +517 -0
- data/Demo/Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/Demo/Demo.xcodeproj/project.xcworkspace/xcshareddata/Demo.xccheckout +41 -0
- data/Demo/Demo.xcodeproj/project.xcworkspace/xcuserdata/ash.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/Demo/Demo.xcodeproj/xcshareddata/xcschemes/Demo.xcscheme +96 -0
- data/Demo/Demo.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/xcschememanagement.plist +27 -0
- data/Demo/Demo.xcodeproj/xcuserdata/orta.xcuserdatad/xcschemes/xcschememanagement.plist +27 -0
- data/Demo/Demo.xcworkspace/contents.xcworkspacedata +1 -0
- data/Demo/Demo.xcworkspace/xcshareddata/Demo.xccheckout +41 -0
- data/Demo/Demo.xcworkspace/xcuserdata/ash.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/Demo/Demo.xcworkspace/xcuserdata/orta.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/Demo/DemoTests/DemoTests-Info.plist +22 -0
- data/Demo/DemoTests/DemoTests.m +52 -0
- data/Demo/DemoTests/ReferenceImages/ASHViewControllerSpec/a_view_controller_with_a_loaded_view_should_have_a_valid_snapshot@2x.png +0 -0
- data/Demo/DemoTests/ReferenceImages/ASHViewControllerSpec/views_should_be_green@2x.png +0 -0
- data/Demo/DemoTests/ReferenceImages/ASHViewControllerSpec/views_should_be_red@2x.png +0 -0
- data/Demo/DemoTests/en.lproj/InfoPlist.strings +2 -0
- data/Demo/Makefile +15 -0
- data/Demo/Podfile +16 -0
- data/Demo/Podfile.lock +21 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPBackwardCompatibility.h +42 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPBlockDefinedMatcher.h +25 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPDefines.h +17 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPDoubleTuple.h +13 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPExpect.h +45 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPFloatTuple.h +13 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatcher.h +20 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatcherHelpers.h +4 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beCloseTo.h +7 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beFalsy.h +3 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beGreaterThan.h +6 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h +6 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beIdenticalTo.h +10 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beInTheRangeOf.h +6 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beInstanceOf.h +7 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beKindOf.h +5 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beLessThan.h +6 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beLessThanOrEqualTo.h +6 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beNil.h +5 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beSubclassOf.h +5 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beSupersetOf.h +4 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beTruthy.h +3 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beginWith.h +5 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+conformTo.h +3 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+contain.h +5 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+endWith.h +3 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+equal.h +5 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+haveCountOf.h +10 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+notify.h +4 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+raise.h +4 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+raiseWithReason.h +3 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+respondTo.h +3 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers.h +24 -0
- data/Demo/Pods/BuildHeaders/Expecta/EXPUnsupportedObject.h +11 -0
- data/Demo/Pods/BuildHeaders/Expecta/Expecta.h +27 -0
- data/Demo/Pods/BuildHeaders/Expecta/ExpectaSupport.h +64 -0
- data/Demo/Pods/BuildHeaders/Expecta/NSObject+Expecta.h +14 -0
- data/Demo/Pods/BuildHeaders/Expecta/NSValue+Expecta.h +8 -0
- data/Demo/Pods/BuildHeaders/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h +21 -0
- data/Demo/Pods/BuildHeaders/FBSnapshotTestCase/FBSnapshotTestCase.h +87 -0
- data/Demo/Pods/BuildHeaders/FBSnapshotTestCase/FBSnapshotTestController.h +147 -0
- data/Demo/Pods/BuildHeaders/FBSnapshotTestCase/UIImage+Compare.h +37 -0
- data/Demo/Pods/BuildHeaders/FBSnapshotTestCase/UIImage+Diff.h +37 -0
- data/Demo/Pods/BuildHeaders/Specta/SPTExample.h +14 -0
- data/Demo/Pods/BuildHeaders/Specta/SPTExampleGroup.h +40 -0
- data/Demo/Pods/BuildHeaders/Specta/SPTNestedReporter.h +5 -0
- data/Demo/Pods/BuildHeaders/Specta/SPTReporter.h +33 -0
- data/Demo/Pods/BuildHeaders/Specta/SPTSharedExampleGroups.h +17 -0
- data/Demo/Pods/BuildHeaders/Specta/SPTSpec.h +21 -0
- data/Demo/Pods/BuildHeaders/Specta/SPTXCTestCase.h +27 -0
- data/Demo/Pods/BuildHeaders/Specta/SPTXCTestReporter.h +9 -0
- data/Demo/Pods/BuildHeaders/Specta/Specta.h +70 -0
- data/Demo/Pods/BuildHeaders/Specta/SpectaSupport.h +46 -0
- data/Demo/Pods/BuildHeaders/Specta/SpectaTypes.h +3 -0
- data/Demo/Pods/BuildHeaders/Specta/SpectaUtility.h +14 -0
- data/Demo/Pods/BuildHeaders/Specta/XCTestCase+Specta.h +4 -0
- data/Demo/Pods/BuildHeaders/Specta/XCTestLog+Specta.h +7 -0
- data/Demo/Pods/BuildHeaders/Specta/XCTestRun+Specta.h +8 -0
- data/Demo/Pods/Expecta/LICENSE +19 -0
- data/Demo/Pods/Expecta/README.md +308 -0
- data/Demo/Pods/Expecta/src/EXPBackwardCompatibility.h +42 -0
- data/Demo/Pods/Expecta/src/EXPBackwardCompatibility.m +17 -0
- data/Demo/Pods/Expecta/src/EXPBlockDefinedMatcher.h +25 -0
- data/Demo/Pods/Expecta/src/EXPBlockDefinedMatcher.m +60 -0
- data/Demo/Pods/Expecta/src/EXPDefines.h +17 -0
- data/Demo/Pods/Expecta/src/EXPDoubleTuple.h +13 -0
- data/Demo/Pods/Expecta/src/EXPDoubleTuple.m +42 -0
- data/Demo/Pods/Expecta/src/EXPExpect.h +45 -0
- data/Demo/Pods/Expecta/src/EXPExpect.m +214 -0
- data/Demo/Pods/Expecta/src/EXPFloatTuple.h +13 -0
- data/Demo/Pods/Expecta/src/EXPFloatTuple.m +42 -0
- data/Demo/Pods/Expecta/src/EXPMatcher.h +20 -0
- data/Demo/Pods/Expecta/src/EXPUnsupportedObject.h +11 -0
- data/Demo/Pods/Expecta/src/EXPUnsupportedObject.m +20 -0
- data/Demo/Pods/Expecta/src/Expecta.h +27 -0
- data/Demo/Pods/Expecta/src/Expecta.m +15 -0
- data/Demo/Pods/Expecta/src/ExpectaSupport.h +64 -0
- data/Demo/Pods/Expecta/src/ExpectaSupport.m +187 -0
- data/Demo/Pods/Expecta/src/NSObject+Expecta.h +14 -0
- data/Demo/Pods/Expecta/src/NSValue+Expecta.h +8 -0
- data/Demo/Pods/Expecta/src/NSValue+Expecta.m +21 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatcherHelpers.h +4 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatcherHelpers.m +9 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beCloseTo.h +7 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beCloseTo.m +49 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beFalsy.h +3 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beFalsy.m +24 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThan.h +6 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThan.m +20 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThanOrEqualTo.h +6 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThanOrEqualTo.m +20 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beIdenticalTo.h +10 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beIdenticalTo.m +24 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beInTheRangeOf.h +6 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beInTheRangeOf.m +30 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beInstanceOf.h +7 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beInstanceOf.m +27 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beKindOf.h +5 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beKindOf.m +27 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beLessThan.h +6 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beLessThan.m +20 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beLessThanOrEqualTo.h +6 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beLessThanOrEqualTo.m +20 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beNil.h +5 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beNil.m +16 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beSubclassOf.h +5 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beSubclassOf.m +27 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beSupersetOf.h +4 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beSupersetOf.m +57 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beTruthy.h +3 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beTruthy.m +24 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beginWith.h +5 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beginWith.m +49 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+conformTo.h +3 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+conformTo.m +33 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+contain.h +5 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+contain.m +38 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+endWith.h +3 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+endWith.m +49 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+equal.h +5 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+equal.m +24 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+haveCountOf.h +10 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+haveCountOf.m +36 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+notify.h +4 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+notify.m +63 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+raise.h +4 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+raise.m +30 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+raiseWithReason.h +3 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+raiseWithReason.m +35 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+respondTo.h +3 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers+respondTo.m +28 -0
- data/Demo/Pods/Expecta/src/matchers/EXPMatchers.h +24 -0
- data/Demo/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h +21 -0
- data/Demo/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.m +308 -0
- data/Demo/Pods/Expecta+Snapshots/LICENSE.md +22 -0
- data/Demo/Pods/Expecta+Snapshots/README.md +85 -0
- data/Demo/Pods/FBSnapshotTestCase/FBSnapshotTestCase.h +87 -0
- data/Demo/Pods/FBSnapshotTestCase/FBSnapshotTestCase.m +82 -0
- data/Demo/Pods/FBSnapshotTestCase/FBSnapshotTestController.h +147 -0
- data/Demo/Pods/FBSnapshotTestCase/FBSnapshotTestController.m +376 -0
- data/Demo/Pods/FBSnapshotTestCase/LICENSE +29 -0
- data/Demo/Pods/FBSnapshotTestCase/README.md +83 -0
- data/Demo/Pods/FBSnapshotTestCase/UIImage+Compare.h +37 -0
- data/Demo/Pods/FBSnapshotTestCase/UIImage+Compare.m +87 -0
- data/Demo/Pods/FBSnapshotTestCase/UIImage+Diff.h +37 -0
- data/Demo/Pods/FBSnapshotTestCase/UIImage+Diff.m +56 -0
- data/Demo/Pods/Headers/Expecta/EXPBackwardCompatibility.h +42 -0
- data/Demo/Pods/Headers/Expecta/EXPBlockDefinedMatcher.h +25 -0
- data/Demo/Pods/Headers/Expecta/EXPDefines.h +17 -0
- data/Demo/Pods/Headers/Expecta/EXPDoubleTuple.h +13 -0
- data/Demo/Pods/Headers/Expecta/EXPExpect.h +45 -0
- data/Demo/Pods/Headers/Expecta/EXPFloatTuple.h +13 -0
- data/Demo/Pods/Headers/Expecta/EXPMatcher.h +20 -0
- data/Demo/Pods/Headers/Expecta/EXPMatcherHelpers.h +4 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beCloseTo.h +7 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beFalsy.h +3 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beGreaterThan.h +6 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h +6 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beIdenticalTo.h +10 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beInTheRangeOf.h +6 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beInstanceOf.h +7 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beKindOf.h +5 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beLessThan.h +6 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beLessThanOrEqualTo.h +6 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beNil.h +5 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beSubclassOf.h +5 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beSupersetOf.h +4 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beTruthy.h +3 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+beginWith.h +5 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+conformTo.h +3 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+contain.h +5 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+endWith.h +3 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+equal.h +5 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+haveCountOf.h +10 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+notify.h +4 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+raise.h +4 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+raiseWithReason.h +3 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers+respondTo.h +3 -0
- data/Demo/Pods/Headers/Expecta/EXPMatchers.h +24 -0
- data/Demo/Pods/Headers/Expecta/EXPUnsupportedObject.h +11 -0
- data/Demo/Pods/Headers/Expecta/Expecta.h +27 -0
- data/Demo/Pods/Headers/Expecta/ExpectaSupport.h +64 -0
- data/Demo/Pods/Headers/Expecta/NSObject+Expecta.h +14 -0
- data/Demo/Pods/Headers/Expecta/NSValue+Expecta.h +8 -0
- data/Demo/Pods/Headers/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h +21 -0
- data/Demo/Pods/Headers/FBSnapshotTestCase/FBSnapshotTestCase.h +87 -0
- data/Demo/Pods/Headers/FBSnapshotTestCase/FBSnapshotTestController.h +147 -0
- data/Demo/Pods/Headers/FBSnapshotTestCase/UIImage+Compare.h +37 -0
- data/Demo/Pods/Headers/FBSnapshotTestCase/UIImage+Diff.h +37 -0
- data/Demo/Pods/Headers/Specta/SPTExample.h +14 -0
- data/Demo/Pods/Headers/Specta/SPTExampleGroup.h +40 -0
- data/Demo/Pods/Headers/Specta/SPTNestedReporter.h +5 -0
- data/Demo/Pods/Headers/Specta/SPTReporter.h +33 -0
- data/Demo/Pods/Headers/Specta/SPTSharedExampleGroups.h +17 -0
- data/Demo/Pods/Headers/Specta/SPTSpec.h +21 -0
- data/Demo/Pods/Headers/Specta/SPTXCTestCase.h +27 -0
- data/Demo/Pods/Headers/Specta/SPTXCTestReporter.h +9 -0
- data/Demo/Pods/Headers/Specta/Specta.h +70 -0
- data/Demo/Pods/Headers/Specta/SpectaSupport.h +46 -0
- data/Demo/Pods/Headers/Specta/SpectaTypes.h +3 -0
- data/Demo/Pods/Headers/Specta/SpectaUtility.h +14 -0
- data/Demo/Pods/Headers/Specta/XCTestCase+Specta.h +4 -0
- data/Demo/Pods/Headers/Specta/XCTestLog+Specta.h +7 -0
- data/Demo/Pods/Headers/Specta/XCTestRun+Specta.h +8 -0
- data/Demo/Pods/Manifest.lock +21 -0
- data/Demo/Pods/Pods-DemoTests-EXPMatchers+FBSnapshotTest-Private.xcconfig +6 -0
- data/Demo/Pods/Pods-DemoTests-EXPMatchers+FBSnapshotTest-dummy.m +5 -0
- data/Demo/Pods/Pods-DemoTests-EXPMatchers+FBSnapshotTest-prefix.pch +5 -0
- data/Demo/Pods/Pods-DemoTests-EXPMatchers+FBSnapshotTest.xcconfig +2 -0
- data/Demo/Pods/Pods-DemoTests-Expecta+Snapshots-Private.xcconfig +6 -0
- data/Demo/Pods/Pods-DemoTests-Expecta+Snapshots-dummy.m +5 -0
- data/Demo/Pods/Pods-DemoTests-Expecta+Snapshots-prefix.pch +5 -0
- data/Demo/Pods/Pods-DemoTests-Expecta+Snapshots.xcconfig +2 -0
- data/Demo/Pods/Pods-DemoTests-Expecta-Private.xcconfig +5 -0
- data/Demo/Pods/Pods-DemoTests-Expecta-dummy.m +5 -0
- data/Demo/Pods/Pods-DemoTests-Expecta-prefix.pch +5 -0
- data/Demo/Pods/Pods-DemoTests-Expecta.xcconfig +1 -0
- data/Demo/Pods/Pods-DemoTests-FBSnapshotTestCase-Private.xcconfig +6 -0
- data/Demo/Pods/Pods-DemoTests-FBSnapshotTestCase-dummy.m +5 -0
- data/Demo/Pods/Pods-DemoTests-FBSnapshotTestCase-prefix.pch +6 -0
- data/Demo/Pods/Pods-DemoTests-FBSnapshotTestCase.xcconfig +2 -0
- data/Demo/Pods/Pods-DemoTests-Specta-Private.xcconfig +6 -0
- data/Demo/Pods/Pods-DemoTests-Specta-dummy.m +5 -0
- data/Demo/Pods/Pods-DemoTests-Specta-prefix.pch +5 -0
- data/Demo/Pods/Pods-DemoTests-Specta.xcconfig +2 -0
- data/Demo/Pods/Pods-DemoTests-acknowledgements.markdown +109 -0
- data/Demo/Pods/Pods-DemoTests-acknowledgements.plist +151 -0
- data/Demo/Pods/Pods-DemoTests-dummy.m +5 -0
- data/Demo/Pods/Pods-DemoTests-environment.h +32 -0
- data/Demo/Pods/Pods-DemoTests-resources.sh +68 -0
- data/Demo/Pods/Pods-DemoTests.xcconfig +6 -0
- data/Demo/Pods/Pods.xcodeproj/project.pbxproj +1390 -0
- data/Demo/Pods/Pods.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/Pods-DemoTests-Expecta+Snapshots.xcscheme +59 -0
- data/Demo/Pods/Pods.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/Pods-DemoTests-Expecta.xcscheme +59 -0
- data/Demo/Pods/Pods.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/Pods-DemoTests-FBSnapshotTestCase.xcscheme +59 -0
- data/Demo/Pods/Pods.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/Pods-DemoTests-Specta.xcscheme +59 -0
- data/Demo/Pods/Pods.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/Pods-DemoTests.xcscheme +59 -0
- data/Demo/Pods/Pods.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/xcschememanagement.plist +62 -0
- data/Demo/Pods/Specta/LICENSE +20 -0
- data/Demo/Pods/Specta/README.md +146 -0
- data/Demo/Pods/Specta/src/SPTExample.h +14 -0
- data/Demo/Pods/Specta/src/SPTExample.m +16 -0
- data/Demo/Pods/Specta/src/SPTExampleGroup.h +40 -0
- data/Demo/Pods/Specta/src/SPTExampleGroup.m +326 -0
- data/Demo/Pods/Specta/src/SPTNestedReporter.h +5 -0
- data/Demo/Pods/Specta/src/SPTNestedReporter.m +194 -0
- data/Demo/Pods/Specta/src/SPTReporter.h +33 -0
- data/Demo/Pods/Specta/src/SPTReporter.m +134 -0
- data/Demo/Pods/Specta/src/SPTSharedExampleGroups.h +17 -0
- data/Demo/Pods/Specta/src/SPTSharedExampleGroups.m +62 -0
- data/Demo/Pods/Specta/src/SPTSpec.h +21 -0
- data/Demo/Pods/Specta/src/SPTSpec.m +31 -0
- data/Demo/Pods/Specta/src/SPTXCTestCase.h +27 -0
- data/Demo/Pods/Specta/src/SPTXCTestCase.m +151 -0
- data/Demo/Pods/Specta/src/SPTXCTestReporter.h +9 -0
- data/Demo/Pods/Specta/src/SPTXCTestReporter.m +11 -0
- data/Demo/Pods/Specta/src/Specta.h +70 -0
- data/Demo/Pods/Specta/src/Specta.m +144 -0
- data/Demo/Pods/Specta/src/SpectaSupport.h +46 -0
- data/Demo/Pods/Specta/src/SpectaTypes.h +3 -0
- data/Demo/Pods/Specta/src/SpectaUtility.h +14 -0
- data/Demo/Pods/Specta/src/SpectaUtility.m +65 -0
- data/Demo/Pods/Specta/src/XCTestCase+Specta.h +4 -0
- data/Demo/Pods/Specta/src/XCTestCase+Specta.m +26 -0
- data/Demo/Pods/Specta/src/XCTestLog+Specta.h +7 -0
- data/Demo/Pods/Specta/src/XCTestLog+Specta.m +49 -0
- data/Demo/Pods/Specta/src/XCTestRun+Specta.h +8 -0
- data/Demo/Pods/Specta/src/XCTestRun+Specta.m +44 -0
- data/Gemfile +5 -0
- data/LICENSE +21 -0
- data/README.md +146 -0
- data/Rakefile +7 -0
- data/second_curtain.gemspec +20 -0
- data/spec/sample_output.txt +79 -0
- data/spec/second_shutter/kaleidoscope_command_spec.rb +25 -0
- data/spec/second_shutter/parser_spec.rb +39 -0
- data/spec/second_shutter/test_suite_spec.rb +32 -0
- data/spec/second_shutter/upload_manager_spec.rb +60 -0
- data/spec/second_shutter/upload_spec.rb +34 -0
- data/spec/second_shutter/xcode_test_case_spec.rb +22 -0
- metadata +315 -1
@@ -0,0 +1,59 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<Scheme
|
3
|
+
LastUpgradeVersion = "0510"
|
4
|
+
version = "1.3">
|
5
|
+
<BuildAction
|
6
|
+
parallelizeBuildables = "YES"
|
7
|
+
buildImplicitDependencies = "YES">
|
8
|
+
<BuildActionEntries>
|
9
|
+
<BuildActionEntry
|
10
|
+
buildForTesting = "YES"
|
11
|
+
buildForRunning = "YES"
|
12
|
+
buildForProfiling = "YES"
|
13
|
+
buildForArchiving = "YES"
|
14
|
+
buildForAnalyzing = "YES">
|
15
|
+
<BuildableReference
|
16
|
+
BuildableIdentifier = "primary"
|
17
|
+
BlueprintIdentifier = "554FA7A30EC74B7BB769DC74"
|
18
|
+
BuildableName = "libPods-DemoTests-Expecta+Snapshots.a"
|
19
|
+
BlueprintName = "Pods-DemoTests-Expecta+Snapshots"
|
20
|
+
ReferencedContainer = "container:Pods.xcodeproj">
|
21
|
+
</BuildableReference>
|
22
|
+
</BuildActionEntry>
|
23
|
+
</BuildActionEntries>
|
24
|
+
</BuildAction>
|
25
|
+
<TestAction
|
26
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
27
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
28
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
29
|
+
buildConfiguration = "Debug">
|
30
|
+
<Testables>
|
31
|
+
</Testables>
|
32
|
+
</TestAction>
|
33
|
+
<LaunchAction
|
34
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
35
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
36
|
+
launchStyle = "0"
|
37
|
+
useCustomWorkingDirectory = "NO"
|
38
|
+
buildConfiguration = "Debug"
|
39
|
+
ignoresPersistentStateOnLaunch = "NO"
|
40
|
+
debugDocumentVersioning = "YES"
|
41
|
+
allowLocationSimulation = "YES">
|
42
|
+
<AdditionalOptions>
|
43
|
+
</AdditionalOptions>
|
44
|
+
</LaunchAction>
|
45
|
+
<ProfileAction
|
46
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
47
|
+
savedToolIdentifier = ""
|
48
|
+
useCustomWorkingDirectory = "NO"
|
49
|
+
buildConfiguration = "Release"
|
50
|
+
debugDocumentVersioning = "YES">
|
51
|
+
</ProfileAction>
|
52
|
+
<AnalyzeAction
|
53
|
+
buildConfiguration = "Debug">
|
54
|
+
</AnalyzeAction>
|
55
|
+
<ArchiveAction
|
56
|
+
buildConfiguration = "Release"
|
57
|
+
revealArchiveInOrganizer = "YES">
|
58
|
+
</ArchiveAction>
|
59
|
+
</Scheme>
|
data/Demo/Pods/Pods.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/Pods-DemoTests-Expecta.xcscheme
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<Scheme
|
3
|
+
LastUpgradeVersion = "0510"
|
4
|
+
version = "1.3">
|
5
|
+
<BuildAction
|
6
|
+
parallelizeBuildables = "YES"
|
7
|
+
buildImplicitDependencies = "YES">
|
8
|
+
<BuildActionEntries>
|
9
|
+
<BuildActionEntry
|
10
|
+
buildForTesting = "YES"
|
11
|
+
buildForRunning = "YES"
|
12
|
+
buildForProfiling = "YES"
|
13
|
+
buildForArchiving = "YES"
|
14
|
+
buildForAnalyzing = "YES">
|
15
|
+
<BuildableReference
|
16
|
+
BuildableIdentifier = "primary"
|
17
|
+
BlueprintIdentifier = "ECD735CF3E9B45FDB76C0C4B"
|
18
|
+
BuildableName = "libPods-DemoTests-Expecta.a"
|
19
|
+
BlueprintName = "Pods-DemoTests-Expecta"
|
20
|
+
ReferencedContainer = "container:Pods.xcodeproj">
|
21
|
+
</BuildableReference>
|
22
|
+
</BuildActionEntry>
|
23
|
+
</BuildActionEntries>
|
24
|
+
</BuildAction>
|
25
|
+
<TestAction
|
26
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
27
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
28
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
29
|
+
buildConfiguration = "Debug">
|
30
|
+
<Testables>
|
31
|
+
</Testables>
|
32
|
+
</TestAction>
|
33
|
+
<LaunchAction
|
34
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
35
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
36
|
+
launchStyle = "0"
|
37
|
+
useCustomWorkingDirectory = "NO"
|
38
|
+
buildConfiguration = "Debug"
|
39
|
+
ignoresPersistentStateOnLaunch = "NO"
|
40
|
+
debugDocumentVersioning = "YES"
|
41
|
+
allowLocationSimulation = "YES">
|
42
|
+
<AdditionalOptions>
|
43
|
+
</AdditionalOptions>
|
44
|
+
</LaunchAction>
|
45
|
+
<ProfileAction
|
46
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
47
|
+
savedToolIdentifier = ""
|
48
|
+
useCustomWorkingDirectory = "NO"
|
49
|
+
buildConfiguration = "Release"
|
50
|
+
debugDocumentVersioning = "YES">
|
51
|
+
</ProfileAction>
|
52
|
+
<AnalyzeAction
|
53
|
+
buildConfiguration = "Debug">
|
54
|
+
</AnalyzeAction>
|
55
|
+
<ArchiveAction
|
56
|
+
buildConfiguration = "Release"
|
57
|
+
revealArchiveInOrganizer = "YES">
|
58
|
+
</ArchiveAction>
|
59
|
+
</Scheme>
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<Scheme
|
3
|
+
LastUpgradeVersion = "0510"
|
4
|
+
version = "1.3">
|
5
|
+
<BuildAction
|
6
|
+
parallelizeBuildables = "YES"
|
7
|
+
buildImplicitDependencies = "YES">
|
8
|
+
<BuildActionEntries>
|
9
|
+
<BuildActionEntry
|
10
|
+
buildForTesting = "YES"
|
11
|
+
buildForRunning = "YES"
|
12
|
+
buildForProfiling = "YES"
|
13
|
+
buildForArchiving = "YES"
|
14
|
+
buildForAnalyzing = "YES">
|
15
|
+
<BuildableReference
|
16
|
+
BuildableIdentifier = "primary"
|
17
|
+
BlueprintIdentifier = "24C316C3598748C9B7460DAE"
|
18
|
+
BuildableName = "libPods-DemoTests-FBSnapshotTestCase.a"
|
19
|
+
BlueprintName = "Pods-DemoTests-FBSnapshotTestCase"
|
20
|
+
ReferencedContainer = "container:Pods.xcodeproj">
|
21
|
+
</BuildableReference>
|
22
|
+
</BuildActionEntry>
|
23
|
+
</BuildActionEntries>
|
24
|
+
</BuildAction>
|
25
|
+
<TestAction
|
26
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
27
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
28
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
29
|
+
buildConfiguration = "Debug">
|
30
|
+
<Testables>
|
31
|
+
</Testables>
|
32
|
+
</TestAction>
|
33
|
+
<LaunchAction
|
34
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
35
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
36
|
+
launchStyle = "0"
|
37
|
+
useCustomWorkingDirectory = "NO"
|
38
|
+
buildConfiguration = "Debug"
|
39
|
+
ignoresPersistentStateOnLaunch = "NO"
|
40
|
+
debugDocumentVersioning = "YES"
|
41
|
+
allowLocationSimulation = "YES">
|
42
|
+
<AdditionalOptions>
|
43
|
+
</AdditionalOptions>
|
44
|
+
</LaunchAction>
|
45
|
+
<ProfileAction
|
46
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
47
|
+
savedToolIdentifier = ""
|
48
|
+
useCustomWorkingDirectory = "NO"
|
49
|
+
buildConfiguration = "Release"
|
50
|
+
debugDocumentVersioning = "YES">
|
51
|
+
</ProfileAction>
|
52
|
+
<AnalyzeAction
|
53
|
+
buildConfiguration = "Debug">
|
54
|
+
</AnalyzeAction>
|
55
|
+
<ArchiveAction
|
56
|
+
buildConfiguration = "Release"
|
57
|
+
revealArchiveInOrganizer = "YES">
|
58
|
+
</ArchiveAction>
|
59
|
+
</Scheme>
|
data/Demo/Pods/Pods.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/Pods-DemoTests-Specta.xcscheme
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<Scheme
|
3
|
+
LastUpgradeVersion = "0510"
|
4
|
+
version = "1.3">
|
5
|
+
<BuildAction
|
6
|
+
parallelizeBuildables = "YES"
|
7
|
+
buildImplicitDependencies = "YES">
|
8
|
+
<BuildActionEntries>
|
9
|
+
<BuildActionEntry
|
10
|
+
buildForTesting = "YES"
|
11
|
+
buildForRunning = "YES"
|
12
|
+
buildForProfiling = "YES"
|
13
|
+
buildForArchiving = "YES"
|
14
|
+
buildForAnalyzing = "YES">
|
15
|
+
<BuildableReference
|
16
|
+
BuildableIdentifier = "primary"
|
17
|
+
BlueprintIdentifier = "DCD58E6402604364B8F04D30"
|
18
|
+
BuildableName = "libPods-DemoTests-Specta.a"
|
19
|
+
BlueprintName = "Pods-DemoTests-Specta"
|
20
|
+
ReferencedContainer = "container:Pods.xcodeproj">
|
21
|
+
</BuildableReference>
|
22
|
+
</BuildActionEntry>
|
23
|
+
</BuildActionEntries>
|
24
|
+
</BuildAction>
|
25
|
+
<TestAction
|
26
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
27
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
28
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
29
|
+
buildConfiguration = "Debug">
|
30
|
+
<Testables>
|
31
|
+
</Testables>
|
32
|
+
</TestAction>
|
33
|
+
<LaunchAction
|
34
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
35
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
36
|
+
launchStyle = "0"
|
37
|
+
useCustomWorkingDirectory = "NO"
|
38
|
+
buildConfiguration = "Debug"
|
39
|
+
ignoresPersistentStateOnLaunch = "NO"
|
40
|
+
debugDocumentVersioning = "YES"
|
41
|
+
allowLocationSimulation = "YES">
|
42
|
+
<AdditionalOptions>
|
43
|
+
</AdditionalOptions>
|
44
|
+
</LaunchAction>
|
45
|
+
<ProfileAction
|
46
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
47
|
+
savedToolIdentifier = ""
|
48
|
+
useCustomWorkingDirectory = "NO"
|
49
|
+
buildConfiguration = "Release"
|
50
|
+
debugDocumentVersioning = "YES">
|
51
|
+
</ProfileAction>
|
52
|
+
<AnalyzeAction
|
53
|
+
buildConfiguration = "Debug">
|
54
|
+
</AnalyzeAction>
|
55
|
+
<ArchiveAction
|
56
|
+
buildConfiguration = "Release"
|
57
|
+
revealArchiveInOrganizer = "YES">
|
58
|
+
</ArchiveAction>
|
59
|
+
</Scheme>
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<Scheme
|
3
|
+
LastUpgradeVersion = "0510"
|
4
|
+
version = "1.3">
|
5
|
+
<BuildAction
|
6
|
+
parallelizeBuildables = "YES"
|
7
|
+
buildImplicitDependencies = "YES">
|
8
|
+
<BuildActionEntries>
|
9
|
+
<BuildActionEntry
|
10
|
+
buildForTesting = "YES"
|
11
|
+
buildForRunning = "YES"
|
12
|
+
buildForProfiling = "YES"
|
13
|
+
buildForArchiving = "YES"
|
14
|
+
buildForAnalyzing = "YES">
|
15
|
+
<BuildableReference
|
16
|
+
BuildableIdentifier = "primary"
|
17
|
+
BlueprintIdentifier = "46651EDFACA44715923F17A8"
|
18
|
+
BuildableName = "libPods-DemoTests.a"
|
19
|
+
BlueprintName = "Pods-DemoTests"
|
20
|
+
ReferencedContainer = "container:Pods.xcodeproj">
|
21
|
+
</BuildableReference>
|
22
|
+
</BuildActionEntry>
|
23
|
+
</BuildActionEntries>
|
24
|
+
</BuildAction>
|
25
|
+
<TestAction
|
26
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
27
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
28
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
29
|
+
buildConfiguration = "Debug">
|
30
|
+
<Testables>
|
31
|
+
</Testables>
|
32
|
+
</TestAction>
|
33
|
+
<LaunchAction
|
34
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
35
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
36
|
+
launchStyle = "0"
|
37
|
+
useCustomWorkingDirectory = "NO"
|
38
|
+
buildConfiguration = "Debug"
|
39
|
+
ignoresPersistentStateOnLaunch = "NO"
|
40
|
+
debugDocumentVersioning = "YES"
|
41
|
+
allowLocationSimulation = "YES">
|
42
|
+
<AdditionalOptions>
|
43
|
+
</AdditionalOptions>
|
44
|
+
</LaunchAction>
|
45
|
+
<ProfileAction
|
46
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
47
|
+
savedToolIdentifier = ""
|
48
|
+
useCustomWorkingDirectory = "NO"
|
49
|
+
buildConfiguration = "Release"
|
50
|
+
debugDocumentVersioning = "YES">
|
51
|
+
</ProfileAction>
|
52
|
+
<AnalyzeAction
|
53
|
+
buildConfiguration = "Debug">
|
54
|
+
</AnalyzeAction>
|
55
|
+
<ArchiveAction
|
56
|
+
buildConfiguration = "Release"
|
57
|
+
revealArchiveInOrganizer = "YES">
|
58
|
+
</ArchiveAction>
|
59
|
+
</Scheme>
|
@@ -0,0 +1,62 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>SchemeUserState</key>
|
6
|
+
<dict>
|
7
|
+
<key>Pods-DemoTests-Expecta+Snapshots.xcscheme</key>
|
8
|
+
<dict>
|
9
|
+
<key>isShown</key>
|
10
|
+
<false/>
|
11
|
+
</dict>
|
12
|
+
<key>Pods-DemoTests-Expecta.xcscheme</key>
|
13
|
+
<dict>
|
14
|
+
<key>isShown</key>
|
15
|
+
<false/>
|
16
|
+
</dict>
|
17
|
+
<key>Pods-DemoTests-FBSnapshotTestCase.xcscheme</key>
|
18
|
+
<dict>
|
19
|
+
<key>isShown</key>
|
20
|
+
<false/>
|
21
|
+
</dict>
|
22
|
+
<key>Pods-DemoTests-Specta.xcscheme</key>
|
23
|
+
<dict>
|
24
|
+
<key>isShown</key>
|
25
|
+
<false/>
|
26
|
+
</dict>
|
27
|
+
<key>Pods-DemoTests.xcscheme</key>
|
28
|
+
<dict>
|
29
|
+
<key>isShown</key>
|
30
|
+
<false/>
|
31
|
+
</dict>
|
32
|
+
</dict>
|
33
|
+
<key>SuppressBuildableAutocreation</key>
|
34
|
+
<dict>
|
35
|
+
<key>24C316C3598748C9B7460DAE</key>
|
36
|
+
<dict>
|
37
|
+
<key>primary</key>
|
38
|
+
<true/>
|
39
|
+
</dict>
|
40
|
+
<key>46651EDFACA44715923F17A8</key>
|
41
|
+
<dict>
|
42
|
+
<key>primary</key>
|
43
|
+
<true/>
|
44
|
+
</dict>
|
45
|
+
<key>554FA7A30EC74B7BB769DC74</key>
|
46
|
+
<dict>
|
47
|
+
<key>primary</key>
|
48
|
+
<true/>
|
49
|
+
</dict>
|
50
|
+
<key>DCD58E6402604364B8F04D30</key>
|
51
|
+
<dict>
|
52
|
+
<key>primary</key>
|
53
|
+
<true/>
|
54
|
+
</dict>
|
55
|
+
<key>ECD735CF3E9B45FDB76C0C4B</key>
|
56
|
+
<dict>
|
57
|
+
<key>primary</key>
|
58
|
+
<true/>
|
59
|
+
</dict>
|
60
|
+
</dict>
|
61
|
+
</dict>
|
62
|
+
</plist>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2012-2013 Specta Team.
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
5
|
+
in the Software without restriction, including without limitation the rights
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
8
|
+
furnished to do so, subject to the following conditions:
|
9
|
+
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
11
|
+
all copies or substantial portions of the Software.
|
12
|
+
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
THE SOFTWARE.
|
20
|
+
|
@@ -0,0 +1,146 @@
|
|
1
|
+
# Specta
|
2
|
+
|
3
|
+
A light-weight TDD / BDD framework for Objective-C & Cocoa.
|
4
|
+
|
5
|
+
### FEATURES
|
6
|
+
|
7
|
+
* RSpec-like BDD DSL
|
8
|
+
* Super quick and easy to set up
|
9
|
+
* Runs on top of XCTest
|
10
|
+
* Excellent Xcode integration
|
11
|
+
|
12
|
+
### SCREENSHOT
|
13
|
+
|
14
|
+
![Specta Screenshot](http://github.com/petejkim/stuff/raw/master/images/specta-screenshot.png)
|
15
|
+
|
16
|
+
### SETUP
|
17
|
+
|
18
|
+
Use [CocoaPods](http://github.com/CocoaPods/CocoaPods)
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
target :MyApp do
|
22
|
+
# your app dependencies
|
23
|
+
end
|
24
|
+
|
25
|
+
target :MyAppTests do
|
26
|
+
pod 'Specta', '~> 0.2.1'
|
27
|
+
# pod 'Expecta', '~> 0.2.3' # expecta matchers
|
28
|
+
# pod 'OCMock', '~> 2.2.1' # OCMock
|
29
|
+
# pod 'OCHamcrest', '~> 3.0.0' # hamcrest matchers
|
30
|
+
# pod 'OCMockito', '~> 1.0.0' # OCMock
|
31
|
+
# pod 'LRMocky', '~> 0.9.1' # LRMocky
|
32
|
+
end
|
33
|
+
```
|
34
|
+
|
35
|
+
or
|
36
|
+
|
37
|
+
1. Clone from Github.
|
38
|
+
2. Run `rake` in project root to build.
|
39
|
+
3. Add a "Cocoa/Cocoa Touch Unit Testing Bundle" target if you don't already have one.
|
40
|
+
4. Copy and add all header files in `products` folder to the Test target in your Xcode project.
|
41
|
+
5. For **OS X projects**, copy and add `libSpecta-macosx.a` in `products` folder to the Test target in your Xcode project.
|
42
|
+
For **iOS projects**, copy and add `libSpecta-ios-universal.a` in `products` folder to the Test target in your Xcode project.
|
43
|
+
6. Add `-ObjC` and `-all_load` to the "Other Linker Flags" build setting for the Spec/Test target in your Xcode project.
|
44
|
+
7. Add the following to your test code.
|
45
|
+
|
46
|
+
```objective-c
|
47
|
+
#import "Specta.h"
|
48
|
+
```
|
49
|
+
|
50
|
+
Standard XCTest matchers such as `XCTAssertEqualObjects` and `XCTAssertNil` work, but you probably want to add a nicer matcher framework - [Expecta](http://github.com/petejkim/expecta/) to your setup. Or if you really prefer, [OCHamcrest](https://github.com/jonreid/OCHamcrest) works fine too. Also, add a mocking framework: [OCMock](http://ocmock.org/).
|
51
|
+
|
52
|
+
## WRITING SPECS
|
53
|
+
|
54
|
+
```objective-c
|
55
|
+
#import "Specta.h"
|
56
|
+
|
57
|
+
SharedExamplesBegin(MySharedExamples)
|
58
|
+
// Global shared examples are shared across all spec files.
|
59
|
+
|
60
|
+
sharedExamplesFor(@"a shared behavior", ^(NSDictionary *data) {
|
61
|
+
it(@"should do some stuff", ^{
|
62
|
+
id obj = data[@"key"];
|
63
|
+
// ...
|
64
|
+
});
|
65
|
+
});
|
66
|
+
|
67
|
+
SharedExamplesEnd
|
68
|
+
|
69
|
+
SpecBegin(Thing)
|
70
|
+
|
71
|
+
describe(@"Thing", ^{
|
72
|
+
sharedExamplesFor(@"another shared behavior", ^(NSDictionary *data) {
|
73
|
+
// Locally defined shared examples can override global shared examples within its scope.
|
74
|
+
});
|
75
|
+
|
76
|
+
beforeAll(^{
|
77
|
+
// This is run once and only once before all of the examples
|
78
|
+
// in this group and before any beforeEach blocks.
|
79
|
+
});
|
80
|
+
|
81
|
+
beforeEach(^{
|
82
|
+
// This is run before each example.
|
83
|
+
});
|
84
|
+
|
85
|
+
it(@"should do stuff", ^{
|
86
|
+
// This is an example block. Place your assertions here.
|
87
|
+
});
|
88
|
+
|
89
|
+
it(@"should do some stuff asynchronously", ^AsyncBlock {
|
90
|
+
// Async example blocks need to invoke done() callback.
|
91
|
+
done();
|
92
|
+
});
|
93
|
+
|
94
|
+
itShouldBehaveLike(@"a shared behavior", @{@"key" : @"obj"});
|
95
|
+
|
96
|
+
itShouldBehaveLike(@"another shared behavior", ^{
|
97
|
+
// Use a block that returns a dictionary if you need the context to be evaluated lazily,
|
98
|
+
// e.g. to use an object prepared in a beforeEach block.
|
99
|
+
return @{@"key" : @"obj"};
|
100
|
+
});
|
101
|
+
|
102
|
+
describe(@"Nested examples", ^{
|
103
|
+
it(@"should do even more stuff", ^{
|
104
|
+
// ...
|
105
|
+
});
|
106
|
+
});
|
107
|
+
|
108
|
+
pending(@"pending example");
|
109
|
+
|
110
|
+
pending(@"another pending example", ^{
|
111
|
+
// ...
|
112
|
+
});
|
113
|
+
|
114
|
+
afterEach(^{
|
115
|
+
// This is run after each example.
|
116
|
+
});
|
117
|
+
|
118
|
+
afterAll(^{
|
119
|
+
// This is run once and only once after all of the examples
|
120
|
+
// in this group and after any afterEach blocks.
|
121
|
+
});
|
122
|
+
});
|
123
|
+
|
124
|
+
SpecEnd
|
125
|
+
```
|
126
|
+
|
127
|
+
* `beforeEach` and `afterEach` are also aliased as `before` and `after` respectively.
|
128
|
+
* `describe` is also aliased as `context`.
|
129
|
+
* `it` is also aliased as `example` and `specify`.
|
130
|
+
* `itShouldBehaveLike` is also aliased as `itBehavesLike`.
|
131
|
+
* Use `pending` or prepend `x` to `describe`, `context`, `example`, `it`, and `specify` to mark examples or groups as pending.
|
132
|
+
* Use `^AsyncBlock` as shown in the example above to make examples wait for completion. `done()` callback needs to be invoked to let Specta know that your test is complete. The default timeout is 10.0 seconds but this can be changed by calling the function `setAsyncSpecTimeout(NSTimeInterval timeout)`.
|
133
|
+
* `(before|after)(Each/All)` also accept `^AsyncBlock`s.
|
134
|
+
* Do `#define SPT_CEDAR_SYNTAX` before importing Specta if you prefer to write `SPEC_BEGIN` and `SPEC_END` instead of `SpecBegin` and `SpecEnd`.
|
135
|
+
* Prepend `f` to your `describe`, `context`, `example`, `it`, and `specify` to set focus on examples or groups. When specs are focused, all unfocused specs are skipped.
|
136
|
+
* To use original XCTest reporter, set an environment variable named `SPECTA_REPORTER_CLASS` to `SPTXCTestReporter` in your test scheme.
|
137
|
+
|
138
|
+
### CONTRIBUTION GUIDELINES
|
139
|
+
|
140
|
+
* Please use only spaces and indent 2 spaces at a time.
|
141
|
+
* Please prefix instance variable names with a single underscore (`_`).
|
142
|
+
* Please prefix custom classes and functions defined in the global scope with `SPT`.
|
143
|
+
|
144
|
+
## LICENSE
|
145
|
+
|
146
|
+
Copyright (c) 2012-2013 [Specta Team](https://github.com/specta?tab=members). This software is licensed under the [MIT License](http://github.com/petejkim/specta/raw/master/LICENSE).
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#import <Foundation/Foundation.h>
|
2
|
+
#import "SpectaTypes.h"
|
3
|
+
|
4
|
+
@interface SPTExample : NSObject
|
5
|
+
|
6
|
+
@property (nonatomic, copy) NSString *name;
|
7
|
+
@property (nonatomic, copy) id block;
|
8
|
+
@property (nonatomic) BOOL pending;
|
9
|
+
@property (nonatomic, getter = isFocused) BOOL focused;
|
10
|
+
|
11
|
+
- (id)initWithName:(NSString *)name block:(id)block;
|
12
|
+
|
13
|
+
@end
|
14
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
#import "SPTExample.h"
|
2
|
+
|
3
|
+
@implementation SPTExample
|
4
|
+
|
5
|
+
- (id)initWithName:(NSString *)name block:(id)block {
|
6
|
+
self = [super init];
|
7
|
+
if (self) {
|
8
|
+
self.name = name;
|
9
|
+
self.block = block;
|
10
|
+
self.pending = block == nil;
|
11
|
+
}
|
12
|
+
return self;
|
13
|
+
}
|
14
|
+
|
15
|
+
@end
|
16
|
+
|
@@ -0,0 +1,40 @@
|
|
1
|
+
#import <Foundation/Foundation.h>
|
2
|
+
#import <XCTest/XCTest.h>
|
3
|
+
#import "SpectaTypes.h"
|
4
|
+
|
5
|
+
@class
|
6
|
+
SPTExample
|
7
|
+
;
|
8
|
+
|
9
|
+
@interface SPTExampleGroup : NSObject
|
10
|
+
|
11
|
+
@property (nonatomic, copy) NSString *name;
|
12
|
+
@property (nonatomic, strong) SPTExampleGroup *root;
|
13
|
+
@property (nonatomic, strong) SPTExampleGroup *parent;
|
14
|
+
@property (nonatomic, strong) NSMutableArray *children;
|
15
|
+
@property (nonatomic, strong) NSMutableArray *beforeAllArray;
|
16
|
+
@property (nonatomic, strong) NSMutableArray *afterAllArray;
|
17
|
+
@property (nonatomic, strong) NSMutableArray *beforeEachArray;
|
18
|
+
@property (nonatomic, strong) NSMutableArray *afterEachArray;
|
19
|
+
@property (nonatomic, strong) NSMutableDictionary *sharedExamples;
|
20
|
+
@property (nonatomic) unsigned int exampleCount;
|
21
|
+
@property (nonatomic) unsigned int ranExampleCount;
|
22
|
+
@property (nonatomic, getter=isFocused) BOOL focused;
|
23
|
+
|
24
|
+
+ (void)setAsyncSpecTimeout:(NSTimeInterval)timeout;
|
25
|
+
- (id)initWithName:(NSString *)name parent:(SPTExampleGroup *)parent root:(SPTExampleGroup *)root;
|
26
|
+
|
27
|
+
- (SPTExampleGroup *)addExampleGroupWithName:(NSString *)name;
|
28
|
+
- (SPTExampleGroup *)addExampleGroupWithName:(NSString *)name focused:(BOOL)focused;
|
29
|
+
|
30
|
+
- (SPTExample *)addExampleWithName:(NSString *)name block:(id)block;
|
31
|
+
- (SPTExample *)addExampleWithName:(NSString *)name block:(id)block focused:(BOOL)focused;
|
32
|
+
|
33
|
+
- (void)addBeforeAllBlock:(SPTVoidBlock)block;
|
34
|
+
- (void)addAfterAllBlock:(SPTVoidBlock)block;
|
35
|
+
- (void)addBeforeEachBlock:(SPTVoidBlock)block;
|
36
|
+
- (void)addAfterEachBlock:(SPTVoidBlock)block;
|
37
|
+
|
38
|
+
- (NSArray *)compileExamplesWithNameStack:(NSArray *)nameStack;
|
39
|
+
|
40
|
+
@end
|