cocoapods-deintegrate 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (314) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +16 -19
  3. data/cocoapods_deintegrate.gemspec +1 -1
  4. data/lib/cocoapods_deintegrate.rb +1 -1
  5. data/lib/pod/command/deintegrate.rb +27 -15
  6. data/spec/command/deintegrate_spec.rb +47 -1
  7. data/spec/fixtures/Project/Frameworks/Podfile +12 -0
  8. data/spec/fixtures/Project/Frameworks/Podfile.lock +42 -0
  9. data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/QueryKit/QKAttribute.h +210 -0
  10. data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/QueryKit/QKQuerySet.h +155 -0
  11. data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/QueryKit/QueryKit.h +19 -0
  12. data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/NSString+QCKSelectorName.h +17 -0
  13. data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/QCKDSL.h +211 -0
  14. data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/Quick.h +13 -0
  15. data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/QuickConfiguration.h +30 -0
  16. data/spec/fixtures/Project/Frameworks/Pods/Headers/Private/Quick/QuickSpec.h +48 -0
  17. data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/QueryKit/QKAttribute.h +210 -0
  18. data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/QueryKit/QKQuerySet.h +155 -0
  19. data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/QueryKit/QueryKit.h +19 -0
  20. data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/NSString+QCKSelectorName.h +17 -0
  21. data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/QCKDSL.h +211 -0
  22. data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/Quick.h +13 -0
  23. data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/QuickConfiguration.h +30 -0
  24. data/spec/fixtures/Project/Frameworks/Pods/Headers/Public/Quick/QuickSpec.h +48 -0
  25. data/spec/fixtures/Project/Frameworks/Pods/Manifest.lock +42 -0
  26. data/spec/fixtures/Project/Frameworks/Pods/Pods.xcodeproj/project.pbxproj +995 -0
  27. data/spec/fixtures/Project/Frameworks/Pods/QueryKit/LICENSE +23 -0
  28. data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/Attribute.swift +124 -0
  29. data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/Expression.swift +41 -0
  30. data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKAttribute.h +210 -0
  31. data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKAttribute.m +315 -0
  32. data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKAttribute.swift +13 -0
  33. data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKQuerySet.h +155 -0
  34. data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKQuerySet.m +314 -0
  35. data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/ObjectiveC/QKQuerySet.swift +28 -0
  36. data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/Predicate.swift +21 -0
  37. data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/QueryKit.h +19 -0
  38. data/spec/fixtures/Project/Frameworks/Pods/QueryKit/QueryKit/QuerySet.swift +237 -0
  39. data/spec/fixtures/Project/Frameworks/Pods/QueryKit/README.md +151 -0
  40. data/spec/fixtures/Project/Frameworks/Pods/Quick/LICENSE +201 -0
  41. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Callsite.swift +28 -0
  42. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Configuration/Configuration.swift +147 -0
  43. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Configuration/QuickConfiguration.h +30 -0
  44. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Configuration/QuickConfiguration.m +83 -0
  45. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/DSL/DSL.swift +227 -0
  46. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/DSL/QCKDSL.h +211 -0
  47. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/DSL/QCKDSL.m +70 -0
  48. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/DSL/World+DSL.swift +100 -0
  49. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Example.swift +103 -0
  50. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/ExampleGroup.swift +97 -0
  51. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/ExampleMetadata.swift +22 -0
  52. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Failure.swift +16 -0
  53. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Filter.swift +29 -0
  54. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Hooks/Closures.swift +35 -0
  55. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Hooks/ExampleHooks.swift +36 -0
  56. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Hooks/SuiteHooks.swift +34 -0
  57. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/NSString+QCKSelectorName.h +17 -0
  58. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/NSString+QCKSelectorName.m +33 -0
  59. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/Quick.h +13 -0
  60. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/QuickSpec.h +48 -0
  61. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/QuickSpec.m +142 -0
  62. data/spec/fixtures/Project/Frameworks/Pods/Quick/Quick/World.swift +197 -0
  63. data/spec/fixtures/Project/Frameworks/Pods/Quick/README.md +979 -0
  64. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Info.plist +26 -0
  65. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit-Private.xcconfig +9 -0
  66. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit-dummy.m +5 -0
  67. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit-prefix.pch +5 -0
  68. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit-umbrella.h +9 -0
  69. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit.modulemap +6 -0
  70. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit.xcconfig b/data/spec/fixtures/Project/Frameworks/Pods/Target Support → Files/Pods-TestProject-QueryKit/Pods-TestProject-QueryKit.xcconfig +0 -0
  71. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Info.plist +26 -0
  72. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-acknowledgements.markdown +30 -0
  73. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-acknowledgements.plist +60 -0
  74. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-dummy.m +5 -0
  75. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-environment.h +74 -0
  76. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-frameworks.sh +55 -0
  77. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-resources.sh +74 -0
  78. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-umbrella.h +6 -0
  79. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.debug.xcconfig +9 -0
  80. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.modulemap +6 -0
  81. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.release.xcconfig +9 -0
  82. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Info.plist +26 -0
  83. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick-Private.xcconfig +9 -0
  84. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick-dummy.m +5 -0
  85. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick-prefix.pch +5 -0
  86. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick-umbrella.h +11 -0
  87. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick.modulemap +6 -0
  88. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests-Quick/Pods-TestProjectTests-Quick.xcconfig +2 -0
  89. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Info.plist +26 -0
  90. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-acknowledgements.markdown +208 -0
  91. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-acknowledgements.plist +238 -0
  92. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-dummy.m +5 -0
  93. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-environment.h +14 -0
  94. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-frameworks.sh +55 -0
  95. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-resources.sh +74 -0
  96. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-umbrella.h +6 -0
  97. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.debug.xcconfig +9 -0
  98. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.modulemap +6 -0
  99. data/spec/fixtures/Project/Frameworks/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.release.xcconfig +9 -0
  100. data/spec/fixtures/Project/Frameworks/TestProject.xcodeproj/project.pbxproj +557 -0
  101. data/spec/fixtures/Project/Frameworks/TestProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  102. data/spec/fixtures/Project/Frameworks/TestProject.xcworkspace/contents.xcworkspacedata +10 -0
  103. data/spec/fixtures/Project/Frameworks/TestProject/AppDelegate.swift +46 -0
  104. data/spec/fixtures/Project/Frameworks/TestProject/Base.lproj/LaunchScreen.xib +41 -0
  105. data/spec/fixtures/Project/Frameworks/TestProject/Base.lproj/Main.storyboard +25 -0
  106. data/spec/fixtures/Project/Frameworks/TestProject/Images.xcassets/AppIcon.appiconset/Contents.json +38 -0
  107. data/spec/fixtures/Project/Frameworks/TestProject/Info.plist +40 -0
  108. data/spec/fixtures/Project/Frameworks/TestProject/ViewController.swift +25 -0
  109. data/spec/fixtures/Project/Frameworks/TestProjectTests/Info.plist +24 -0
  110. data/spec/fixtures/Project/Frameworks/TestProjectTests/TestProjectTests.swift +36 -0
  111. data/spec/fixtures/Project/None/TestProject.xcodeproj/project.pbxproj +420 -0
  112. data/spec/fixtures/Project/None/TestProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  113. data/spec/fixtures/Project/None/TestProject/AppDelegate.swift +46 -0
  114. data/spec/fixtures/Project/None/TestProject/Base.lproj/LaunchScreen.xib +41 -0
  115. data/spec/fixtures/Project/None/TestProject/Base.lproj/Main.storyboard +25 -0
  116. data/spec/fixtures/Project/None/TestProject/Images.xcassets/AppIcon.appiconset/Contents.json +38 -0
  117. data/spec/fixtures/Project/None/TestProject/Info.plist +40 -0
  118. data/spec/fixtures/Project/None/TestProject/ViewController.swift +25 -0
  119. data/spec/fixtures/Project/None/TestProjectTests/Info.plist +24 -0
  120. data/spec/fixtures/Project/None/TestProjectTests/TestProjectTests.swift +36 -0
  121. data/spec/fixtures/Project/StaticLibraries/Podfile +12 -0
  122. data/spec/fixtures/Project/StaticLibraries/Podfile.lock +13 -0
  123. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/LICENSE +19 -0
  124. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/README.md +308 -0
  125. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPBackwardCompatibility.h +42 -0
  126. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPBackwardCompatibility.m +17 -0
  127. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPBlockDefinedMatcher.h +25 -0
  128. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPBlockDefinedMatcher.m +60 -0
  129. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPDefines.h +17 -0
  130. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPDoubleTuple.h +13 -0
  131. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPDoubleTuple.m +42 -0
  132. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPExpect.h +45 -0
  133. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPExpect.m +214 -0
  134. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPFloatTuple.h +13 -0
  135. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPFloatTuple.m +42 -0
  136. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPMatcher.h +20 -0
  137. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPUnsupportedObject.h +11 -0
  138. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/EXPUnsupportedObject.m +20 -0
  139. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/Expecta.h +27 -0
  140. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/Expecta.m +15 -0
  141. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/ExpectaSupport.h +64 -0
  142. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/ExpectaSupport.m +187 -0
  143. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/NSObject+Expecta.h +14 -0
  144. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/NSValue+Expecta.h +8 -0
  145. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/NSValue+Expecta.m +21 -0
  146. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatcherHelpers.h +4 -0
  147. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatcherHelpers.m +9 -0
  148. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beCloseTo.h +7 -0
  149. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beCloseTo.m +49 -0
  150. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beFalsy.h +3 -0
  151. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beFalsy.m +24 -0
  152. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThan.h +6 -0
  153. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThan.m +20 -0
  154. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThanOrEqualTo.h +6 -0
  155. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beGreaterThanOrEqualTo.m +20 -0
  156. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beIdenticalTo.h +10 -0
  157. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beIdenticalTo.m +24 -0
  158. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beInTheRangeOf.h +6 -0
  159. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beInTheRangeOf.m +30 -0
  160. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beInstanceOf.h +7 -0
  161. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beInstanceOf.m +27 -0
  162. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beKindOf.h +5 -0
  163. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beKindOf.m +27 -0
  164. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beLessThan.h +6 -0
  165. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beLessThan.m +20 -0
  166. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beLessThanOrEqualTo.h +6 -0
  167. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beLessThanOrEqualTo.m +20 -0
  168. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beNil.h +5 -0
  169. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beNil.m +16 -0
  170. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beSubclassOf.h +5 -0
  171. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beSubclassOf.m +27 -0
  172. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beSupersetOf.h +4 -0
  173. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beSupersetOf.m +57 -0
  174. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beTruthy.h +3 -0
  175. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beTruthy.m +24 -0
  176. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beginWith.h +5 -0
  177. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+beginWith.m +49 -0
  178. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+conformTo.h +3 -0
  179. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+conformTo.m +33 -0
  180. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+contain.h +5 -0
  181. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+contain.m +38 -0
  182. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+endWith.h +3 -0
  183. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+endWith.m +49 -0
  184. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+equal.h +5 -0
  185. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+equal.m +24 -0
  186. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+haveCountOf.h +10 -0
  187. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+haveCountOf.m +36 -0
  188. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+notify.h +4 -0
  189. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+notify.m +63 -0
  190. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+raise.h +4 -0
  191. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+raise.m +30 -0
  192. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+raiseWithReason.h +3 -0
  193. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+raiseWithReason.m +35 -0
  194. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+respondTo.h +3 -0
  195. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers+respondTo.m +28 -0
  196. data/spec/fixtures/Project/StaticLibraries/Pods/Expecta/src/matchers/EXPMatchers.h +24 -0
  197. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPBackwardCompatibility.h +42 -0
  198. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPBlockDefinedMatcher.h +25 -0
  199. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPDefines.h +17 -0
  200. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPDoubleTuple.h +13 -0
  201. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPExpect.h +45 -0
  202. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPFloatTuple.h +13 -0
  203. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatcher.h +20 -0
  204. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatcherHelpers.h +4 -0
  205. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beCloseTo.h +7 -0
  206. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beFalsy.h +3 -0
  207. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThan.h +6 -0
  208. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h +6 -0
  209. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beIdenticalTo.h +10 -0
  210. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beInTheRangeOf.h +6 -0
  211. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beInstanceOf.h +7 -0
  212. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beKindOf.h +5 -0
  213. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beLessThan.h +6 -0
  214. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beLessThanOrEqualTo.h +6 -0
  215. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beNil.h +5 -0
  216. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beSubclassOf.h +5 -0
  217. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beSupersetOf.h +4 -0
  218. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beTruthy.h +3 -0
  219. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+beginWith.h +5 -0
  220. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+conformTo.h +3 -0
  221. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+contain.h +5 -0
  222. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+endWith.h +3 -0
  223. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+equal.h +5 -0
  224. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+haveCountOf.h +10 -0
  225. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+notify.h +4 -0
  226. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+raise.h +4 -0
  227. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+raiseWithReason.h +3 -0
  228. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers+respondTo.h +3 -0
  229. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPMatchers.h +24 -0
  230. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/EXPUnsupportedObject.h +11 -0
  231. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/Expecta.h +27 -0
  232. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/ExpectaSupport.h +64 -0
  233. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/NSObject+Expecta.h +14 -0
  234. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/Expecta/NSValue+Expecta.h +8 -0
  235. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Private/NSAttributedString+CCLFormat/NSAttributedString+CCLFormat.h +21 -0
  236. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPBackwardCompatibility.h +42 -0
  237. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPBlockDefinedMatcher.h +25 -0
  238. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPDefines.h +17 -0
  239. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPDoubleTuple.h +13 -0
  240. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPExpect.h +45 -0
  241. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPFloatTuple.h +13 -0
  242. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatcher.h +20 -0
  243. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatcherHelpers.h +4 -0
  244. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beCloseTo.h +7 -0
  245. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beFalsy.h +3 -0
  246. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beGreaterThan.h +6 -0
  247. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h +6 -0
  248. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beIdenticalTo.h +10 -0
  249. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beInTheRangeOf.h +6 -0
  250. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beInstanceOf.h +7 -0
  251. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beKindOf.h +5 -0
  252. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beLessThan.h +6 -0
  253. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beLessThanOrEqualTo.h +6 -0
  254. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beNil.h +5 -0
  255. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beSubclassOf.h +5 -0
  256. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beSupersetOf.h +4 -0
  257. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beTruthy.h +3 -0
  258. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+beginWith.h +5 -0
  259. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+conformTo.h +3 -0
  260. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+contain.h +5 -0
  261. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+endWith.h +3 -0
  262. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+equal.h +5 -0
  263. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+haveCountOf.h +10 -0
  264. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+notify.h +4 -0
  265. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+raise.h +4 -0
  266. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+raiseWithReason.h +3 -0
  267. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers+respondTo.h +3 -0
  268. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPMatchers.h +24 -0
  269. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/EXPUnsupportedObject.h +11 -0
  270. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/Expecta.h +27 -0
  271. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/ExpectaSupport.h +64 -0
  272. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/NSObject+Expecta.h +14 -0
  273. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/Expecta/NSValue+Expecta.h +8 -0
  274. data/spec/fixtures/Project/StaticLibraries/Pods/Headers/Public/NSAttributedString+CCLFormat/NSAttributedString+CCLFormat.h +21 -0
  275. data/spec/fixtures/Project/StaticLibraries/Pods/Manifest.lock +13 -0
  276. data/spec/fixtures/Project/StaticLibraries/Pods/NSAttributedString+CCLFormat/LICENSE +23 -0
  277. data/spec/fixtures/Project/StaticLibraries/Pods/NSAttributedString+CCLFormat/NSAttributedString+CCLFormat.h +21 -0
  278. data/spec/fixtures/Project/StaticLibraries/Pods/NSAttributedString+CCLFormat/NSAttributedString+CCLFormat.m +51 -0
  279. data/spec/fixtures/Project/StaticLibraries/Pods/NSAttributedString+CCLFormat/README.md +57 -0
  280. data/spec/fixtures/Project/StaticLibraries/Pods/Pods.xcodeproj/project.pbxproj +943 -0
  281. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject-NSAttributedString+CCLFormat/Pods-TestProject-NSAttributedString+CCLFormat-Private.xcconfig +5 -0
  282. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject-NSAttributedString+CCLFormat/Pods-TestProject-NSAttributedString+CCLFormat-dummy.m +5 -0
  283. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject-NSAttributedString+CCLFormat/Pods-TestProject-NSAttributedString+CCLFormat-prefix.pch +5 -0
  284. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject-NSAttributedString+CCLFormat/Pods-TestProject-NSAttributedString+CCLFormat.xcconfig b/data/spec/fixtures/Project/StaticLibraries/Pods/Target Support → Files/Pods-TestProject-NSAttributedString+CCLFormat/Pods-TestProject-NSAttributedString+CCLFormat.xcconfig +0 -0
  285. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-acknowledgements.markdown +30 -0
  286. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-acknowledgements.plist +60 -0
  287. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-dummy.m +5 -0
  288. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-environment.h +14 -0
  289. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject-resources.sh +74 -0
  290. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.debug.xcconfig +6 -0
  291. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProject/Pods-TestProject.release.xcconfig +6 -0
  292. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests-Expecta/Pods-TestProjectTests-Expecta-Private.xcconfig +5 -0
  293. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests-Expecta/Pods-TestProjectTests-Expecta-dummy.m +5 -0
  294. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests-Expecta/Pods-TestProjectTests-Expecta-prefix.pch +5 -0
  295. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests-Expecta/Pods-TestProjectTests-Expecta.xcconfig +1 -0
  296. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-acknowledgements.markdown +26 -0
  297. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-acknowledgements.plist +56 -0
  298. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-dummy.m +5 -0
  299. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-environment.h +14 -0
  300. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests-resources.sh +74 -0
  301. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.debug.xcconfig +6 -0
  302. data/spec/fixtures/Project/StaticLibraries/Pods/Target Support Files/Pods-TestProjectTests/Pods-TestProjectTests.release.xcconfig +6 -0
  303. data/spec/fixtures/Project/StaticLibraries/TestProject.xcodeproj/project.pbxproj +525 -0
  304. data/spec/fixtures/Project/StaticLibraries/TestProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  305. data/spec/fixtures/Project/StaticLibraries/TestProject.xcworkspace/contents.xcworkspacedata +10 -0
  306. data/spec/fixtures/Project/StaticLibraries/TestProject/AppDelegate.swift +46 -0
  307. data/spec/fixtures/Project/StaticLibraries/TestProject/Base.lproj/LaunchScreen.xib +41 -0
  308. data/spec/fixtures/Project/StaticLibraries/TestProject/Base.lproj/Main.storyboard +25 -0
  309. data/spec/fixtures/Project/StaticLibraries/TestProject/Images.xcassets/AppIcon.appiconset/Contents.json +38 -0
  310. data/spec/fixtures/Project/StaticLibraries/TestProject/Info.plist +40 -0
  311. data/spec/fixtures/Project/StaticLibraries/TestProject/ViewController.swift +25 -0
  312. data/spec/fixtures/Project/StaticLibraries/TestProjectTests/Info.plist +24 -0
  313. data/spec/fixtures/Project/StaticLibraries/TestProjectTests/TestProjectTests.swift +36 -0
  314. metadata +620 -7
