thoughtbot-clearance 0.3.4 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (354) hide show
  1. data/LICENSE +21 -0
  2. data/README.textile +8 -3
  3. data/Rakefile +21 -10
  4. data/TODO.textile +1 -3
  5. data/generators/clearance/clearance_generator.rb +3 -2
  6. data/generators/clearance/templates/app/models/clearance_mailer.rb +5 -0
  7. data/generators/clearance/templates/app/views/clearance_mailer/change_password.html.erb +6 -0
  8. data/generators/clearance/templates/app/views/clearance_mailer/confirmation.html.erb +1 -0
  9. data/generators/clearance/templates/test/unit/clearance_mailer_test.rb +6 -0
  10. data/lib/clearance/app/models/clearance_mailer.rb +33 -0
  11. data/lib/clearance/app/models/user.rb +3 -0
  12. data/lib/clearance/test/functional/users_controller_test.rb +3 -5
  13. data/lib/clearance/test/unit/clearance_mailer_test.rb +63 -0
  14. data/lib/clearance/test/unit/user_test.rb +3 -0
  15. metadata +11 -462
  16. data/test/rails_root/Capfile +0 -3
  17. data/test/rails_root/Rakefile +0 -10
  18. data/test/rails_root/app/controllers/application.rb +0 -5
  19. data/test/rails_root/app/controllers/confirmations_controller.rb +0 -3
  20. data/test/rails_root/app/controllers/passwords_controller.rb +0 -3
  21. data/test/rails_root/app/controllers/sessions_controller.rb +0 -3
  22. data/test/rails_root/app/controllers/users_controller.rb +0 -3
  23. data/test/rails_root/app/helpers/application_helper.rb +0 -5
  24. data/test/rails_root/app/helpers/confirmations_helper.rb +0 -2
  25. data/test/rails_root/app/helpers/passwords_helper.rb +0 -2
  26. data/test/rails_root/app/models/user.rb +0 -3
  27. data/test/rails_root/app/views/confirmations/new.html.erb +0 -6
  28. data/test/rails_root/app/views/layouts/_flashes.erb +0 -5
  29. data/test/rails_root/app/views/layouts/application.html.erb +0 -14
  30. data/test/rails_root/app/views/passwords/edit.html.erb +0 -23
  31. data/test/rails_root/app/views/passwords/new.html.erb +0 -15
  32. data/test/rails_root/app/views/sessions/new.html.erb +0 -26
  33. data/test/rails_root/app/views/users/_form.html.erb +0 -13
  34. data/test/rails_root/app/views/users/edit.html.erb +0 -4
  35. data/test/rails_root/app/views/users/new.html.erb +0 -4
  36. data/test/rails_root/config/boot.rb +0 -109
  37. data/test/rails_root/config/database.yml +0 -13
  38. data/test/rails_root/config/environment.rb +0 -16
  39. data/test/rails_root/config/environments/development.rb +0 -20
  40. data/test/rails_root/config/environments/test.rb +0 -24
  41. data/test/rails_root/config/initializers/clearance.rb +0 -8
  42. data/test/rails_root/config/initializers/inflections.rb +0 -10
  43. data/test/rails_root/config/initializers/mime_types.rb +0 -5
  44. data/test/rails_root/config/initializers/requires.rb +0 -13
  45. data/test/rails_root/config/initializers/time_formats.rb +0 -4
  46. data/test/rails_root/config/routes.rb +0 -16
  47. data/test/rails_root/db/migrate/001_create_users.rb +0 -18
  48. data/test/rails_root/doc/README_FOR_APP +0 -2
  49. data/test/rails_root/doc/README_FOR_TEMPLATE +0 -15
  50. data/test/rails_root/lib/tasks/bootstrap.rake +0 -16
  51. data/test/rails_root/lib/tasks/capistrano.rake +0 -96
  52. data/test/rails_root/lib/tasks/git_tasks.rake +0 -129
  53. data/test/rails_root/public/404.html +0 -30
  54. data/test/rails_root/public/422.html +0 -30
  55. data/test/rails_root/public/500.html +0 -30
  56. data/test/rails_root/public/dispatch.rb +0 -10
  57. data/test/rails_root/public/favicon.ico +0 -0
  58. data/test/rails_root/public/images/rails.png +0 -0
  59. data/test/rails_root/public/javascripts/application.js +0 -2
  60. data/test/rails_root/public/javascripts/builder.js +0 -136
  61. data/test/rails_root/public/javascripts/controls.js +0 -963
  62. data/test/rails_root/public/javascripts/dragdrop.js +0 -972
  63. data/test/rails_root/public/javascripts/effects.js +0 -1120
  64. data/test/rails_root/public/javascripts/prototype.js +0 -4225
  65. data/test/rails_root/public/javascripts/scriptaculous.js +0 -58
  66. data/test/rails_root/public/javascripts/slider.js +0 -277
  67. data/test/rails_root/public/javascripts/sound.js +0 -60
  68. data/test/rails_root/public/robots.txt +0 -1
  69. data/test/rails_root/script/about +0 -3
  70. data/test/rails_root/script/breakpointer +0 -3
  71. data/test/rails_root/script/console +0 -3
  72. data/test/rails_root/script/create_project.rb +0 -52
  73. data/test/rails_root/script/dbconsole +0 -3
  74. data/test/rails_root/script/destroy +0 -3
  75. data/test/rails_root/script/generate +0 -3
  76. data/test/rails_root/script/performance/benchmarker +0 -3
  77. data/test/rails_root/script/performance/profiler +0 -3
  78. data/test/rails_root/script/performance/request +0 -3
  79. data/test/rails_root/script/plugin +0 -3
  80. data/test/rails_root/script/process/inspector +0 -3
  81. data/test/rails_root/script/process/reaper +0 -3
  82. data/test/rails_root/script/process/spawner +0 -3
  83. data/test/rails_root/script/runner +0 -3
  84. data/test/rails_root/script/server +0 -3
  85. data/test/rails_root/test/factories.rb +0 -9
  86. data/test/rails_root/test/functional/confirmations_controller_test.rb +0 -5
  87. data/test/rails_root/test/functional/passwords_controller_test.rb +0 -5
  88. data/test/rails_root/test/functional/sessions_controller_test.rb +0 -5
  89. data/test/rails_root/test/functional/users_controller_test.rb +0 -5
  90. data/test/rails_root/test/test_helper.rb +0 -21
  91. data/test/rails_root/test/unit/user_test.rb +0 -5
  92. data/test/rails_root/vendor/gems/mocha-0.9.1/COPYING +0 -3
  93. data/test/rails_root/vendor/gems/mocha-0.9.1/MIT-LICENSE +0 -7
  94. data/test/rails_root/vendor/gems/mocha-0.9.1/README +0 -35
  95. data/test/rails_root/vendor/gems/mocha-0.9.1/RELEASE +0 -246
  96. data/test/rails_root/vendor/gems/mocha-0.9.1/Rakefile +0 -188
  97. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb +0 -44
  98. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/mocha.rb +0 -26
  99. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/stubba.rb +0 -65
  100. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/any_instance_method.rb +0 -54
  101. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/backtrace_filter.rb +0 -17
  102. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/cardinality.rb +0 -95
  103. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/central.rb +0 -27
  104. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/change_state_side_effect.rb +0 -19
  105. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/class_method.rb +0 -86
  106. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/configuration.rb +0 -60
  107. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/deprecation.rb +0 -22
  108. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/exception_raiser.rb +0 -17
  109. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation.rb +0 -445
  110. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation_error.rb +0 -15
  111. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation_list.rb +0 -50
  112. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/in_state_ordering_constraint.rb +0 -19
  113. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/inspect.rb +0 -39
  114. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/instance_method.rb +0 -16
  115. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/is_a.rb +0 -9
  116. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/logger.rb +0 -15
  117. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/metaclass.rb +0 -7
  118. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/method_matcher.rb +0 -21
  119. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/mock.rb +0 -196
  120. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/mockery.rb +0 -181
  121. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/module_method.rb +0 -16
  122. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/multiple_yields.rb +0 -20
  123. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/names.rb +0 -53
  124. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/no_yields.rb +0 -11
  125. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/object.rb +0 -134
  126. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/all_of.rb +0 -42
  127. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/any_of.rb +0 -47
  128. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/any_parameters.rb +0 -40
  129. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/anything.rb +0 -33
  130. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/base.rb +0 -15
  131. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/equals.rb +0 -42
  132. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_entries.rb +0 -45
  133. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_entry.rb +0 -56
  134. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_key.rb +0 -42
  135. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_value.rb +0 -42
  136. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/includes.rb +0 -40
  137. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/instance_of.rb +0 -42
  138. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/is_a.rb +0 -42
  139. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/kind_of.rb +0 -42
  140. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/not.rb +0 -42
  141. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/object.rb +0 -9
  142. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/optionally.rb +0 -55
  143. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/regexp_matches.rb +0 -43
  144. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/responds_with.rb +0 -43
  145. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/yaml_equivalent.rb +0 -43
  146. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers.rb +0 -26
  147. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameters_matcher.rb +0 -37
  148. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/pretty_parameters.rb +0 -28
  149. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/return_values.rb +0 -31
  150. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/sequence.rb +0 -42
  151. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/single_return_value.rb +0 -17
  152. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/single_yield.rb +0 -18
  153. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/standalone.rb +0 -166
  154. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/state_machine.rb +0 -91
  155. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/stubbing_error.rb +0 -16
  156. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/test_case_adapter.rb +0 -103
  157. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/unexpected_invocation.rb +0 -18
  158. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/yield_parameters.rb +0 -31
  159. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha.rb +0 -20
  160. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha_standalone.rb +0 -2
  161. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/stubba.rb +0 -4
  162. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/acceptance_test_helper.rb +0 -38
  163. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_18914_test.rb +0 -43
  164. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_21465_test.rb +0 -34
  165. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_21563_test.rb +0 -25
  166. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/expected_invocation_count_test.rb +0 -196
  167. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/failure_messages_test.rb +0 -64
  168. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocha_example_test.rb +0 -98
  169. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocha_test_result_test.rb +0 -84
  170. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mock_test.rb +0 -100
  171. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mock_with_initializer_block_test.rb +0 -51
  172. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocked_methods_dispatch_test.rb +0 -78
  173. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/optional_parameters_test.rb +0 -70
  174. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/parameter_matcher_test.rb +0 -179
  175. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/partial_mocks_test.rb +0 -47
  176. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/return_value_test.rb +0 -52
  177. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/sequence_test.rb +0 -186
  178. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/standalone_test.rb +0 -139
  179. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/states_test.rb +0 -70
  180. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_any_instance_method_test.rb +0 -195
  181. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_class_method_test.rb +0 -203
  182. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_everything_test.rb +0 -56
  183. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_instance_method_test.rb +0 -165
  184. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_module_method_test.rb +0 -163
  185. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_test.rb +0 -52
  186. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_example_test.rb +0 -102
  187. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_test.rb +0 -15
  188. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_test_result_test.rb +0 -66
  189. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_error_backtrace_test.rb +0 -64
  190. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_method_unnecessarily_test.rb +0 -65
  191. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +0 -130
  192. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_class_method_test.rb +0 -155
  193. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_instance_method_test.rb +0 -145
  194. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_any_instance_method_test.rb +0 -130
  195. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_class_method_test.rb +0 -161
  196. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_instance_method_test.rb +0 -141
  197. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_on_non_mock_object_test.rb +0 -64
  198. data/test/rails_root/vendor/gems/mocha-0.9.1/test/active_record_test_case.rb +0 -36
  199. data/test/rails_root/vendor/gems/mocha-0.9.1/test/deprecation_disabler.rb +0 -15
  200. data/test/rails_root/vendor/gems/mocha-0.9.1/test/execution_point.rb +0 -36
  201. data/test/rails_root/vendor/gems/mocha-0.9.1/test/method_definer.rb +0 -18
  202. data/test/rails_root/vendor/gems/mocha-0.9.1/test/simple_counter.rb +0 -13
  203. data/test/rails_root/vendor/gems/mocha-0.9.1/test/test_helper.rb +0 -11
  204. data/test/rails_root/vendor/gems/mocha-0.9.1/test/test_runner.rb +0 -33
  205. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/any_instance_method_test.rb +0 -126
  206. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/array_inspect_test.rb +0 -16
  207. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/backtrace_filter_test.rb +0 -19
  208. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/cardinality_test.rb +0 -56
  209. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/central_test.rb +0 -65
  210. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/change_state_side_effect_test.rb +0 -41
  211. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/class_method_test.rb +0 -237
  212. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/date_time_inspect_test.rb +0 -21
  213. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/exception_raiser_test.rb +0 -42
  214. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/expectation_list_test.rb +0 -57
  215. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/expectation_test.rb +0 -459
  216. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/hash_inspect_test.rb +0 -16
  217. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/in_state_ordering_constraint_test.rb +0 -43
  218. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/metaclass_test.rb +0 -22
  219. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/method_matcher_test.rb +0 -23
  220. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/mock_test.rb +0 -290
  221. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/mockery_test.rb +0 -149
  222. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/multiple_yields_test.rb +0 -18
  223. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/no_yields_test.rb +0 -18
  224. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/object_inspect_test.rb +0 -37
  225. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/object_test.rb +0 -82
  226. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/all_of_test.rb +0 -26
  227. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/any_of_test.rb +0 -26
  228. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/anything_test.rb +0 -21
  229. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/equals_test.rb +0 -25
  230. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_entries_test.rb +0 -51
  231. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_entry_test.rb +0 -62
  232. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_key_test.rb +0 -36
  233. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_value_test.rb +0 -37
  234. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/includes_test.rb +0 -25
  235. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/instance_of_test.rb +0 -25
  236. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/is_a_test.rb +0 -25
  237. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/kind_of_test.rb +0 -25
  238. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/not_test.rb +0 -26
  239. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/regexp_matches_test.rb +0 -25
  240. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/responds_with_test.rb +0 -25
  241. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/stub_matcher.rb +0 -27
  242. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/yaml_equivalent_test.rb +0 -25
  243. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameters_matcher_test.rb +0 -121
  244. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/return_values_test.rb +0 -63
  245. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/sequence_test.rb +0 -104
  246. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/single_return_value_test.rb +0 -14
  247. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/single_yield_test.rb +0 -18
  248. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/state_machine_test.rb +0 -98
  249. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/string_inspect_test.rb +0 -11
  250. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/yield_parameters_test.rb +0 -93
  251. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/CONTRIBUTION_GUIDELINES.rdoc +0 -12
  252. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/MIT-LICENSE +0 -22
  253. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/README.rdoc +0 -132
  254. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/Rakefile +0 -72
  255. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/bin/convert_to_should_syntax +0 -42
  256. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/action_mailer/assertions.rb +0 -39
  257. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/action_mailer.rb +0 -10
  258. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record/assertions.rb +0 -85
  259. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record/macros.rb +0 -715
  260. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record.rb +0 -12
  261. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/assertions.rb +0 -45
  262. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/context.rb +0 -306
  263. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/formats/html.rb +0 -201
  264. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/formats/xml.rb +0 -170
  265. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/helpers.rb +0 -64
  266. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/macros.rb +0 -316
  267. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/resource_options.rb +0 -236
  268. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller.rb +0 -30
  269. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/helpers.rb +0 -10
  270. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/macros.rb +0 -74
  271. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/private_helpers.rb +0 -22
  272. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/proc_extensions.rb +0 -14
  273. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/rails.rb +0 -19
  274. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks/list_tests.rake +0 -24
  275. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks/yaml_to_shoulda.rake +0 -28
  276. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks.rb +0 -3
  277. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda.rb +0 -17
  278. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/rails/init.rb +0 -1
  279. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/README +0 -36
  280. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fail_macros.rb +0 -34
  281. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/addresses.yml +0 -3
  282. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/friendships.yml +0 -0
  283. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/posts.yml +0 -5
  284. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/products.yml +0 -0
  285. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/taggings.yml +0 -0
  286. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/tags.yml +0 -9
  287. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/users.yml +0 -6
  288. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/functional/posts_controller_test.rb +0 -104
  289. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/functional/users_controller_test.rb +0 -38
  290. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/context_test.rb +0 -145
  291. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/convert_to_should_syntax_test.rb +0 -63
  292. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/helpers_test.rb +0 -183
  293. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/private_helpers_test.rb +0 -34
  294. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/should_test.rb +0 -266
  295. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/application.rb +0 -25
  296. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/posts_controller.rb +0 -85
  297. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/users_controller.rb +0 -84
  298. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/application_helper.rb +0 -3
  299. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/posts_helper.rb +0 -2
  300. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/users_helper.rb +0 -2
  301. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/address.rb +0 -7
  302. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/dog.rb +0 -5
  303. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/flea.rb +0 -3
  304. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/friendship.rb +0 -4
  305. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/post.rb +0 -12
  306. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/product.rb +0 -12
  307. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/tag.rb +0 -8
  308. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/tagging.rb +0 -4
  309. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/user.rb +0 -28
  310. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/posts.rhtml +0 -17
  311. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/users.rhtml +0 -17
  312. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/wide.html.erb +0 -1
  313. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/edit.rhtml +0 -27
  314. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/index.rhtml +0 -25
  315. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/new.rhtml +0 -26
  316. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/show.rhtml +0 -18
  317. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/edit.rhtml +0 -22
  318. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/index.rhtml +0 -22
  319. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/new.rhtml +0 -21
  320. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/show.rhtml +0 -13
  321. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/boot.rb +0 -109
  322. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/database.yml +0 -4
  323. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/environment.rb +0 -14
  324. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/environments/sqlite3.rb +0 -0
  325. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/initializers/new_rails_defaults.rb +0 -15
  326. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/initializers/shoulda.rb +0 -8
  327. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/routes.rb +0 -6
  328. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/001_create_users.rb +0 -18
  329. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/002_create_posts.rb +0 -13
  330. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/003_create_taggings.rb +0 -12
  331. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/004_create_tags.rb +0 -11
  332. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/005_create_dogs.rb +0 -12
  333. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/006_create_addresses.rb +0 -14
  334. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/007_create_fleas.rb +0 -11
  335. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/008_create_dogs_fleas.rb +0 -12
  336. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/009_create_products.rb +0 -17
  337. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/010_create_friendships.rb +0 -14
  338. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/schema.rb +0 -0
  339. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/log/sqlite3.log +0 -1
  340. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/404.html +0 -30
  341. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/422.html +0 -30
  342. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/500.html +0 -30
  343. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/script/console +0 -3
  344. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/script/generate +0 -3
  345. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/test_helper.rb +0 -33
  346. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/address_test.rb +0 -10
  347. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/dog_test.rb +0 -7
  348. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/flea_test.rb +0 -6
  349. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/friendship_test.rb +0 -6
  350. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/post_test.rb +0 -15
  351. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/product_test.rb +0 -27
  352. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/tag_test.rb +0 -14
  353. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/tagging_test.rb +0 -6
  354. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/user_test.rb +0 -52
