second_curtain 0.2.2 → 0.2.3
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 +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"
|