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.
Files changed (316) hide show
  1. checksums.yaml +8 -8
  2. data/.gitignore +20 -0
  3. data/.travis.yml +7 -0
  4. data/CHANGELOG +20 -0
  5. data/Demo/Demo/ASHAppDelegate.h +15 -0
  6. data/Demo/Demo/ASHAppDelegate.m +18 -0
  7. data/Demo/Demo/ASHViewController.h +13 -0
  8. data/Demo/Demo/ASHViewController.m +30 -0
  9. data/Demo/Demo/Base.lproj/Main.storyboard +30 -0
  10. data/Demo/Demo/Demo-Info.plist +40 -0
  11. data/Demo/Demo/Demo-Prefix.pch +16 -0
  12. data/Demo/Demo/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  13. data/Demo/Demo/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  14. data/Demo/Demo/en.lproj/InfoPlist.strings +2 -0
  15. data/Demo/Demo/main.m +18 -0
  16. data/Demo/Demo.xcodeproj/project.pbxproj +517 -0
  17. data/Demo/Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  18. data/Demo/Demo.xcodeproj/project.xcworkspace/xcshareddata/Demo.xccheckout +41 -0
  19. data/Demo/Demo.xcodeproj/project.xcworkspace/xcuserdata/ash.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  20. data/Demo/Demo.xcodeproj/xcshareddata/xcschemes/Demo.xcscheme +96 -0
  21. data/Demo/Demo.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/xcschememanagement.plist +27 -0
  22. data/Demo/Demo.xcodeproj/xcuserdata/orta.xcuserdatad/xcschemes/xcschememanagement.plist +27 -0
  23. data/Demo/Demo.xcworkspace/contents.xcworkspacedata +1 -0
  24. data/Demo/Demo.xcworkspace/xcshareddata/Demo.xccheckout +41 -0
  25. data/Demo/Demo.xcworkspace/xcuserdata/ash.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  26. data/Demo/Demo.xcworkspace/xcuserdata/orta.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  27. data/Demo/DemoTests/DemoTests-Info.plist +22 -0
  28. data/Demo/DemoTests/DemoTests.m +52 -0
  29. data/Demo/DemoTests/ReferenceImages/ASHViewControllerSpec/a_view_controller_with_a_loaded_view_should_have_a_valid_snapshot@2x.png +0 -0
  30. data/Demo/DemoTests/ReferenceImages/ASHViewControllerSpec/views_should_be_green@2x.png +0 -0
  31. data/Demo/DemoTests/ReferenceImages/ASHViewControllerSpec/views_should_be_red@2x.png +0 -0
  32. data/Demo/DemoTests/en.lproj/InfoPlist.strings +2 -0
  33. data/Demo/Makefile +15 -0
  34. data/Demo/Podfile +16 -0
  35. data/Demo/Podfile.lock +21 -0
  36. data/Demo/Pods/BuildHeaders/Expecta/EXPBackwardCompatibility.h +42 -0
  37. data/Demo/Pods/BuildHeaders/Expecta/EXPBlockDefinedMatcher.h +25 -0
  38. data/Demo/Pods/BuildHeaders/Expecta/EXPDefines.h +17 -0
  39. data/Demo/Pods/BuildHeaders/Expecta/EXPDoubleTuple.h +13 -0
  40. data/Demo/Pods/BuildHeaders/Expecta/EXPExpect.h +45 -0
  41. data/Demo/Pods/BuildHeaders/Expecta/EXPFloatTuple.h +13 -0
  42. data/Demo/Pods/BuildHeaders/Expecta/EXPMatcher.h +20 -0
  43. data/Demo/Pods/BuildHeaders/Expecta/EXPMatcherHelpers.h +4 -0
  44. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beCloseTo.h +7 -0
  45. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beFalsy.h +3 -0
  46. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beGreaterThan.h +6 -0
  47. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h +6 -0
  48. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beIdenticalTo.h +10 -0
  49. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beInTheRangeOf.h +6 -0
  50. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beInstanceOf.h +7 -0
  51. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beKindOf.h +5 -0
  52. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beLessThan.h +6 -0
  53. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beLessThanOrEqualTo.h +6 -0
  54. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beNil.h +5 -0
  55. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beSubclassOf.h +5 -0
  56. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beSupersetOf.h +4 -0
  57. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beTruthy.h +3 -0
  58. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+beginWith.h +5 -0
  59. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+conformTo.h +3 -0
  60. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+contain.h +5 -0
  61. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+endWith.h +3 -0
  62. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+equal.h +5 -0
  63. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+haveCountOf.h +10 -0
  64. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+notify.h +4 -0
  65. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+raise.h +4 -0
  66. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+raiseWithReason.h +3 -0
  67. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers+respondTo.h +3 -0
  68. data/Demo/Pods/BuildHeaders/Expecta/EXPMatchers.h +24 -0
  69. data/Demo/Pods/BuildHeaders/Expecta/EXPUnsupportedObject.h +11 -0
  70. data/Demo/Pods/BuildHeaders/Expecta/Expecta.h +27 -0
  71. data/Demo/Pods/BuildHeaders/Expecta/ExpectaSupport.h +64 -0
  72. data/Demo/Pods/BuildHeaders/Expecta/NSObject+Expecta.h +14 -0
  73. data/Demo/Pods/BuildHeaders/Expecta/NSValue+Expecta.h +8 -0
  74. data/Demo/Pods/BuildHeaders/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h +21 -0
  75. data/Demo/Pods/BuildHeaders/FBSnapshotTestCase/FBSnapshotTestCase.h +87 -0
  76. data/Demo/Pods/BuildHeaders/FBSnapshotTestCase/FBSnapshotTestController.h +147 -0
  77. data/Demo/Pods/BuildHeaders/FBSnapshotTestCase/UIImage+Compare.h +37 -0
  78. data/Demo/Pods/BuildHeaders/FBSnapshotTestCase/UIImage+Diff.h +37 -0
  79. data/Demo/Pods/BuildHeaders/Specta/SPTExample.h +14 -0
  80. data/Demo/Pods/BuildHeaders/Specta/SPTExampleGroup.h +40 -0
  81. data/Demo/Pods/BuildHeaders/Specta/SPTNestedReporter.h +5 -0
  82. data/Demo/Pods/BuildHeaders/Specta/SPTReporter.h +33 -0
  83. data/Demo/Pods/BuildHeaders/Specta/SPTSharedExampleGroups.h +17 -0
  84. data/Demo/Pods/BuildHeaders/Specta/SPTSpec.h +21 -0
  85. data/Demo/Pods/BuildHeaders/Specta/SPTXCTestCase.h +27 -0
  86. data/Demo/Pods/BuildHeaders/Specta/SPTXCTestReporter.h +9 -0
  87. data/Demo/Pods/BuildHeaders/Specta/Specta.h +70 -0
  88. data/Demo/Pods/BuildHeaders/Specta/SpectaSupport.h +46 -0
  89. data/Demo/Pods/BuildHeaders/Specta/SpectaTypes.h +3 -0
  90. data/Demo/Pods/BuildHeaders/Specta/SpectaUtility.h +14 -0
  91. data/Demo/Pods/BuildHeaders/Specta/XCTestCase+Specta.h +4 -0
  92. data/Demo/Pods/BuildHeaders/Specta/XCTestLog+Specta.h +7 -0
  93. data/Demo/Pods/BuildHeaders/Specta/XCTestRun+Specta.h +8 -0
  94. data/Demo/Pods/Expecta/LICENSE +19 -0
  95. data/Demo/Pods/Expecta/README.md +308 -0
  96. data/Demo/Pods/Expecta/src/EXPBackwardCompatibility.h +42 -0
  97. data/Demo/Pods/Expecta/src/EXPBackwardCompatibility.m +17 -0
  98. data/Demo/Pods/Expecta/src/EXPBlockDefinedMatcher.h +25 -0
  99. data/Demo/Pods/Expecta/src/EXPBlockDefinedMatcher.m +60 -0
  100. data/Demo/Pods/Expecta/src/EXPDefines.h +17 -0
  101. data/Demo/Pods/Expecta/src/EXPDoubleTuple.h +13 -0
  102. data/Demo/Pods/Expecta/src/EXPDoubleTuple.m +42 -0
  103. data/Demo/Pods/Expecta/src/EXPExpect.h +45 -0
  104. data/Demo/Pods/Expecta/src/EXPExpect.m +214 -0
  105. data/Demo/Pods/Expecta/src/EXPFloatTuple.h +13 -0
  106. data/Demo/Pods/Expecta/src/EXPFloatTuple.m +42 -0
  107. data/Demo/Pods/Expecta/src/EXPMatcher.h +20 -0
  108. data/Demo/Pods/Expecta/src/EXPUnsupportedObject.h +11 -0
  109. data/Demo/Pods/Expecta/src/EXPUnsupportedObject.m +20 -0
  110. data/Demo/Pods/Expecta/src/Expecta.h +27 -0
  111. data/Demo/Pods/Expecta/src/Expecta.m +15 -0
  112. data/Demo/Pods/Expecta/src/ExpectaSupport.h +64 -0
  113. data/Demo/Pods/Expecta/src/ExpectaSupport.m +187 -0
  114. data/Demo/Pods/Expecta/src/NSObject+Expecta.h +14 -0
  115. data/Demo/Pods/Expecta/src/NSValue+Expecta.h +8 -0
  116. data/Demo/Pods/Expecta/src/NSValue+Expecta.m +21 -0
  117. data/Demo/Pods/Expecta/src/matchers/EXPMatcherHelpers.h +4 -0
  118. data/Demo/Pods/Expecta/src/matchers/EXPMatcherHelpers.m +9 -0
  119. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beCloseTo.h +7 -0
  120. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beCloseTo.m +49 -0
  121. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beFalsy.h +3 -0
  122. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beFalsy.m +24 -0
  123. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThan.h +6 -0
  124. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThan.m +20 -0
  125. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThanOrEqualTo.h +6 -0
  126. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThanOrEqualTo.m +20 -0
  127. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beIdenticalTo.h +10 -0
  128. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beIdenticalTo.m +24 -0
  129. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beInTheRangeOf.h +6 -0
  130. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beInTheRangeOf.m +30 -0
  131. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beInstanceOf.h +7 -0
  132. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beInstanceOf.m +27 -0
  133. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beKindOf.h +5 -0
  134. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beKindOf.m +27 -0
  135. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beLessThan.h +6 -0
  136. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beLessThan.m +20 -0
  137. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beLessThanOrEqualTo.h +6 -0
  138. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beLessThanOrEqualTo.m +20 -0
  139. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beNil.h +5 -0
  140. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beNil.m +16 -0
  141. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beSubclassOf.h +5 -0
  142. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beSubclassOf.m +27 -0
  143. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beSupersetOf.h +4 -0
  144. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beSupersetOf.m +57 -0
  145. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beTruthy.h +3 -0
  146. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beTruthy.m +24 -0
  147. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beginWith.h +5 -0
  148. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+beginWith.m +49 -0
  149. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+conformTo.h +3 -0
  150. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+conformTo.m +33 -0
  151. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+contain.h +5 -0
  152. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+contain.m +38 -0
  153. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+endWith.h +3 -0
  154. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+endWith.m +49 -0
  155. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+equal.h +5 -0
  156. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+equal.m +24 -0
  157. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+haveCountOf.h +10 -0
  158. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+haveCountOf.m +36 -0
  159. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+notify.h +4 -0
  160. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+notify.m +63 -0
  161. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+raise.h +4 -0
  162. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+raise.m +30 -0
  163. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+raiseWithReason.h +3 -0
  164. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+raiseWithReason.m +35 -0
  165. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+respondTo.h +3 -0
  166. data/Demo/Pods/Expecta/src/matchers/EXPMatchers+respondTo.m +28 -0
  167. data/Demo/Pods/Expecta/src/matchers/EXPMatchers.h +24 -0
  168. data/Demo/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h +21 -0
  169. data/Demo/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.m +308 -0
  170. data/Demo/Pods/Expecta+Snapshots/LICENSE.md +22 -0
  171. data/Demo/Pods/Expecta+Snapshots/README.md +85 -0
  172. data/Demo/Pods/FBSnapshotTestCase/FBSnapshotTestCase.h +87 -0
  173. data/Demo/Pods/FBSnapshotTestCase/FBSnapshotTestCase.m +82 -0
  174. data/Demo/Pods/FBSnapshotTestCase/FBSnapshotTestController.h +147 -0
  175. data/Demo/Pods/FBSnapshotTestCase/FBSnapshotTestController.m +376 -0
  176. data/Demo/Pods/FBSnapshotTestCase/LICENSE +29 -0
  177. data/Demo/Pods/FBSnapshotTestCase/README.md +83 -0
  178. data/Demo/Pods/FBSnapshotTestCase/UIImage+Compare.h +37 -0
  179. data/Demo/Pods/FBSnapshotTestCase/UIImage+Compare.m +87 -0
  180. data/Demo/Pods/FBSnapshotTestCase/UIImage+Diff.h +37 -0
  181. data/Demo/Pods/FBSnapshotTestCase/UIImage+Diff.m +56 -0
  182. data/Demo/Pods/Headers/Expecta/EXPBackwardCompatibility.h +42 -0
  183. data/Demo/Pods/Headers/Expecta/EXPBlockDefinedMatcher.h +25 -0
  184. data/Demo/Pods/Headers/Expecta/EXPDefines.h +17 -0
  185. data/Demo/Pods/Headers/Expecta/EXPDoubleTuple.h +13 -0
  186. data/Demo/Pods/Headers/Expecta/EXPExpect.h +45 -0
  187. data/Demo/Pods/Headers/Expecta/EXPFloatTuple.h +13 -0
  188. data/Demo/Pods/Headers/Expecta/EXPMatcher.h +20 -0
  189. data/Demo/Pods/Headers/Expecta/EXPMatcherHelpers.h +4 -0
  190. data/Demo/Pods/Headers/Expecta/EXPMatchers+beCloseTo.h +7 -0
  191. data/Demo/Pods/Headers/Expecta/EXPMatchers+beFalsy.h +3 -0
  192. data/Demo/Pods/Headers/Expecta/EXPMatchers+beGreaterThan.h +6 -0
  193. data/Demo/Pods/Headers/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h +6 -0
  194. data/Demo/Pods/Headers/Expecta/EXPMatchers+beIdenticalTo.h +10 -0
  195. data/Demo/Pods/Headers/Expecta/EXPMatchers+beInTheRangeOf.h +6 -0
  196. data/Demo/Pods/Headers/Expecta/EXPMatchers+beInstanceOf.h +7 -0
  197. data/Demo/Pods/Headers/Expecta/EXPMatchers+beKindOf.h +5 -0
  198. data/Demo/Pods/Headers/Expecta/EXPMatchers+beLessThan.h +6 -0
  199. data/Demo/Pods/Headers/Expecta/EXPMatchers+beLessThanOrEqualTo.h +6 -0
  200. data/Demo/Pods/Headers/Expecta/EXPMatchers+beNil.h +5 -0
  201. data/Demo/Pods/Headers/Expecta/EXPMatchers+beSubclassOf.h +5 -0
  202. data/Demo/Pods/Headers/Expecta/EXPMatchers+beSupersetOf.h +4 -0
  203. data/Demo/Pods/Headers/Expecta/EXPMatchers+beTruthy.h +3 -0
  204. data/Demo/Pods/Headers/Expecta/EXPMatchers+beginWith.h +5 -0
  205. data/Demo/Pods/Headers/Expecta/EXPMatchers+conformTo.h +3 -0
  206. data/Demo/Pods/Headers/Expecta/EXPMatchers+contain.h +5 -0
  207. data/Demo/Pods/Headers/Expecta/EXPMatchers+endWith.h +3 -0
  208. data/Demo/Pods/Headers/Expecta/EXPMatchers+equal.h +5 -0
  209. data/Demo/Pods/Headers/Expecta/EXPMatchers+haveCountOf.h +10 -0
  210. data/Demo/Pods/Headers/Expecta/EXPMatchers+notify.h +4 -0
  211. data/Demo/Pods/Headers/Expecta/EXPMatchers+raise.h +4 -0
  212. data/Demo/Pods/Headers/Expecta/EXPMatchers+raiseWithReason.h +3 -0
  213. data/Demo/Pods/Headers/Expecta/EXPMatchers+respondTo.h +3 -0
  214. data/Demo/Pods/Headers/Expecta/EXPMatchers.h +24 -0
  215. data/Demo/Pods/Headers/Expecta/EXPUnsupportedObject.h +11 -0
  216. data/Demo/Pods/Headers/Expecta/Expecta.h +27 -0
  217. data/Demo/Pods/Headers/Expecta/ExpectaSupport.h +64 -0
  218. data/Demo/Pods/Headers/Expecta/NSObject+Expecta.h +14 -0
  219. data/Demo/Pods/Headers/Expecta/NSValue+Expecta.h +8 -0
  220. data/Demo/Pods/Headers/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h +21 -0
  221. data/Demo/Pods/Headers/FBSnapshotTestCase/FBSnapshotTestCase.h +87 -0
  222. data/Demo/Pods/Headers/FBSnapshotTestCase/FBSnapshotTestController.h +147 -0
  223. data/Demo/Pods/Headers/FBSnapshotTestCase/UIImage+Compare.h +37 -0
  224. data/Demo/Pods/Headers/FBSnapshotTestCase/UIImage+Diff.h +37 -0
  225. data/Demo/Pods/Headers/Specta/SPTExample.h +14 -0
  226. data/Demo/Pods/Headers/Specta/SPTExampleGroup.h +40 -0
  227. data/Demo/Pods/Headers/Specta/SPTNestedReporter.h +5 -0
  228. data/Demo/Pods/Headers/Specta/SPTReporter.h +33 -0
  229. data/Demo/Pods/Headers/Specta/SPTSharedExampleGroups.h +17 -0
  230. data/Demo/Pods/Headers/Specta/SPTSpec.h +21 -0
  231. data/Demo/Pods/Headers/Specta/SPTXCTestCase.h +27 -0
  232. data/Demo/Pods/Headers/Specta/SPTXCTestReporter.h +9 -0
  233. data/Demo/Pods/Headers/Specta/Specta.h +70 -0
  234. data/Demo/Pods/Headers/Specta/SpectaSupport.h +46 -0
  235. data/Demo/Pods/Headers/Specta/SpectaTypes.h +3 -0
  236. data/Demo/Pods/Headers/Specta/SpectaUtility.h +14 -0
  237. data/Demo/Pods/Headers/Specta/XCTestCase+Specta.h +4 -0
  238. data/Demo/Pods/Headers/Specta/XCTestLog+Specta.h +7 -0
  239. data/Demo/Pods/Headers/Specta/XCTestRun+Specta.h +8 -0
  240. data/Demo/Pods/Manifest.lock +21 -0
  241. data/Demo/Pods/Pods-DemoTests-EXPMatchers+FBSnapshotTest-Private.xcconfig +6 -0
  242. data/Demo/Pods/Pods-DemoTests-EXPMatchers+FBSnapshotTest-dummy.m +5 -0
  243. data/Demo/Pods/Pods-DemoTests-EXPMatchers+FBSnapshotTest-prefix.pch +5 -0
  244. data/Demo/Pods/Pods-DemoTests-EXPMatchers+FBSnapshotTest.xcconfig +2 -0
  245. data/Demo/Pods/Pods-DemoTests-Expecta+Snapshots-Private.xcconfig +6 -0
  246. data/Demo/Pods/Pods-DemoTests-Expecta+Snapshots-dummy.m +5 -0
  247. data/Demo/Pods/Pods-DemoTests-Expecta+Snapshots-prefix.pch +5 -0
  248. data/Demo/Pods/Pods-DemoTests-Expecta+Snapshots.xcconfig +2 -0
  249. data/Demo/Pods/Pods-DemoTests-Expecta-Private.xcconfig +5 -0
  250. data/Demo/Pods/Pods-DemoTests-Expecta-dummy.m +5 -0
  251. data/Demo/Pods/Pods-DemoTests-Expecta-prefix.pch +5 -0
  252. data/Demo/Pods/Pods-DemoTests-Expecta.xcconfig +1 -0
  253. data/Demo/Pods/Pods-DemoTests-FBSnapshotTestCase-Private.xcconfig +6 -0
  254. data/Demo/Pods/Pods-DemoTests-FBSnapshotTestCase-dummy.m +5 -0
  255. data/Demo/Pods/Pods-DemoTests-FBSnapshotTestCase-prefix.pch +6 -0
  256. data/Demo/Pods/Pods-DemoTests-FBSnapshotTestCase.xcconfig +2 -0
  257. data/Demo/Pods/Pods-DemoTests-Specta-Private.xcconfig +6 -0
  258. data/Demo/Pods/Pods-DemoTests-Specta-dummy.m +5 -0
  259. data/Demo/Pods/Pods-DemoTests-Specta-prefix.pch +5 -0
  260. data/Demo/Pods/Pods-DemoTests-Specta.xcconfig +2 -0
  261. data/Demo/Pods/Pods-DemoTests-acknowledgements.markdown +109 -0
  262. data/Demo/Pods/Pods-DemoTests-acknowledgements.plist +151 -0
  263. data/Demo/Pods/Pods-DemoTests-dummy.m +5 -0
  264. data/Demo/Pods/Pods-DemoTests-environment.h +32 -0
  265. data/Demo/Pods/Pods-DemoTests-resources.sh +68 -0
  266. data/Demo/Pods/Pods-DemoTests.xcconfig +6 -0
  267. data/Demo/Pods/Pods.xcodeproj/project.pbxproj +1390 -0
  268. data/Demo/Pods/Pods.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/Pods-DemoTests-Expecta+Snapshots.xcscheme +59 -0
  269. data/Demo/Pods/Pods.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/Pods-DemoTests-Expecta.xcscheme +59 -0
  270. data/Demo/Pods/Pods.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/Pods-DemoTests-FBSnapshotTestCase.xcscheme +59 -0
  271. data/Demo/Pods/Pods.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/Pods-DemoTests-Specta.xcscheme +59 -0
  272. data/Demo/Pods/Pods.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/Pods-DemoTests.xcscheme +59 -0
  273. data/Demo/Pods/Pods.xcodeproj/xcuserdata/ash.xcuserdatad/xcschemes/xcschememanagement.plist +62 -0
  274. data/Demo/Pods/Specta/LICENSE +20 -0
  275. data/Demo/Pods/Specta/README.md +146 -0
  276. data/Demo/Pods/Specta/src/SPTExample.h +14 -0
  277. data/Demo/Pods/Specta/src/SPTExample.m +16 -0
  278. data/Demo/Pods/Specta/src/SPTExampleGroup.h +40 -0
  279. data/Demo/Pods/Specta/src/SPTExampleGroup.m +326 -0
  280. data/Demo/Pods/Specta/src/SPTNestedReporter.h +5 -0
  281. data/Demo/Pods/Specta/src/SPTNestedReporter.m +194 -0
  282. data/Demo/Pods/Specta/src/SPTReporter.h +33 -0
  283. data/Demo/Pods/Specta/src/SPTReporter.m +134 -0
  284. data/Demo/Pods/Specta/src/SPTSharedExampleGroups.h +17 -0
  285. data/Demo/Pods/Specta/src/SPTSharedExampleGroups.m +62 -0
  286. data/Demo/Pods/Specta/src/SPTSpec.h +21 -0
  287. data/Demo/Pods/Specta/src/SPTSpec.m +31 -0
  288. data/Demo/Pods/Specta/src/SPTXCTestCase.h +27 -0
  289. data/Demo/Pods/Specta/src/SPTXCTestCase.m +151 -0
  290. data/Demo/Pods/Specta/src/SPTXCTestReporter.h +9 -0
  291. data/Demo/Pods/Specta/src/SPTXCTestReporter.m +11 -0
  292. data/Demo/Pods/Specta/src/Specta.h +70 -0
  293. data/Demo/Pods/Specta/src/Specta.m +144 -0
  294. data/Demo/Pods/Specta/src/SpectaSupport.h +46 -0
  295. data/Demo/Pods/Specta/src/SpectaTypes.h +3 -0
  296. data/Demo/Pods/Specta/src/SpectaUtility.h +14 -0
  297. data/Demo/Pods/Specta/src/SpectaUtility.m +65 -0
  298. data/Demo/Pods/Specta/src/XCTestCase+Specta.h +4 -0
  299. data/Demo/Pods/Specta/src/XCTestCase+Specta.m +26 -0
  300. data/Demo/Pods/Specta/src/XCTestLog+Specta.h +7 -0
  301. data/Demo/Pods/Specta/src/XCTestLog+Specta.m +49 -0
  302. data/Demo/Pods/Specta/src/XCTestRun+Specta.h +8 -0
  303. data/Demo/Pods/Specta/src/XCTestRun+Specta.m +44 -0
  304. data/Gemfile +5 -0
  305. data/LICENSE +21 -0
  306. data/README.md +146 -0
  307. data/Rakefile +7 -0
  308. data/second_curtain.gemspec +20 -0
  309. data/spec/sample_output.txt +79 -0
  310. data/spec/second_shutter/kaleidoscope_command_spec.rb +25 -0
  311. data/spec/second_shutter/parser_spec.rb +39 -0
  312. data/spec/second_shutter/test_suite_spec.rb +32 -0
  313. data/spec/second_shutter/upload_manager_spec.rb +60 -0
  314. data/spec/second_shutter/upload_spec.rb +34 -0
  315. data/spec/second_shutter/xcode_test_case_spec.rb +22 -0
  316. 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>