@@ -0,0 +1,3 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(beTruthy, (void));
@@ -0,0 +1,24 @@
1
+ #import "EXPMatchers+beTruthy.h"
2
+ #import "EXPMatcherHelpers.h"
3
+
4
+ EXPMatcherImplementationBegin(beTruthy, (void)) {
5
+ match(^BOOL{
6
+ if([actual isKindOfClass:[NSNumber class]]) {
7
+ return !![(NSNumber *)actual boolValue];
8
+ } else if([actual isKindOfClass:[NSValue class]]) {
9
+ if(EXPIsValuePointer((NSValue *)actual)) {
10
+ return !![(NSValue *)actual pointerValue];
11
+ }
12
+ }
13
+ return !!actual;
14
+ });
15
+
16
+ failureMessageForTo(^NSString *{
17
+ return [NSString stringWithFormat:@"expected: a truthy value, got: %@, which is falsy", EXPDescribeObject(actual)];
18
+ });
19
+
20
+ failureMessageForNotTo(^NSString *{
21
+ return [NSString stringWithFormat:@"expected: a non-truthy value, got: %@, which is truthy", EXPDescribeObject(actual)];
22
+ });
23
+ }
24
+ EXPMatcherImplementationEnd
@@ -0,0 +1,5 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(beginWith, (id expected));
4
+
5
+ #define startWith beginWith
@@ -0,0 +1,49 @@
1
+ #import "EXPMatchers+beginWith.h"
2
+
3
+ EXPMatcherImplementationBegin(beginWith, (id expected)) {
4
+ BOOL actualIsNil = (actual == nil);
5
+ BOOL expectedIsNil = (expected == nil);
6
+ //This condition allows the comparison of an immutable string or ordered collection to the mutable type of the same
7
+ BOOL actualAndExpectedAreCompatible = (([actual isKindOfClass:[NSString class]] && [expected isKindOfClass:[NSString class]])
8
+ || ([actual isKindOfClass:[NSArray class]] && [expected isKindOfClass:[NSArray class]])
9
+ || ([actual isKindOfClass:[NSOrderedSet class]] && [expected isKindOfClass:[NSOrderedSet class]]));
10
+
11
+ prerequisite(^BOOL {
12
+ return actualAndExpectedAreCompatible;
13
+ });
14
+
15
+ match(^BOOL {
16
+ if ([actual isKindOfClass:[NSString class]]) {
17
+ return [actual hasPrefix:expected];
18
+ } else if ([actual isKindOfClass:[NSArray class]]) {
19
+ if ([expected count] > [actual count] || [expected count] == 0) {
20
+ return NO;
21
+ }
22
+ NSArray *subArray = [actual subarrayWithRange:NSMakeRange(0, [expected count])];
23
+ return [subArray isEqualToArray:expected];
24
+ } else {
25
+ if ([expected count] > [actual count] || [expected count] == 0) {
26
+ return NO;
27
+ }
28
+
29
+ NSOrderedSet *subset = [NSOrderedSet orderedSetWithOrderedSet:actual range:NSMakeRange(0, [expected count]) copyItems:NO];
30
+ return [subset isEqualToOrderedSet:expected];
31
+ }
32
+ });
33
+
34
+ failureMessageForTo(^NSString *{
35
+ if (actualIsNil) return @"the object is nil/null";
36
+ if (expectedIsNil) return @"the expected value is nil/null";
37
+ if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];
38
+ return [NSString stringWithFormat:@"expected: %@ to begin with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
39
+ });
40
+
41
+ failureMessageForNotTo(^NSString *{
42
+ if (actualIsNil) return @"the object is nil/null";
43
+ if (expectedIsNil) return @"the expected value is nil/null";
44
+ if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];
45
+
46
+ return [NSString stringWithFormat:@"expected: %@ not to begin with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
47
+ });
48
+ }
49
+ EXPMatcherImplementationEnd
@@ -0,0 +1,3 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(conformTo, (Protocol *expected));
@@ -0,0 +1,33 @@
1
+ #import "EXPMatchers+conformTo.h"
2
+ #import "NSValue+Expecta.h"
3
+ #import <objc/runtime.h>
4
+
5
+ EXPMatcherImplementationBegin(conformTo, (Protocol *expected)) {
6
+ BOOL actualIsNil = (actual == nil);
7
+ BOOL expectedIsNil = (expected == nil);
8
+
9
+ prerequisite(^BOOL{
10
+ return !(actualIsNil || expectedIsNil);
11
+ });
12
+
13
+ match(^BOOL{
14
+ return [actual conformsToProtocol:expected];
15
+ });
16
+
17
+ failureMessageForTo(^NSString *{
18
+ if(actualIsNil) return @"the object is nil/null";
19
+ if(expectedIsNil) return @"the protocol is nil/null";
20
+
21
+ NSString *name = NSStringFromProtocol(expected);
22
+ return [NSString stringWithFormat:@"expected: %@ to conform to %@", actual, name];
23
+ });
24
+
25
+ failureMessageForNotTo(^NSString *{
26
+ if(actualIsNil) return @"the object is nil/null";
27
+ if(expectedIsNil) return @"the protocol is nil/null";
28
+
29
+ NSString *name = NSStringFromProtocol(expected);
30
+ return [NSString stringWithFormat:@"expected: %@ not to conform to %@", actual, name];
31
+ });
32
+ }
33
+ EXPMatcherImplementationEnd
@@ -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,38 @@
1
+ #import "EXPMatchers+contain.h"
2
+
3
+ EXPMatcherImplementationBegin(_contain, (id expected)) {
4
+ BOOL actualIsCompatible = [actual isKindOfClass:[NSString class]] || [actual conformsToProtocol:@protocol(NSFastEnumeration)];
5
+ BOOL expectedIsNil = (expected == nil);
6
+
7
+ prerequisite(^BOOL{
8
+ return actualIsCompatible && !expectedIsNil;
9
+ });
10
+
11
+ match(^BOOL{
12
+ if(actualIsCompatible) {
13
+ if([actual isKindOfClass:[NSString class]]) {
14
+ return [(NSString *)actual rangeOfString:[expected description]].location != NSNotFound;
15
+ } else {
16
+ for (id object in actual) {
17
+ if ([object isEqual:expected]) {
18
+ return YES;
19
+ }
20
+ }
21
+ }
22
+ }
23
+ return NO;
24
+ });
25
+
26
+ failureMessageForTo(^NSString *{
27
+ if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString or NSFastEnumeration", EXPDescribeObject(actual)];
28
+ if(expectedIsNil) return @"the expected value is nil/null";
29
+ return [NSString stringWithFormat:@"expected %@ to contain %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
30
+ });
31
+
32
+ failureMessageForNotTo(^NSString *{
33
+ if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString or NSFastEnumeration", EXPDescribeObject(actual)];
34
+ if(expectedIsNil) return @"the expected value is nil/null";
35
+ return [NSString stringWithFormat:@"expected %@ not to contain %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
36
+ });
37
+ }
38
+ EXPMatcherImplementationEnd
@@ -0,0 +1,3 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(endWith, (id expected));
@@ -0,0 +1,49 @@
1
+ #import "EXPMatchers+endWith.h"
2
+
3
+ EXPMatcherImplementationBegin(endWith, (id expected)) {
4
+ BOOL actualIsNil = (actual == nil);
5
+ BOOL expectedIsNil = (expected == nil);
6
+ //This condition allows the comparison of an immutable string or ordered collection to the mutable type of the same
7
+ BOOL actualAndExpectedAreCompatible = (([actual isKindOfClass:[NSString class]] && [expected isKindOfClass:[NSString class]])
8
+ || ([actual isKindOfClass:[NSArray class]] && [expected isKindOfClass:[NSArray class]])
9
+ || ([actual isKindOfClass:[NSOrderedSet class]] && [expected isKindOfClass:[NSOrderedSet class]]));
10
+
11
+ prerequisite(^BOOL {
12
+ return actualAndExpectedAreCompatible;
13
+ });
14
+
15
+ match(^BOOL {
16
+ if ([actual isKindOfClass:[NSString class]]) {
17
+ return [actual hasSuffix:expected];
18
+ } else if ([actual isKindOfClass:[NSArray class]]) {
19
+ if ([expected count] > [actual count] || [expected count] == 0) {
20
+ return NO;
21
+ }
22
+ NSArray *subArray = [actual subarrayWithRange:NSMakeRange([actual count] - [expected count], [expected count])];
23
+ return [subArray isEqualToArray:expected];
24
+ } else {
25
+ if ([expected count] > [actual count] || [expected count] == 0) {
26
+ return NO;
27
+ }
28
+
29
+ NSOrderedSet *subset = [NSOrderedSet orderedSetWithOrderedSet:actual range:NSMakeRange([actual count] - [expected count], [expected count]) copyItems:NO];
30
+ return [subset isEqualToOrderedSet:expected];
31
+ }
32
+ });
33
+
34
+ failureMessageForTo(^NSString *{
35
+ if (actualIsNil) return @"the object is nil/null";
36
+ if (expectedIsNil) return @"the expected value is nil/null";
37
+ if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];
38
+ return [NSString stringWithFormat:@"expected: %@ to end with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
39
+ });
40
+
41
+ failureMessageForNotTo(^NSString *{
42
+ if (actualIsNil) return @"the object is nil/null";
43
+ if (expectedIsNil) return @"the expected value is nil/null";
44
+ if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];
45
+
46
+ return [NSString stringWithFormat:@"expected: %@ not to end with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
47
+ });
48
+ }
49
+ EXPMatcherImplementationEnd
@@ -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,24 @@
1
+ #import "EXPMatchers+equal.h"
2
+ #import "EXPMatcherHelpers.h"
3
+
4
+ EXPMatcherImplementationBegin(_equal, (id expected)) {
5
+ match(^BOOL{
6
+ if((actual == expected) || [actual isEqual:expected]) {
7
+ return YES;
8
+ } else if([actual isKindOfClass:[NSNumber class]] && [expected isKindOfClass:[NSNumber class]]) {
9
+ if(EXPIsNumberFloat((NSNumber *)actual) || EXPIsNumberFloat((NSNumber *)expected)) {
10
+ return [(NSNumber *)actual floatValue] == [(NSNumber *)expected floatValue];
11
+ }
12
+ }
13
+ return NO;
14
+ });
15
+
16
+ failureMessageForTo(^NSString *{
17
+ return [NSString stringWithFormat:@"expected: %@, got: %@", EXPDescribeObject(expected), EXPDescribeObject(actual)];
18
+ });
19
+
20
+ failureMessageForNotTo(^NSString *{
21
+ return [NSString stringWithFormat:@"expected: not %@, got: %@", EXPDescribeObject(expected), EXPDescribeObject(actual)];
22
+ });
23
+ }
24
+ EXPMatcherImplementationEnd
@@ -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,36 @@
1
+ #import "EXPMatchers+haveCountOf.h"
2
+
3
+ EXPMatcherImplementationBegin(haveCountOf, (NSUInteger expected)) {
4
+ BOOL actualIsStringy = [actual isKindOfClass:[NSString class]] || [actual isKindOfClass:[NSAttributedString class]];
5
+ BOOL actualIsCompatible = actualIsStringy || [actual respondsToSelector:@selector(count)];
6
+
7
+ prerequisite(^BOOL{
8
+ return actualIsCompatible;
9
+ });
10
+
11
+ NSUInteger (^count)(id) = ^(id actual) {
12
+ if(actualIsStringy) {
13
+ return [actual length];
14
+ } else {
15
+ return [actual count];
16
+ }
17
+ };
18
+
19
+ match(^BOOL{
20
+ if(actualIsCompatible) {
21
+ return count(actual) == expected;
22
+ }
23
+ return NO;
24
+ });
25
+
26
+ failureMessageForTo(^NSString *{
27
+ if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString, NSAttributedString, NSArray, NSSet, NSOrderedSet, or NSDictionary", EXPDescribeObject(actual)];
28
+ return [NSString stringWithFormat:@"expected %@ to have a count of %zi but got %zi", EXPDescribeObject(actual), expected, count(actual)];
29
+ });
30
+
31
+ failureMessageForNotTo(^NSString *{
32
+ if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString, NSAttributedString, NSArray, NSSet, NSOrderedSet, or NSDictionary", EXPDescribeObject(actual)];
33
+ return [NSString stringWithFormat:@"expected %@ not to have a count of %zi", EXPDescribeObject(actual), expected];
34
+ });
35
+ }
36
+ EXPMatcherImplementationEnd
@@ -0,0 +1,4 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(notify, (id expectedNotification));
4
+
@@ -0,0 +1,63 @@
1
+ #import "EXPMatchers+notify.h"
2
+
3
+ EXPMatcherImplementationBegin(notify, (id expected)){
4
+ BOOL actualIsNil = (actual == nil);
5
+ BOOL expectedIsNil = (expected == nil);
6
+ BOOL isNotification = [expected isKindOfClass:[NSNotification class]];
7
+ BOOL isName = [expected isKindOfClass:[NSString class]];
8
+
9
+ __block NSString *expectedName;
10
+ __block BOOL expectedNotificationOccurred = NO;
11
+ __block id observer;
12
+
13
+ prerequisite(^BOOL{
14
+ expectedNotificationOccurred = NO;
15
+ if (actualIsNil || expectedIsNil) return NO;
16
+ if (isNotification) {
17
+ expectedName = [expected name];
18
+ }else if(isName) {
19
+ expectedName = expected;
20
+ }else{
21
+ return NO;
22
+ }
23
+
24
+ observer = [[NSNotificationCenter defaultCenter] addObserverForName:expectedName object:nil queue:nil usingBlock:^(NSNotification *note){
25
+ if (isNotification) {
26
+ expectedNotificationOccurred |= [expected isEqual:note];
27
+ }else{
28
+ expectedNotificationOccurred = YES;
29
+ }
30
+ }];
31
+ ((EXPBasicBlock)actual)();
32
+ return YES;
33
+ });
34
+
35
+ match(^BOOL{
36
+ if(expectedNotificationOccurred) {
37
+ [[NSNotificationCenter defaultCenter] removeObserver:observer];
38
+ }
39
+ return expectedNotificationOccurred;
40
+ });
41
+
42
+ failureMessageForTo(^NSString *{
43
+ if (observer) {
44
+ [[NSNotificationCenter defaultCenter] removeObserver:observer];
45
+ }
46
+ if(actualIsNil) return @"the actual value is nil/null";
47
+ if(expectedIsNil) return @"the expected value is nil/null";
48
+ if(!(isNotification || isName)) return @"the actual value is not a notification or string";
49
+ return [NSString stringWithFormat:@"expected: %@, got: none",expectedName];
50
+ });
51
+
52
+ failureMessageForNotTo(^NSString *{
53
+ if (observer) {
54
+ [[NSNotificationCenter defaultCenter] removeObserver:observer];
55
+ }
56
+ if(actualIsNil) return @"the actual value is nil/null";
57
+ if(expectedIsNil) return @"the expected value is nil/null";
58
+ if(!(isNotification || isName)) return @"the actual value is not a notification or string";
59
+ return [NSString stringWithFormat:@"expected: none, got: %@", expectedName];
60
+ });
61
+ }
62
+
63
+ EXPMatcherImplementationEnd
@@ -0,0 +1,4 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(raise, (NSString *expectedExceptionName));
4
+ #define raiseAny() raise(nil)
@@ -0,0 +1,30 @@
1
+ #import "EXPMatchers+raise.h"
2
+ #import "EXPDefines.h"
3
+
4
+ EXPMatcherImplementationBegin(raise, (NSString *expectedExceptionName)) {
5
+ __block NSException *exceptionCaught = nil;
6
+
7
+ match(^BOOL{
8
+ BOOL expectedExceptionCaught = NO;
9
+ @try {
10
+ ((EXPBasicBlock)actual)();
11
+ } @catch(NSException *e) {
12
+ exceptionCaught = e;
13
+ expectedExceptionCaught = (expectedExceptionName == nil) || [[exceptionCaught name] isEqualToString:expectedExceptionName];
14
+ }
15
+ return expectedExceptionCaught;
16
+ });
17
+
18
+ failureMessageForTo(^NSString *{
19
+ return [NSString stringWithFormat:@"expected: %@, got: %@",
20
+ expectedExceptionName ? expectedExceptionName : @"any exception",
21
+ exceptionCaught ? [exceptionCaught name] : @"no exception"];
22
+ });
23
+
24
+ failureMessageForNotTo(^NSString *{
25
+ return [NSString stringWithFormat:@"expected: %@, got: %@",
26
+ expectedExceptionName ? [NSString stringWithFormat:@"not %@", expectedExceptionName] : @"no exception",
27
+ exceptionCaught ? [exceptionCaught name] : @"no exception"];
28
+ });
29
+ }
30
+ EXPMatcherImplementationEnd
@@ -0,0 +1,3 @@
1
+ #import "Expecta.h"
2
+
3
+ EXPMatcherInterface(raiseWithReason, (NSString *expectedExceptionName, NSString *expectedReason));
@@ -0,0 +1,35 @@
1
+ #import "EXPMatchers+raiseWithReason.h"
2
+ #import "EXPDefines.h"
3
+
4
+ EXPMatcherImplementationBegin(raiseWithReason, (NSString *expectedExceptionName, NSString *expectedReason)) {
5
+ __block NSException *exceptionCaught = nil;
6
+
7
+ match(^BOOL{
8
+ BOOL expectedExceptionCaught = NO;
9
+ @try {
10
+ ((EXPBasicBlock)actual)();
11
+ } @catch(NSException *e) {
12
+ exceptionCaught = e;
13
+ expectedExceptionCaught = (((expectedExceptionName == nil) || [[exceptionCaught name] isEqualToString:expectedExceptionName]) &&
14
+ ((expectedReason == nil) || ([[exceptionCaught reason] isEqualToString:expectedReason])));
15
+ }
16
+ return expectedExceptionCaught;
17
+ });
18
+
19
+ failureMessageForTo(^NSString *{
20
+ return [NSString stringWithFormat:@"expected: %@ (%@), got: %@ (%@)",
21
+ expectedExceptionName ?: @"any exception",
22
+ expectedReason ?: @"any reason",
23
+ exceptionCaught ? [exceptionCaught name] : @"no exception",
24
+ exceptionCaught ? [exceptionCaught reason] : @""];
25
+ });
26
+
27
+ failureMessageForNotTo(^NSString *{
28
+ return [NSString stringWithFormat:@"expected: %@ (%@), got: %@ (%@)",
29
+ expectedExceptionName ? [NSString stringWithFormat:@"not %@", expectedExceptionName] : @"no exception",
30
+ expectedReason ? [NSString stringWithFormat:@"not '%@'", expectedReason] : @"no reason",
31
+ exceptionCaught ? [exceptionCaught name] : @"no exception",
32
+ exceptionCaught ? [exceptionCaught reason] : @"no reason"];
33
+ });
34
+ }
35
+ EXPMatcherImplementationEnd