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,27 @@
|
|
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>Demo.xcscheme_^#shared#^_</key>
|
8
|
+
<dict>
|
9
|
+
<key>orderHint</key>
|
10
|
+
<integer>0</integer>
|
11
|
+
</dict>
|
12
|
+
</dict>
|
13
|
+
<key>SuppressBuildableAutocreation</key>
|
14
|
+
<dict>
|
15
|
+
<key>5EB33E81197FA73700706EB1</key>
|
16
|
+
<dict>
|
17
|
+
<key>primary</key>
|
18
|
+
<true/>
|
19
|
+
</dict>
|
20
|
+
<key>5EB33EA2197FA73700706EB1</key>
|
21
|
+
<dict>
|
22
|
+
<key>primary</key>
|
23
|
+
<true/>
|
24
|
+
</dict>
|
25
|
+
</dict>
|
26
|
+
</dict>
|
27
|
+
</plist>
|
@@ -0,0 +1,27 @@
|
|
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>Demo.xcscheme_^#shared#^_</key>
|
8
|
+
<dict>
|
9
|
+
<key>orderHint</key>
|
10
|
+
<integer>0</integer>
|
11
|
+
</dict>
|
12
|
+
</dict>
|
13
|
+
<key>SuppressBuildableAutocreation</key>
|
14
|
+
<dict>
|
15
|
+
<key>5EB33E81197FA73700706EB1</key>
|
16
|
+
<dict>
|
17
|
+
<key>primary</key>
|
18
|
+
<true/>
|
19
|
+
</dict>
|
20
|
+
<key>5EB33EA2197FA73700706EB1</key>
|
21
|
+
<dict>
|
22
|
+
<key>primary</key>
|
23
|
+
<true/>
|
24
|
+
</dict>
|
25
|
+
</dict>
|
26
|
+
</dict>
|
27
|
+
</plist>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version='1.0' encoding='UTF-8'?><Workspace version='1.0'><FileRef location='group:Demo.xcodeproj'/><FileRef location='group:Pods/Pods.xcodeproj'/></Workspace>
|
@@ -0,0 +1,41 @@
|
|
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>IDESourceControlProjectFavoriteDictionaryKey</key>
|
6
|
+
<false/>
|
7
|
+
<key>IDESourceControlProjectIdentifier</key>
|
8
|
+
<string>E2F4B0E5-1098-40D9-8F5A-830DDE127E76</string>
|
9
|
+
<key>IDESourceControlProjectName</key>
|
10
|
+
<string>Demo</string>
|
11
|
+
<key>IDESourceControlProjectOriginsDictionary</key>
|
12
|
+
<dict>
|
13
|
+
<key>F18A9FDE-84B6-41E0-8FF7-0F72E990AED5</key>
|
14
|
+
<string>https://github.com/AshFurrow/second_curtain.git</string>
|
15
|
+
</dict>
|
16
|
+
<key>IDESourceControlProjectPath</key>
|
17
|
+
<string>Demo/Demo.xcworkspace</string>
|
18
|
+
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
|
19
|
+
<dict>
|
20
|
+
<key>F18A9FDE-84B6-41E0-8FF7-0F72E990AED5</key>
|
21
|
+
<string>../..</string>
|
22
|
+
</dict>
|
23
|
+
<key>IDESourceControlProjectURL</key>
|
24
|
+
<string>https://github.com/AshFurrow/second_curtain.git</string>
|
25
|
+
<key>IDESourceControlProjectVersion</key>
|
26
|
+
<integer>110</integer>
|
27
|
+
<key>IDESourceControlProjectWCCIdentifier</key>
|
28
|
+
<string>F18A9FDE-84B6-41E0-8FF7-0F72E990AED5</string>
|
29
|
+
<key>IDESourceControlProjectWCConfigurations</key>
|
30
|
+
<array>
|
31
|
+
<dict>
|
32
|
+
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
|
33
|
+
<string>public.vcs.git</string>
|
34
|
+
<key>IDESourceControlWCCIdentifierKey</key>
|
35
|
+
<string>F18A9FDE-84B6-41E0-8FF7-0F72E990AED5</string>
|
36
|
+
<key>IDESourceControlWCCName</key>
|
37
|
+
<string>second_curtain</string>
|
38
|
+
</dict>
|
39
|
+
</array>
|
40
|
+
</dict>
|
41
|
+
</plist>
|
Binary file
|
Binary file
|
@@ -0,0 +1,22 @@
|
|
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>CFBundleDevelopmentRegion</key>
|
6
|
+
<string>en</string>
|
7
|
+
<key>CFBundleExecutable</key>
|
8
|
+
<string>${EXECUTABLE_NAME}</string>
|
9
|
+
<key>CFBundleIdentifier</key>
|
10
|
+
<string>com.ashfurrow.${PRODUCT_NAME:rfc1034identifier}</string>
|
11
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
12
|
+
<string>6.0</string>
|
13
|
+
<key>CFBundlePackageType</key>
|
14
|
+
<string>BNDL</string>
|
15
|
+
<key>CFBundleShortVersionString</key>
|
16
|
+
<string>1.0</string>
|
17
|
+
<key>CFBundleSignature</key>
|
18
|
+
<string>????</string>
|
19
|
+
<key>CFBundleVersion</key>
|
20
|
+
<string>1</string>
|
21
|
+
</dict>
|
22
|
+
</plist>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
//
|
2
|
+
// DemoTests.m
|
3
|
+
// DemoTests
|
4
|
+
//
|
5
|
+
// Created by Ash Furrow on 2014-07-23.
|
6
|
+
// Copyright (c) 2014 Ash Furrow. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
#define EXP_SHORTHAND
|
10
|
+
#import <Specta/Specta.h>
|
11
|
+
#import <Expecta/Expecta.h>
|
12
|
+
#import <Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h>
|
13
|
+
|
14
|
+
#import <XCTest/XCTest.h>
|
15
|
+
#import "ASHViewController.h"
|
16
|
+
|
17
|
+
SpecBegin(ASHViewController)
|
18
|
+
|
19
|
+
describe(@"a view controller", ^{
|
20
|
+
__block ASHViewController *viewController;
|
21
|
+
beforeEach(^{
|
22
|
+
viewController = [[ASHViewController alloc] init];
|
23
|
+
});
|
24
|
+
|
25
|
+
describe(@"with a loaded view", ^{
|
26
|
+
beforeEach(^{
|
27
|
+
expect(viewController.view).toNot.beNil();
|
28
|
+
});
|
29
|
+
|
30
|
+
it(@"should have a valid snapshot", ^{
|
31
|
+
expect(viewController).to.haveValidSnapshot();
|
32
|
+
});
|
33
|
+
});
|
34
|
+
});
|
35
|
+
|
36
|
+
describe(@"views", ^{
|
37
|
+
it(@"should be green", ^{
|
38
|
+
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 320)];
|
39
|
+
view.backgroundColor = [UIColor purpleColor];
|
40
|
+
expect(view).to.haveValidSnapshot();
|
41
|
+
});
|
42
|
+
|
43
|
+
it(@"should be red", ^{
|
44
|
+
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 60, 320)];
|
45
|
+
view.backgroundColor = [UIColor orangeColor];
|
46
|
+
expect(view).to.haveValidSnapshot();
|
47
|
+
});
|
48
|
+
|
49
|
+
});
|
50
|
+
|
51
|
+
|
52
|
+
SpecEnd
|
Binary file
|
Binary file
|
Binary file
|
data/Demo/Makefile
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
WORKSPACE = Demo.xcworkspace
|
2
|
+
SCHEME = Demo
|
3
|
+
|
4
|
+
all: ci
|
5
|
+
|
6
|
+
build:
|
7
|
+
set -o pipefail && xcodebuild -workspace $(WORKSPACE) -scheme $(SCHEME) -sdk iphonesimulator build | xcpretty -c
|
8
|
+
|
9
|
+
clean:
|
10
|
+
xcodebuild -workspace $(WORKSPACE) -scheme $(SCHEME) clean
|
11
|
+
|
12
|
+
test:
|
13
|
+
set -o pipefail && xcodebuild -workspace $(WORKSPACE) -scheme $(SCHEME) -configuration Debug test -sdk iphonesimulator | second_curtain | xcpretty -c --test
|
14
|
+
|
15
|
+
ci: build
|
data/Demo/Podfile
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# Uncomment this line to define a global platform for your project
|
2
|
+
# platform :ios, "6.0"
|
3
|
+
|
4
|
+
target "Demo" do
|
5
|
+
|
6
|
+
end
|
7
|
+
|
8
|
+
target "DemoTests" do
|
9
|
+
|
10
|
+
pod 'FBSnapshotTestCase', '1.1'
|
11
|
+
pod 'Expecta+Snapshots', '1.2.0'
|
12
|
+
pod 'Specta', '0.2.1'
|
13
|
+
pod 'Expecta', '0.3.0'
|
14
|
+
|
15
|
+
end
|
16
|
+
|
data/Demo/Podfile.lock
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
PODS:
|
2
|
+
- Expecta (0.3.1)
|
3
|
+
- Expecta+Snapshots (1.2.0):
|
4
|
+
- Expecta
|
5
|
+
- FBSnapshotTestCase
|
6
|
+
- FBSnapshotTestCase (1.1)
|
7
|
+
- Specta (0.2.1)
|
8
|
+
|
9
|
+
DEPENDENCIES:
|
10
|
+
- Expecta (= 0.3.0)
|
11
|
+
- Expecta+Snapshots (= 1.2.0)
|
12
|
+
- FBSnapshotTestCase (= 1.1)
|
13
|
+
- Specta (= 0.2.1)
|
14
|
+
|
15
|
+
SPEC CHECKSUMS:
|
16
|
+
Expecta: 03aabd0a89d8dea843baecb19a7fd7466a69a31d
|
17
|
+
Expecta+Snapshots: eed172512cd9a8d659f6c02dc0fe774043b399af
|
18
|
+
FBSnapshotTestCase: 9053afee1d66b4c7c313fcb0ae582a5e47bea9d0
|
19
|
+
Specta: 9141310f46b1f68b676650ff2854e1ed0b74163a
|
20
|
+
|
21
|
+
COCOAPODS: 0.33.1
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#import "EXPExpect.h"
|
2
|
+
|
3
|
+
@interface EXPExpect (BackwardCompatiblity)
|
4
|
+
|
5
|
+
@property(nonatomic, readonly) EXPExpect *Not;
|
6
|
+
@property(nonatomic, readonly) EXPExpect *isGoing;
|
7
|
+
@property(nonatomic, readonly) EXPExpect *isNotGoing;
|
8
|
+
|
9
|
+
@end
|
10
|
+
|
11
|
+
#define toBeFalsy beFalsy
|
12
|
+
#define toBeGreaterThan beGreaterThan
|
13
|
+
#define toBeGreaterThanOrEqualTo beGreaterThanOrEqualTo
|
14
|
+
#define toBeIdenticalTo beIdenticalTo
|
15
|
+
#define toBeInTheRangeOf beInTheRangeOf
|
16
|
+
#define toBeInstanceOf beInstanceOf
|
17
|
+
#define toBeAnInstanceOf beInstanceOf
|
18
|
+
#define toBeMemberOf beInstanceOf
|
19
|
+
#define toBeAMemberOf beInstanceOf
|
20
|
+
#define toBeKindOf beKindOf
|
21
|
+
#define toBeAKindOf beKindOf
|
22
|
+
#define toBeLessThan beLessThan
|
23
|
+
#define toBeLessThanOrEqualTo beLessThanOrEqualTo
|
24
|
+
#define toBeNil beNil
|
25
|
+
#define toBeNull beNil
|
26
|
+
#define toBeSubclassOf beSubclassOf
|
27
|
+
#define toBeASubclassOf beSubclassOf
|
28
|
+
#define toBeTruthy beTruthy
|
29
|
+
#define toBeFalsy beFalsy
|
30
|
+
#define toContain contain
|
31
|
+
#define toEqual equal
|
32
|
+
#define toBeCloseTo beCloseTo
|
33
|
+
#define toBeCloseToWithin beCloseToWithin
|
34
|
+
#define toHaveCount haveCountOf
|
35
|
+
#define toHaveCountOf haveCountOf
|
36
|
+
#define toHaveACountOf haveCountOf
|
37
|
+
#define toHaveLength haveCountOf
|
38
|
+
#define toHaveLengthOf haveCountOf
|
39
|
+
#define toHaveALengthOf haveCountOf
|
40
|
+
#define toBeEmpty beEmpty
|
41
|
+
#define toRaise raise
|
42
|
+
#define toRaiseAny raiseAny
|
@@ -0,0 +1,25 @@
|
|
1
|
+
//
|
2
|
+
// EXPRuntimeMatcher.h
|
3
|
+
// Expecta
|
4
|
+
//
|
5
|
+
// Created by Luke Redpath on 26/03/2012.
|
6
|
+
// Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
#import <Foundation/Foundation.h>
|
10
|
+
#import "EXPMatcher.h"
|
11
|
+
#import "EXPDefines.h"
|
12
|
+
|
13
|
+
@interface EXPBlockDefinedMatcher : NSObject <EXPMatcher> {
|
14
|
+
EXPBoolBlock prerequisiteBlock;
|
15
|
+
EXPBoolBlock matchBlock;
|
16
|
+
EXPStringBlock failureMessageForToBlock;
|
17
|
+
EXPStringBlock failureMessageForNotToBlock;
|
18
|
+
}
|
19
|
+
|
20
|
+
@property(nonatomic, copy) EXPBoolBlock prerequisiteBlock;
|
21
|
+
@property(nonatomic, copy) EXPBoolBlock matchBlock;
|
22
|
+
@property(nonatomic, copy) EXPStringBlock failureMessageForToBlock;
|
23
|
+
@property(nonatomic, copy) EXPStringBlock failureMessageForNotToBlock;
|
24
|
+
|
25
|
+
@end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
//
|
2
|
+
// EXPDefines.h
|
3
|
+
// Expecta
|
4
|
+
//
|
5
|
+
// Created by Luke Redpath on 26/03/2012.
|
6
|
+
// Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
#ifndef Expecta_EXPDefines_h
|
10
|
+
#define Expecta_EXPDefines_h
|
11
|
+
|
12
|
+
typedef void (^EXPBasicBlock)();
|
13
|
+
typedef id (^EXPIdBlock)();
|
14
|
+
typedef BOOL (^EXPBoolBlock)();
|
15
|
+
typedef NSString *(^EXPStringBlock)();
|
16
|
+
|
17
|
+
#endif
|
@@ -0,0 +1,13 @@
|
|
1
|
+
#import <Foundation/Foundation.h>
|
2
|
+
|
3
|
+
@interface EXPDoubleTuple : NSObject {
|
4
|
+
double *_values;
|
5
|
+
size_t _size;
|
6
|
+
}
|
7
|
+
|
8
|
+
@property (nonatomic, assign) double *values;
|
9
|
+
@property (nonatomic, assign) size_t size;
|
10
|
+
|
11
|
+
- (id)initWithDoubleValues:(double *)values size:(size_t)size;
|
12
|
+
|
13
|
+
@end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#import <Foundation/Foundation.h>
|
2
|
+
#import "EXPMatcher.h"
|
3
|
+
#import "EXPDefines.h"
|
4
|
+
|
5
|
+
@interface EXPExpect : NSObject {
|
6
|
+
EXPIdBlock _actualBlock;
|
7
|
+
id _testCase;
|
8
|
+
int _lineNumber;
|
9
|
+
char *_fileName;
|
10
|
+
BOOL _negative;
|
11
|
+
BOOL _asynchronous;
|
12
|
+
NSTimeInterval _timeout;
|
13
|
+
}
|
14
|
+
|
15
|
+
@property(nonatomic, copy) EXPIdBlock actualBlock;
|
16
|
+
@property(nonatomic, readonly) id actual;
|
17
|
+
@property(nonatomic, assign) id testCase;
|
18
|
+
@property(nonatomic) int lineNumber;
|
19
|
+
@property(nonatomic) const char *fileName;
|
20
|
+
@property(nonatomic) BOOL negative;
|
21
|
+
@property(nonatomic) BOOL asynchronous;
|
22
|
+
@property(nonatomic) NSTimeInterval timeout;
|
23
|
+
|
24
|
+
@property(nonatomic, readonly) EXPExpect *to;
|
25
|
+
@property(nonatomic, readonly) EXPExpect *toNot;
|
26
|
+
@property(nonatomic, readonly) EXPExpect *notTo;
|
27
|
+
@property(nonatomic, readonly) EXPExpect *will;
|
28
|
+
@property(nonatomic, readonly) EXPExpect *willNot;
|
29
|
+
@property(nonatomic, readonly) EXPExpect *(^after)(NSTimeInterval timeInterval);
|
30
|
+
|
31
|
+
- (id)initWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName;
|
32
|
+
+ (EXPExpect *)expectWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName;
|
33
|
+
|
34
|
+
- (void)applyMatcher:(id<EXPMatcher>)matcher;
|
35
|
+
- (void)applyMatcher:(id<EXPMatcher>)matcher to:(NSObject **)actual;
|
36
|
+
|
37
|
+
@end
|
38
|
+
|
39
|
+
@interface EXPDynamicPredicateMatcher : NSObject <EXPMatcher> {
|
40
|
+
EXPExpect *_expectation;
|
41
|
+
SEL _selector;
|
42
|
+
}
|
43
|
+
- (id)initWithExpectation:(EXPExpect *)expectation selector:(SEL)selector;
|
44
|
+
- (void (^)(void))dispatch;
|
45
|
+
@end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
#import <Foundation/Foundation.h>
|
2
|
+
|
3
|
+
@interface EXPFloatTuple : NSObject {
|
4
|
+
float *_values;
|
5
|
+
size_t _size;
|
6
|
+
}
|
7
|
+
|
8
|
+
@property (nonatomic, assign) float *values;
|
9
|
+
@property (nonatomic, assign) size_t size;
|
10
|
+
|
11
|
+
- (id)initWithFloatValues:(float *)values size:(size_t)size;
|
12
|
+
|
13
|
+
@end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
//
|
2
|
+
// EXPMatcher.h
|
3
|
+
// Expecta
|
4
|
+
//
|
5
|
+
// Created by Luke Redpath on 26/03/2012.
|
6
|
+
// Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
#import <Foundation/Foundation.h>
|
10
|
+
|
11
|
+
@protocol EXPMatcher <NSObject>
|
12
|
+
|
13
|
+
- (BOOL)matches:(id)actual;
|
14
|
+
|
15
|
+
@optional
|
16
|
+
- (BOOL)meetsPrerequesiteFor:(id)actual;
|
17
|
+
- (NSString *)failureMessageForTo:(id)actual;
|
18
|
+
- (NSString *)failureMessageForNotTo:(id)actual;
|
19
|
+
|
20
|
+
@end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
#import "Expecta.h"
|
2
|
+
|
3
|
+
EXPMatcherInterface(_beCloseToWithin, (id expected, id within));
|
4
|
+
EXPMatcherInterface(beCloseToWithin, (id expected, id within));
|
5
|
+
|
6
|
+
#define beCloseTo(expected) _beCloseToWithin(EXPObjectify((expected)), nil)
|
7
|
+
#define beCloseToWithin(expected, range) _beCloseToWithin(EXPObjectify((expected)), EXPObjectify((range)))
|
@@ -0,0 +1,10 @@
|
|
1
|
+
#import "Expecta.h"
|
2
|
+
|
3
|
+
EXPMatcherInterface(_beIdenticalTo, (void *expected));
|
4
|
+
EXPMatcherInterface(beIdenticalTo, (void *expected)); // to aid code completion
|
5
|
+
|
6
|
+
#if __has_feature(objc_arc)
|
7
|
+
#define beIdenticalTo(expected) _beIdenticalTo((__bridge void*)expected)
|
8
|
+
#else
|
9
|
+
#define beIdenticalTo _beIdenticalTo
|
10
|
+
#endif
|
@@ -0,0 +1,6 @@
|
|
1
|
+
#import "Expecta.h"
|
2
|
+
|
3
|
+
EXPMatcherInterface(_beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound));
|
4
|
+
EXPMatcherInterface(beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound));
|
5
|
+
|
6
|
+
#define beInTheRangeOf(expectedLowerBound, expectedUpperBound) _beInTheRangeOf(EXPObjectify((expectedLowerBound)), EXPObjectify((expectedUpperBound)))
|
@@ -0,0 +1,10 @@
|
|
1
|
+
#import "Expecta.h"
|
2
|
+
|
3
|
+
EXPMatcherInterface(haveCountOf, (NSUInteger expected));
|
4
|
+
|
5
|
+
#define haveCount haveCountOf
|
6
|
+
#define haveACountOf haveCountOf
|
7
|
+
#define haveLength haveCountOf
|
8
|
+
#define haveLengthOf haveCountOf
|
9
|
+
#define haveALengthOf haveCountOf
|
10
|
+
#define beEmpty() haveCountOf(0)
|
@@ -0,0 +1,24 @@
|
|
1
|
+
#import "EXPMatchers+beNil.h"
|
2
|
+
#import "EXPMatchers+equal.h"
|
3
|
+
#import "EXPMatchers+beInstanceOf.h"
|
4
|
+
#import "EXPMatchers+beKindOf.h"
|
5
|
+
#import "EXPMatchers+beSubclassOf.h"
|
6
|
+
#import "EXPMatchers+conformTo.h"
|
7
|
+
#import "EXPMatchers+beTruthy.h"
|
8
|
+
#import "EXPMatchers+beFalsy.h"
|
9
|
+
#import "EXPMatchers+contain.h"
|
10
|
+
#import "EXPMatchers+beSupersetOf.h"
|
11
|
+
#import "EXPMatchers+haveCountOf.h"
|
12
|
+
#import "EXPMatchers+beIdenticalTo.h"
|
13
|
+
#import "EXPMatchers+beGreaterThan.h"
|
14
|
+
#import "EXPMatchers+beGreaterThanOrEqualTo.h"
|
15
|
+
#import "EXPMatchers+beLessThan.h"
|
16
|
+
#import "EXPMatchers+beLessThanOrEqualTo.h"
|
17
|
+
#import "EXPMatchers+beInTheRangeOf.h"
|
18
|
+
#import "EXPMatchers+beCloseTo.h"
|
19
|
+
#import "EXPMatchers+raise.h"
|
20
|
+
#import "EXPMatchers+raiseWithReason.h"
|
21
|
+
#import "EXPMatchers+respondTo.h"
|
22
|
+
#import "EXPMatchers+notify.h"
|
23
|
+
#import "EXPMatchers+beginWith.h"
|
24
|
+
#import "EXPMatchers+endWith.h"
|