@@ -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
@@ -0,0 +1,2 @@
1
+ /* Localized versions of Info.plist keys */
2
+
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,4 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+ BOOL EXPIsValuePointer(NSValue *value);
4
+ BOOL EXPIsNumberFloat(NSNumber *number);
@@ -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,3 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(beFalsy, (void));
@@ -0,0 +1,6 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(_beGreaterThan, (id expected));
4
+ EXPMatcherInterface(beGreaterThan, (id expected));
5
+
6
+ #define beGreaterThan(expected) _beGreaterThan(EXPObjectify((expected)))
@@ -0,0 +1,6 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(_beGreaterThanOrEqualTo, (id expected));
4
+ EXPMatcherInterface(beGreaterThanOrEqualTo, (id expected));
5
+
6
+ #define beGreaterThanOrEqualTo(expected) _beGreaterThanOrEqualTo(EXPObjectify((expected)))
@@ -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,7 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(beInstanceOf, (Class expected));
4
+
5
+ #define beAnInstanceOf beInstanceOf
6
+ #define beMemberOf beInstanceOf
7
+ #define beAMemberOf beInstanceOf
@@ -0,0 +1,5 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(beKindOf, (Class expected));
4
+
5
+ #define beAKindOf beKindOf
@@ -0,0 +1,6 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(_beLessThan, (id expected));
4
+ EXPMatcherInterface(beLessThan, (id expected));
5
+
6
+ #define beLessThan(expected) _beLessThan(EXPObjectify((expected)))
@@ -0,0 +1,6 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(_beLessThanOrEqualTo, (id expected));
4
+ EXPMatcherInterface(beLessThanOrEqualTo, (id expected));
5
+
6
+ #define beLessThanOrEqualTo(expected) _beLessThanOrEqualTo(EXPObjectify((expected)))
@@ -0,0 +1,5 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(beNil, (void));
4
+
5
+ #define beNull beNil
@@ -0,0 +1,5 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(beSubclassOf, (Class expected));
4
+
5
+ #define beASubclassOf beSubclassOf
@@ -0,0 +1,4 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(beSupersetOf, (id subset));
4
+
@@ -0,0 +1,3 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(beTruthy, (void));
@@ -0,0 +1,5 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(beginWith, (id expected));
4
+
5
+ #define startWith beginWith
@@ -0,0 +1,3 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(conformTo, (Protocol *expected));
@@ -0,0 +1,5 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(_contain, (id expected));
4
+ EXPMatcherInterface(contain, (id expected)); // to aid code completion
5
+ #define contain(expected) _contain(EXPObjectify((expected)))
@@ -0,0 +1,3 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(endWith, (id expected));
@@ -0,0 +1,5 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(_equal, (id expected));
4
+ EXPMatcherInterface(equal, (id expected)); // to aid code completion
5
+ #define equal(...) _equal(EXPObjectify((__VA_ARGS__)))
@@ -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,4 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(notify, (id expectedNotification));
4
+
@@ -0,0 +1,4 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(raise, (NSString *expectedExceptionName));
4
+ #define raiseAny() raise(nil)
@@ -0,0 +1,3 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(raiseWithReason, (NSString *expectedExceptionName, NSString *expectedReason));
@@ -0,0 +1,3 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(respondTo, (SEL expected));
@@ -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"
@@ -0,0 +1,11 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+ @interface EXPUnsupportedObject : NSObject {
4
+ NSString *_type;
5
+ }
6
+
7
+ @property (nonatomic, retain) NSString *type;
8
+
9
+ - (id)initWithType:(NSString *)type;
10
+
11
+ @end