@@ -1,196 +0,0 @@
1
- require 'mocha/expectation'
2
- require 'mocha/expectation_list'
3
- require 'mocha/metaclass'
4
- require 'mocha/names'
5
- require 'mocha/mockery'
6
- require 'mocha/method_matcher'
7
- require 'mocha/parameters_matcher'
8
- require 'mocha/unexpected_invocation'
9
-
10
- module Mocha # :nodoc:
11
-
12
- # Traditional mock object.
13
- #
14
- # Methods return an Expectation which can be further modified by methods on Expectation.
15
- class Mock
16
-
17
- # :call-seq: expects(method_name) -> expectation
18
- # expects(method_names) -> last expectation
19
- #
20
- # Adds an expectation that a method identified by +method_name+ symbol must be called exactly once with any parameters.
21
- # Returns the new expectation which can be further modified by methods on Expectation.
22
- # object = mock()
23
- # object.expects(:method1)
24
- # object.method1
25
- # # no error raised
26
- #
27
- # object = mock()
28
- # object.expects(:method1)
29
- # # error raised, because method1 not called exactly once
30
- # If +method_names+ is a +Hash+, an expectation will be set up for each entry using the key as +method_name+ and value as +return_value+.
31
- # object = mock()
32
- # object.expects(:method1 => :result1, :method2 => :result2)
33
- #
34
- # # exactly equivalent to
35
- #
36
- # object = mock()
37
- # object.expects(:method1).returns(:result1)
38
- # object.expects(:method2).returns(:result2)
39
- #
40
- # Aliased by <tt>\_\_expects\_\_</tt>
41
- def expects(method_name_or_hash, backtrace = nil)
42
- if method_name_or_hash.is_a?(Hash) then
43
- method_name_or_hash.each do |method_name, return_value|
44
- ensure_method_not_already_defined(method_name)
45
- @expectations.add(Expectation.new(self, method_name, backtrace).returns(return_value))
46
- end
47
- else
48
- ensure_method_not_already_defined(method_name_or_hash)
49
- @expectations.add(Expectation.new(self, method_name_or_hash, backtrace))
50
- end
51
- end
52
-
53
- # :call-seq: stubs(method_name) -> expectation
54
- # stubs(method_names) -> last expectation
55
- #
56
- # Adds an expectation that a method identified by +method_name+ symbol may be called any number of times with any parameters.
57
- # Returns the new expectation which can be further modified by methods on Expectation.
58
- # object = mock()
59
- # object.stubs(:method1)
60
- # object.method1
61
- # object.method1
62
- # # no error raised
63
- # If +method_names+ is a +Hash+, an expectation will be set up for each entry using the key as +method_name+ and value as +return_value+.
64
- # object = mock()
65
- # object.stubs(:method1 => :result1, :method2 => :result2)
66
- #
67
- # # exactly equivalent to
68
- #
69
- # object = mock()
70
- # object.stubs(:method1).returns(:result1)
71
- # object.stubs(:method2).returns(:result2)
72
- #
73
- # Aliased by <tt>\_\_stubs\_\_</tt>
74
- def stubs(method_name_or_hash, backtrace = nil)
75
- if method_name_or_hash.is_a?(Hash) then
76
- method_name_or_hash.each do |method_name, return_value|
77
- ensure_method_not_already_defined(method_name)
78
- @expectations.add(Expectation.new(self, method_name, backtrace).at_least(0).returns(return_value))
79
- end
80
- else
81
- ensure_method_not_already_defined(method_name_or_hash)
82
- @expectations.add(Expectation.new(self, method_name_or_hash, backtrace).at_least(0))
83
- end
84
- end
85
-
86
- # :call-seq: responds_like(responder) -> mock
87
- #
88
- # Constrains the +mock+ so that it can only expect or stub methods to which +responder+ responds. The constraint is only applied at method invocation time.
89
- #
90
- # A +NoMethodError+ will be raised if the +responder+ does not <tt>respond_to?</tt> a method invocation (even if the method has been expected or stubbed).
91
- #
92
- # The +mock+ will delegate its <tt>respond_to?</tt> method to the +responder+.
93
- # class Sheep
94
- # def chew(grass); end
95
- # def self.number_of_legs; end
96
- # end
97
- #
98
- # sheep = mock('sheep')
99
- # sheep.expects(:chew)
100
- # sheep.expects(:foo)
101
- # sheep.respond_to?(:chew) # => true
102
- # sheep.respond_to?(:foo) # => true
103
- # sheep.chew
104
- # sheep.foo
105
- # # no error raised
106
- #
107
- # sheep = mock('sheep')
108
- # sheep.responds_like(Sheep.new)
109
- # sheep.expects(:chew)
110
- # sheep.expects(:foo)
111
- # sheep.respond_to?(:chew) # => true
112
- # sheep.respond_to?(:foo) # => false
113
- # sheep.chew
114
- # sheep.foo # => raises NoMethodError exception
115
- #
116
- # sheep_class = mock('sheep_class')
117
- # sheep_class.responds_like(Sheep)
118
- # sheep_class.stubs(:number_of_legs).returns(4)
119
- # sheep_class.expects(:foo)
120
- # sheep_class.respond_to?(:number_of_legs) # => true
121
- # sheep_class.respond_to?(:foo) # => false
122
- # assert_equal 4, sheep_class.number_of_legs
123
- # sheep_class.foo # => raises NoMethodError exception
124
- #
125
- # Aliased by +quacks_like+
126
- def responds_like(object)
127
- @responder = object
128
- self
129
- end
130
-
131
- # :stopdoc:
132
-
133
- def initialize(name = nil, &block)
134
- @name = name || DefaultName.new(self)
135
- @expectations = ExpectationList.new
136
- @everything_stubbed = false
137
- @responder = nil
138
- instance_eval(&block) if block
139
- end
140
-
141
- attr_reader :everything_stubbed, :expectations
142
-
143
- alias_method :__expects__, :expects
144
-
145
- alias_method :__stubs__, :stubs
146
-
147
- alias_method :quacks_like, :responds_like
148
-
149
- def stub_everything
150
- @everything_stubbed = true
151
- end
152
-
153
- def method_missing(symbol, *arguments, &block)
154
- if @responder and not @responder.respond_to?(symbol)
155
- raise NoMethodError, "undefined method `#{symbol}' for #{self.mocha_inspect} which responds like #{@responder.mocha_inspect}"
156
- end
157
- if matching_expectation_allowing_invocation = @expectations.match_allowing_invocation(symbol, *arguments)
158
- matching_expectation_allowing_invocation.invoke(&block)
159
- else
160
- if (matching_expectation = @expectations.match(symbol, *arguments)) || (!matching_expectation && !@everything_stubbed)
161
- message = UnexpectedInvocation.new(self, symbol, *arguments).to_s
162
- message << Mockery.instance.mocha_inspect
163
- raise ExpectationError.new(message, caller)
164
- end
165
- end
166
- end
167
-
168
- def respond_to?(symbol)
169
- if @responder then
170
- @responder.respond_to?(symbol)
171
- else
172
- @expectations.matches_method?(symbol)
173
- end
174
- end
175
-
176
- def __verified__?(assertion_counter = nil)
177
- @expectations.verified?(assertion_counter)
178
- end
179
-
180
- def mocha_inspect
181
- @name.mocha_inspect
182
- end
183
-
184
- def inspect
185
- mocha_inspect
186
- end
187
-
188
- def ensure_method_not_already_defined(method_name)
189
- self.__metaclass__.send(:undef_method, method_name) if self.__metaclass__.method_defined?(method_name)
190
- end
191
-
192
- # :startdoc:
193
-
194
- end
195
-
196
- end
@@ -1,181 +0,0 @@
1
- require 'mocha/central'
2
- require 'mocha/mock'
3
- require 'mocha/names'
4
- require 'mocha/state_machine'
5
- require 'mocha/logger'
6
- require 'mocha/configuration'
7
- require 'mocha/stubbing_error'
8
-
9
- module Mocha
10
-
11
- class Mockery
12
-
13
- class << self
14
-
15
- def instance
16
- @instance ||= new
17
- end
18
-
19
- def reset_instance
20
- @instance = nil
21
- end
22
-
23
- end
24
-
25
- def named_mock(name, &block)
26
- add_mock(Mock.new(Name.new(name), &block))
27
- end
28
-
29
- def unnamed_mock(&block)
30
- add_mock(Mock.new(&block))
31
- end
32
-
33
- def mock_impersonating(object, &block)
34
- add_mock(Mock.new(ImpersonatingName.new(object), &block))
35
- end
36
-
37
- def mock_impersonating_any_instance_of(klass, &block)
38
- add_mock(Mock.new(ImpersonatingAnyInstanceName.new(klass), &block))
39
- end
40
-
41
- def new_state_machine(name)
42
- add_state_machine(StateMachine.new(name))
43
- end
44
-
45
- def verify(assertion_counter = nil)
46
- unless mocks.all? { |mock| mock.__verified__?(assertion_counter) }
47
- message = "not all expectations were satisfied\n#{mocha_inspect}"
48
- if unsatisfied_expectations.empty?
49
- backtrace = caller
50
- else
51
- backtrace = unsatisfied_expectations[0].backtrace
52
- end
53
- raise ExpectationError.new(message, backtrace)
54
- end
55
- expectations.each do |e|
56
- unless Mocha::Configuration.allow?(:stubbing_method_unnecessarily)
57
- unless e.used?
58
- on_stubbing_method_unnecessarily(e)
59
- end
60
- end
61
- end
62
- end
63
-
64
- def teardown
65
- stubba.unstub_all
66
- reset
67
- end
68
-
69
- def stubba
70
- @stubba ||= Central.new
71
- end
72
-
73
- def mocks
74
- @mocks ||= []
75
- end
76
-
77
- def state_machines
78
- @state_machines ||= []
79
- end
80
-
81
- def mocha_inspect
82
- message = ""
83
- message << "unsatisfied expectations:\n- #{unsatisfied_expectations.map { |e| e.mocha_inspect }.join("\n- ")}\n" unless unsatisfied_expectations.empty?
84
- message << "satisfied expectations:\n- #{satisfied_expectations.map { |e| e.mocha_inspect }.join("\n- ")}\n" unless satisfied_expectations.empty?
85
- message << "states:\n- #{state_machines.map { |sm| sm.mocha_inspect }.join("\n- ")}" unless state_machines.empty?
86
- message
87
- end
88
-
89
- def on_stubbing(object, method)
90
- method = RUBY_VERSION < '1.9' ? method.to_s : method.to_sym
91
- unless Mocha::Configuration.allow?(:stubbing_non_existent_method)
92
- unless object.method_exists?(method, include_public_methods = true)
93
- on_stubbing_non_existent_method(object, method)
94
- end
95
- end
96
- unless Mocha::Configuration.allow?(:stubbing_non_public_method)
97
- if object.method_exists?(method, include_public_methods = false)
98
- on_stubbing_non_public_method(object, method)
99
- end
100
- end
101
- unless Mocha::Configuration.allow?(:stubbing_method_on_non_mock_object)
102
- on_stubbing_method_on_non_mock_object(object, method)
103
- end
104
- end
105
-
106
- def on_stubbing_non_existent_method(object, method)
107
- if Mocha::Configuration.prevent?(:stubbing_non_existent_method)
108
- raise StubbingError.new("stubbing non-existent method: #{object.mocha_inspect}.#{method}", caller)
109
- end
110
- if Mocha::Configuration.warn_when?(:stubbing_non_existent_method)
111
- logger.warn "stubbing non-existent method: #{object.mocha_inspect}.#{method}"
112
- end
113
- end
114
-
115
- def on_stubbing_non_public_method(object, method)
116
- if Mocha::Configuration.prevent?(:stubbing_non_public_method)
117
- raise StubbingError.new("stubbing non-public method: #{object.mocha_inspect}.#{method}", caller)
118
- end
119
- if Mocha::Configuration.warn_when?(:stubbing_non_public_method)
120
- logger.warn "stubbing non-public method: #{object.mocha_inspect}.#{method}"
121
- end
122
- end
123
-
124
- def on_stubbing_method_on_non_mock_object(object, method)
125
- if Mocha::Configuration.prevent?(:stubbing_method_on_non_mock_object)
126
- raise StubbingError.new("stubbing method on non-mock object: #{object.mocha_inspect}.#{method}", caller)
127
- end
128
- if Mocha::Configuration.warn_when?(:stubbing_method_on_non_mock_object)
129
- logger.warn "stubbing method on non-mock object: #{object.mocha_inspect}.#{method}"
130
- end
131
- end
132
-
133
- def on_stubbing_method_unnecessarily(expectation)
134
- if Mocha::Configuration.prevent?(:stubbing_method_unnecessarily)
135
- raise StubbingError.new("stubbing method unnecessarily: #{expectation.method_signature}", expectation.backtrace)
136
- end
137
- if Mocha::Configuration.warn_when?(:stubbing_method_unnecessarily)
138
- logger.warn "stubbing method unnecessarily: #{expectation.method_signature}"
139
- end
140
- end
141
-
142
- attr_writer :logger
143
-
144
- def logger
145
- @logger ||= Logger.new($stderr)
146
- end
147
-
148
-
149
- private
150
-
151
- def expectations
152
- mocks.map { |mock| mock.expectations.to_a }.flatten
153
- end
154
-
155
- def unsatisfied_expectations
156
- expectations.reject { |e| e.verified? }
157
- end
158
-
159
- def satisfied_expectations
160
- expectations.select { |e| e.verified? }
161
- end
162
-
163
- def add_mock(mock)
164
- mocks << mock
165
- mock
166
- end
167
-
168
- def add_state_machine(state_machine)
169
- state_machines << state_machine
170
- state_machine
171
- end
172
-
173
- def reset
174
- @stubba = nil
175
- @mocks = nil
176
- @state_machines = nil
177
- end
178
-
179
- end
180
-
181
- end
@@ -1,16 +0,0 @@
1
- require 'mocha/module_method'
2
-
3
- module Mocha
4
-
5
- class ModuleMethod < ClassMethod
6
-
7
- def method_exists?(method)
8
- return true if stubbee.public_methods(false).include?(method)
9
- return true if stubbee.protected_methods(false).include?(method)
10
- return true if stubbee.private_methods(false).include?(method)
11
- return false
12
- end
13
-
14
- end
15
-
16
- end
@@ -1,20 +0,0 @@
1
- module Mocha # :nodoc:
2
-
3
- class MultipleYields # :nodoc:
4
-
5
- attr_reader :parameter_groups
6
-
7
- def initialize(*parameter_groups)
8
- @parameter_groups = parameter_groups
9
- end
10
-
11
- def each
12
- @parameter_groups.each do |parameter_group|
13
- yield(parameter_group)
14
- end
15
- end
16
-
17
- end
18
-
19
- end
20
-
@@ -1,53 +0,0 @@
1
- module Mocha
2
-
3
- class ImpersonatingName
4
-
5
- def initialize(object)
6
- @object = object
7
- end
8
-
9
- def mocha_inspect
10
- @object.mocha_inspect
11
- end
12
-
13
- end
14
-
15
- class ImpersonatingAnyInstanceName
16
-
17
- def initialize(klass)
18
- @klass = klass
19
- end
20
-
21
- def mocha_inspect
22
- "#<AnyInstance:#{@klass.mocha_inspect}>"
23
- end
24
-
25
- end
26
-
27
- class Name
28
-
29
- def initialize(name)
30
- @name = name
31
- end
32
-
33
- def mocha_inspect
34
- "#<Mock:#{@name}>"
35
- end
36
-
37
- end
38
-
39
- class DefaultName
40
-
41
- def initialize(mock)
42
- @mock = mock
43
- end
44
-
45
- def mocha_inspect
46
- address = @mock.__id__ * 2
47
- address += 0x100000000 if address < 0
48
- "#<Mock:0x#{'%x' % address}>"
49
- end
50
-
51
- end
52
-
53
- end
@@ -1,11 +0,0 @@
1
- module Mocha # :nodoc:
2
-
3
- class NoYields # :nodoc:
4
-
5
- def each
6
- end
7
-
8
- end
9
-
10
- end
11
-
@@ -1,134 +0,0 @@
1
- require 'mocha/mockery'
2
- require 'mocha/instance_method'
3
- require 'mocha/class_method'
4
- require 'mocha/module_method'
5
- require 'mocha/any_instance_method'
6
-
7
- # Methods added all objects to allow mocking and stubbing on real objects.
8
- #
9
- # Methods return a Mocha::Expectation which can be further modified by methods on Mocha::Expectation.
10
- class Object
11
-
12
- def mocha # :nodoc:
13
- @mocha ||= Mocha::Mockery.instance.mock_impersonating(self)
14
- end
15
-
16
- def reset_mocha # :nodoc:
17
- @mocha = nil
18
- end
19
-
20
- def stubba_method # :nodoc:
21
- Mocha::InstanceMethod
22
- end
23
-
24
- def stubba_object # :nodoc:
25
- self
26
- end
27
-
28
- # :call-seq: expects(symbol) -> expectation
29
- #
30
- # Adds an expectation that a method identified by +symbol+ must be called exactly once with any parameters.
31
- # Returns the new expectation which can be further modified by methods on Mocha::Expectation.
32
- # product = Product.new
33
- # product.expects(:save).returns(true)
34
- # assert_equal false, product.save
35
- #
36
- # The original implementation of <tt>Product#save</tt> is replaced temporarily.
37
- #
38
- # The original implementation of <tt>Product#save</tt> is restored at the end of the test.
39
- def expects(symbol)
40
- mockery = Mocha::Mockery.instance
41
- mockery.on_stubbing(self, symbol)
42
- method = stubba_method.new(stubba_object, symbol)
43
- mockery.stubba.stub(method)
44
- mocha.expects(symbol, caller)
45
- end
46
-
47
- # :call-seq: stubs(symbol) -> expectation
48
- #
49
- # Adds an expectation that a method identified by +symbol+ may be called any number of times with any parameters.
50
- # Returns the new expectation which can be further modified by methods on Mocha::Expectation.
51
- # product = Product.new
52
- # product.stubs(:save).returns(true)
53
- # assert_equal false, product.save
54
- #
55
- # The original implementation of <tt>Product#save</tt> is replaced temporarily.
56
- #
57
- # The original implementation of <tt>Product#save</tt> is restored at the end of the test.
58
- def stubs(symbol)
59
- mockery = Mocha::Mockery.instance
60
- mockery.on_stubbing(self, symbol)
61
- method = stubba_method.new(stubba_object, symbol)
62
- mockery.stubba.stub(method)
63
- mocha.stubs(symbol, caller)
64
- end
65
-
66
- def method_exists?(method, include_public_methods = true)
67
- if include_public_methods
68
- return true if public_methods(include_superclass_methods = true).include?(method)
69
- return true if respond_to?(method)
70
- end
71
- return true if protected_methods(include_superclass_methods = true).include?(method)
72
- return true if private_methods(include_superclass_methods = true).include?(method)
73
- return false
74
- end
75
-
76
- end
77
-
78
- class Module # :nodoc:
79
-
80
- def stubba_method
81
- Mocha::ModuleMethod
82
- end
83
-
84
- end
85
-
86
- class Class
87
-
88
- def stubba_method # :nodoc:
89
- Mocha::ClassMethod
90
- end
91
-
92
- class AnyInstance # :nodoc:
93
-
94
- def initialize(klass)
95
- @stubba_object = klass
96
- end
97
-
98
- def mocha
99
- @mocha ||= Mocha::Mockery.instance.mock_impersonating_any_instance_of(@stubba_object)
100
- end
101
-
102
- def stubba_method
103
- Mocha::AnyInstanceMethod
104
- end
105
-
106
- def stubba_object
107
- @stubba_object
108
- end
109
-
110
- def method_exists?(method, include_public_methods = true)
111
- if include_public_methods
112
- return true if @stubba_object.public_instance_methods(include_superclass_methods = true).include?(method)
113
- end
114
- return true if @stubba_object.protected_instance_methods(include_superclass_methods = true).include?(method)
115
- return true if @stubba_object.private_instance_methods(include_superclass_methods = true).include?(method)
116
- return false
117
- end
118
-
119
- end
120
-
121
- # :call-seq: any_instance -> mock object
122
- #
123
- # Returns a mock object which will detect calls to any instance of this class.
124
- # Product.any_instance.stubs(:save).returns(false)
125
- # product_1 = Product.new
126
- # assert_equal false, product_1.save
127
- # product_2 = Product.new
128
- # assert_equal false, product_2.save
129
- def any_instance
130
- @any_instance ||= AnyInstance.new(self)
131
- end
132
-
133
- end
134
-
@@ -1,42 +0,0 @@
1
- require 'mocha/parameter_matchers/base'
2
-
3
- module Mocha
4
-
5
- module ParameterMatchers
6
-
7
- # :call-seq: all_of(*parameter_matchers) -> parameter_matcher
8
- #
9
- # Matches if all +parameter_matchers+ match.
10
- # object = mock()
11
- # object.expects(:method_1).with(all_of(includes(1), includes(3)))
12
- # object.method_1([1, 3])
13
- # # no error raised
14
- #
15
- # object = mock()
16
- # object.expects(:method_1).with(all_of(includes(1), includes(3)))
17
- # object.method_1([1, 2])
18
- # # error raised, because method_1 was not called with object including 1 and 3
19
- def all_of(*matchers)
20
- AllOf.new(*matchers)
21
- end
22
-
23
- class AllOf < Base # :nodoc:
24
-
25
- def initialize(*matchers)
26
- @matchers = matchers
27
- end
28
-
29
- def matches?(available_parameters)
30
- parameter = available_parameters.shift
31
- @matchers.all? { |matcher| matcher.to_matcher.matches?([parameter]) }
32
- end
33
-
34
- def mocha_inspect
35
- "all_of(#{@matchers.map { |matcher| matcher.mocha_inspect }.join(", ") })"
36
- end
37
-
38
- end
39
-
40
- end
41
-
42
- end
@@ -1,47 +0,0 @@
1
- require 'mocha/parameter_matchers/base'
2
-
3
- module Mocha
4
-
5
- module ParameterMatchers
6
-
7
- # :call-seq: any_of(*parameter_matchers) -> parameter_matcher
8
- #
9
- # Matches if any +parameter_matchers+ match.
10
- # object = mock()
11
- # object.expects(:method_1).with(any_of(1, 3))
12
- # object.method_1(1)
13
- # # no error raised
14
- #
15
- # object = mock()
16
- # object.expects(:method_1).with(any_of(1, 3))
17
- # object.method_1(3)
18
- # # no error raised
19
- #
20
- # object = mock()
21
- # object.expects(:method_1).with(any_of(1, 3))
22
- # object.method_1(2)
23
- # # error raised, because method_1 was not called with 1 or 3
24
- def any_of(*matchers)
25
- AnyOf.new(*matchers)
26
- end
27
-
28
- class AnyOf < Base # :nodoc:
29
-
30
- def initialize(*matchers)
31
- @matchers = matchers
32
- end
33
-
34
- def matches?(available_parameters)
35
- parameter = available_parameters.shift
36
- @matchers.any? { |matcher| matcher.to_matcher.matches?([parameter]) }
37
- end
38
-
39
- def mocha_inspect
40
- "any_of(#{@matchers.map { |matcher| matcher.mocha_inspect }.join(", ") })"
41
- end
42
-
43
- end
44
-
45
- end
46
-
47
- end