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,236 +0,0 @@
1
- module ThoughtBot # :nodoc:
2
- module Shoulda # :nodoc:
3
- module Controller
4
- # Formats tested by #should_be_restful. Defaults to [:html, :xml]
5
- VALID_FORMATS = Dir.glob(File.join(File.dirname(__FILE__), 'formats', '*.rb')).map { |f| File.basename(f, '.rb') }.map(&:to_sym) # :doc:
6
- VALID_FORMATS.each {|f| require "shoulda/controller/formats/#{f}"}
7
-
8
- # Actions tested by #should_be_restful
9
- VALID_ACTIONS = [:index, :show, :new, :edit, :create, :update, :destroy] # :doc:
10
-
11
- # A ResourceOptions object is passed into should_be_restful in order to configure the tests for your controller.
12
- #
13
- # Example:
14
- # class UsersControllerTest < Test::Unit::TestCase
15
- # fixtures :all
16
- #
17
- # def setup
18
- # ...normal setup code...
19
- # @user = User.find(:first)
20
- # end
21
- #
22
- # should_be_restful do |resource|
23
- # resource.identifier = :id
24
- # resource.klass = User
25
- # resource.object = :user
26
- # resource.parent = []
27
- # resource.actions = [:index, :show, :new, :edit, :update, :create, :destroy]
28
- # resource.formats = [:html, :xml]
29
- #
30
- # resource.create.params = { :name => "bob", :email => 'bob@bob.com', :age => 13}
31
- # resource.update.params = { :name => "sue" }
32
- #
33
- # resource.create.redirect = "user_url(@user)"
34
- # resource.update.redirect = "user_url(@user)"
35
- # resource.destroy.redirect = "users_url"
36
- #
37
- # resource.create.flash = /created/i
38
- # resource.update.flash = /updated/i
39
- # resource.destroy.flash = /removed/i
40
- # end
41
- # end
42
- #
43
- # Whenever possible, the resource attributes will be set to sensible defaults.
44
- #
45
- class ResourceOptions
46
- # Configuration options for the create, update, destroy actions under should_be_restful
47
- class ActionOptions
48
- # String evaled to get the target of the redirection.
49
- # All of the instance variables set by the controller will be available to the
50
- # evaled code.
51
- #
52
- # Example:
53
- # resource.create.redirect = "user_url(@user.company, @user)"
54
- #
55
- # Defaults to a generated url based on the name of the controller, the action, and the resource.parents list.
56
- attr_accessor :redirect
57
-
58
- # String or Regexp describing a value expected in the flash. Will match against any flash key.
59
- #
60
- # Defaults:
61
- # destroy:: /removed/
62
- # create:: /created/
63
- # update:: /updated/
64
- attr_accessor :flash
65
-
66
- # Hash describing the params that should be sent in with this action.
67
- attr_accessor :params
68
- end
69
-
70
- # Configuration options for the denied actions under should_be_restful
71
- #
72
- # Example:
73
- # context "The public" do
74
- # setup do
75
- # @request.session[:logged_in] = false
76
- # end
77
- #
78
- # should_be_restful do |resource|
79
- # resource.parent = :user
80
- #
81
- # resource.denied.actions = [:index, :show, :edit, :new, :create, :update, :destroy]
82
- # resource.denied.flash = /get outta here/i
83
- # resource.denied.redirect = 'new_session_url'
84
- # end
85
- # end
86
- #
87
- class DeniedOptions
88
- # String evaled to get the target of the redirection.
89
- # All of the instance variables set by the controller will be available to the
90
- # evaled code.
91
- #
92
- # Example:
93
- # resource.create.redirect = "user_url(@user.company, @user)"
94
- attr_accessor :redirect
95
-
96
- # String or Regexp describing a value expected in the flash. Will match against any flash key.
97
- #
98
- # Example:
99
- # resource.create.flash = /created/
100
- attr_accessor :flash
101
-
102
- # Actions that should be denied (only used by resource.denied). <i>Note that these actions will
103
- # only be tested if they are also listed in +resource.actions+</i>
104
- # The special value of :all will deny all of the REST actions.
105
- attr_accessor :actions
106
- end
107
-
108
- # Name of key in params that references the primary key.
109
- # Will almost always be :id (default), unless you are using a plugin or have patched rails.
110
- attr_accessor :identifier
111
-
112
- # Name of the ActiveRecord class this resource is responsible for. Automatically determined from
113
- # test class if not explicitly set. UserTest => "User"
114
- attr_accessor :klass
115
-
116
- # Name of the instantiated ActiveRecord object that should be used by some of the tests.
117
- # Defaults to the underscored name of the AR class. CompanyManager => :company_manager
118
- attr_accessor :object
119
-
120
- # Name of the parent AR objects. Can be set as parent= or parents=, and can take either
121
- # the name of the parent resource (if there's only one), or an array of names (if there's
122
- # more than one).
123
- #
124
- # Example:
125
- # # in the routes...
126
- # map.resources :companies do
127
- # map.resources :people do
128
- # map.resources :limbs
129
- # end
130
- # end
131
- #
132
- # # in the tests...
133
- # class PeopleControllerTest < Test::Unit::TestCase
134
- # should_be_restful do |resource|
135
- # resource.parent = :companies
136
- # end
137
- # end
138
- #
139
- # class LimbsControllerTest < Test::Unit::TestCase
140
- # should_be_restful do |resource|
141
- # resource.parents = [:companies, :people]
142
- # end
143
- # end
144
- attr_accessor :parent
145
- alias parents parent
146
- alias parents= parent=
147
-
148
- # Actions that should be tested. Must be a subset of VALID_ACTIONS (default).
149
- # Tests for each actionw will only be generated if the action is listed here.
150
- # The special value of :all will test all of the REST actions.
151
- #
152
- # Example (for a read-only controller):
153
- # resource.actions = [:show, :index]
154
- attr_accessor :actions
155
-
156
- # Formats that should be tested. Must be a subset of VALID_FORMATS (default).
157
- # Each action will be tested against the formats listed here. The special value
158
- # of :all will test all of the supported formats.
159
- #
160
- # Example:
161
- # resource.actions = [:html, :xml]
162
- attr_accessor :formats
163
-
164
- # ActionOptions object specifying options for the create action.
165
- attr_accessor :create
166
-
167
- # ActionOptions object specifying options for the update action.
168
- attr_accessor :update
169
-
170
- # ActionOptions object specifying options for the desrtoy action.
171
- attr_accessor :destroy
172
-
173
- # DeniedOptions object specifying which actions should return deny a request, and what should happen in that case.
174
- attr_accessor :denied
175
-
176
- def initialize # :nodoc:
177
- @create = ActionOptions.new
178
- @update = ActionOptions.new
179
- @destroy = ActionOptions.new
180
- @denied = DeniedOptions.new
181
-
182
- @create.flash ||= /created/i
183
- @update.flash ||= /updated/i
184
- @destroy.flash ||= /removed/i
185
- @denied.flash ||= /denied/i
186
-
187
- @create.params ||= {}
188
- @update.params ||= {}
189
-
190
- @actions = VALID_ACTIONS
191
- @formats = VALID_FORMATS
192
- @denied.actions = []
193
- end
194
-
195
- def normalize!(target) # :nodoc:
196
- @denied.actions = VALID_ACTIONS if @denied.actions == :all
197
- @actions = VALID_ACTIONS if @actions == :all
198
- @formats = VALID_FORMATS if @formats == :all
199
-
200
- @denied.actions = @denied.actions.map(&:to_sym)
201
- @actions = @actions.map(&:to_sym)
202
- @formats = @formats.map(&:to_sym)
203
-
204
- ensure_valid_members(@actions, VALID_ACTIONS, 'actions')
205
- ensure_valid_members(@denied.actions, VALID_ACTIONS, 'denied.actions')
206
- ensure_valid_members(@formats, VALID_FORMATS, 'formats')
207
-
208
- @identifier ||= :id
209
- @klass ||= target.name.gsub(/ControllerTest$/, '').singularize.constantize
210
- @object ||= @klass.name.tableize.singularize
211
- @parent ||= []
212
- @parent = [@parent] unless @parent.is_a? Array
213
-
214
- collection_helper = [@parent, @object.to_s.pluralize, 'url'].flatten.join('_')
215
- collection_args = @parent.map {|n| "@#{object}.#{n}"}.join(', ')
216
- @destroy.redirect ||= "#{collection_helper}(#{collection_args})"
217
-
218
- member_helper = [@parent, @object, 'url'].flatten.join('_')
219
- member_args = [@parent.map {|n| "@#{object}.#{n}"}, "@#{object}"].flatten.join(', ')
220
- @create.redirect ||= "#{member_helper}(#{member_args})"
221
- @update.redirect ||= "#{member_helper}(#{member_args})"
222
- @denied.redirect ||= "new_session_url"
223
- end
224
-
225
- private
226
-
227
- def ensure_valid_members(ary, valid_members, name) # :nodoc:
228
- invalid = ary - valid_members
229
- raise ArgumentError, "Unsupported #{name}: #{invalid.inspect}" unless invalid.empty?
230
- end
231
- end
232
- end
233
- end
234
- end
235
-
236
-
@@ -1,30 +0,0 @@
1
- require 'shoulda'
2
- require 'shoulda/controller/helpers'
3
- require 'shoulda/controller/resource_options'
4
- require 'shoulda/controller/macros'
5
-
6
- module Test # :nodoc: all
7
- module Unit
8
- class TestCase
9
- extend ThoughtBot::Shoulda::Controller::Macros
10
- include ThoughtBot::Shoulda::Controller::Helpers
11
- ThoughtBot::Shoulda::Controller::VALID_FORMATS.each do |format|
12
- include "ThoughtBot::Shoulda::Controller::#{format.to_s.upcase}".constantize
13
- end
14
- end
15
- end
16
- end
17
-
18
- require 'shoulda/active_record/assertions'
19
- require 'shoulda/action_mailer/assertions'
20
-
21
- module ActionController #:nodoc: all
22
- module Integration
23
- class Session
24
- include ThoughtBot::Shoulda::Assertions
25
- include ThoughtBot::Shoulda::Helpers
26
- include ThoughtBot::Shoulda::ActiveRecord::Assertions
27
- include ThoughtBot::Shoulda::ActionMailer::Assertions
28
- end
29
- end
30
- end
@@ -1,10 +0,0 @@
1
- module ThoughtBot # :nodoc:
2
- module Shoulda # :nodoc:
3
- module Helpers
4
- # Prints a message to stdout, tagged with the name of the calling method.
5
- def report!(msg = "")
6
- puts("#{caller.first}: #{msg}")
7
- end
8
- end
9
- end
10
- end
@@ -1,74 +0,0 @@
1
- require 'shoulda/private_helpers'
2
-
3
- module ThoughtBot # :nodoc:
4
- module Shoulda # :nodoc:
5
- module Macros
6
- # Macro that creates a test asserting a change between the return value
7
- # of an expression that is run before and after the current setup block
8
- # is run. This is similar to Active Support's <tt>assert_difference</tt>
9
- # assertion, but supports more than just numeric values. See also
10
- # should_not_change.
11
- #
12
- # Example:
13
- #
14
- # context "Creating a post"
15
- # setup { Post.create }
16
- # should_change "Post.count", :by => 1
17
- # end
18
- #
19
- # As shown in this example, the <tt>:by</tt> option expects a numeric
20
- # difference between the before and after values of the expression. You
21
- # may also specify <tt>:from</tt> and <tt>:to</tt> options:
22
- #
23
- # should_change "Post.count", :from => 0, :to => 1
24
- # should_change "@post.title", :from => "old", :to => "new"
25
- #
26
- # Combinations of <tt>:by</tt>, <tt>:from</tt>, and <tt>:to</tt> are allowed:
27
- #
28
- # should_change "@post.title" # => assert the value changed in some way
29
- # should_change "@post.title" :from => "old" # => assert the value changed to anything other than "old"
30
- # should_change "@post.title" :to => "new" # => assert the value changed from anything other than "new"
31
- def should_change(expression, options = {})
32
- by, from, to = get_options!([options], :by, :from, :to)
33
- stmt = "change #{expression.inspect}"
34
- stmt << " from #{from.inspect}" if from
35
- stmt << " to #{to.inspect}" if to
36
- stmt << " by #{by.inspect}" if by
37
-
38
- expression_eval = lambda { eval(expression) }
39
- before = lambda { @_before_should_change = expression_eval.bind(self).call }
40
- should stmt, :before => before do
41
- old_value = @_before_should_change
42
- new_value = expression_eval.bind(self).call
43
- assert_operator from, :===, old_value, "#{expression.inspect} did not originally match #{from.inspect}" if from
44
- assert_not_equal old_value, new_value, "#{expression.inspect} did not change" unless by == 0
45
- assert_operator to, :===, new_value, "#{expression.inspect} was not changed to match #{to.inspect}" if to
46
- assert_equal old_value + by, new_value if by
47
- end
48
- end
49
-
50
- # Macro that creates a test asserting no change between the return value
51
- # of an expression that is run before and after the current setup block
52
- # is run. This is the logical opposite of should_change.
53
- #
54
- # Example:
55
- #
56
- # context "Updating a post"
57
- # setup { @post.update_attributes(:title => "new") }
58
- # should_not_change "Post.count"
59
- # end
60
- def should_not_change(expression)
61
- expression_eval = lambda { eval(expression) }
62
- before = lambda { @_before_should_not_change = expression_eval.bind(self).call }
63
- should "not change #{expression.inspect}", :before => before do
64
- new_value = expression_eval.bind(self).call
65
- assert_equal @_before_should_not_change, new_value, "#{expression.inspect} changed"
66
- end
67
- end
68
-
69
- private
70
-
71
- include ThoughtBot::Shoulda::Private
72
- end
73
- end
74
- end
@@ -1,22 +0,0 @@
1
- module ThoughtBot # :nodoc:
2
- module Shoulda # :nodoc:
3
- module Private # :nodoc:
4
- # Returns the values for the entries in the args hash who's keys are listed in the wanted array.
5
- # Will raise if there are keys in the args hash that aren't listed.
6
- def get_options!(args, *wanted)
7
- ret = []
8
- opts = (args.last.is_a?(Hash) ? args.pop : {})
9
- wanted.each {|w| ret << opts.delete(w)}
10
- raise ArgumentError, "Unsupported options given: #{opts.keys.join(', ')}" unless opts.keys.empty?
11
- return *ret
12
- end
13
-
14
- # Returns the model class constant, as determined by the test class name.
15
- #
16
- # class TestUser; model_class; end => User
17
- def model_class
18
- self.name.gsub(/Test$/, '').constantize
19
- end
20
- end
21
- end
22
- end
@@ -1,14 +0,0 @@
1
- # Stolen straight from ActiveSupport
2
-
3
- class Proc #:nodoc:
4
- def bind(object)
5
- block, time = self, Time.now
6
- (class << object; self end).class_eval do
7
- method_name = "__bind_#{time.to_i}_#{time.usec}"
8
- define_method(method_name, &block)
9
- method = instance_method(method_name)
10
- remove_method(method_name)
11
- method
12
- end.bind(object)
13
- end
14
- end
@@ -1,19 +0,0 @@
1
- require 'rubygems'
2
- require 'active_support'
3
- require 'shoulda'
4
-
5
- require 'shoulda/active_record' if defined? ActiveRecord::Base
6
- require 'shoulda/controller' if defined? ActionController::Base
7
- require 'shoulda/action_mailer' if defined? ActionMailer::Base
8
-
9
- if defined?(RAILS_ROOT)
10
- # load in the 3rd party macros from vendorized plugins and gems
11
- Dir[File.join(RAILS_ROOT, "vendor", "{plugins,gems}", "*", "shoulda_macros", "*.rb")].each do |macro_file_path|
12
- require macro_file_path
13
- end
14
-
15
- # load in the local application specific macros
16
- Dir[File.join(RAILS_ROOT, "test", "shoulda_macros", "*.rb")].each do |macro_file_path|
17
- require macro_file_path
18
- end
19
- end
@@ -1,24 +0,0 @@
1
- namespace :shoulda do
2
- desc "List the names of the test methods in a specification like format"
3
- task :list do
4
- $LOAD_PATH.unshift("test")
5
-
6
- require 'test/unit'
7
- require 'rubygems'
8
- require 'active_support'
9
-
10
- # bug in test unit. Set to true to stop from running.
11
- Test::Unit.run = true
12
-
13
- test_files = Dir.glob(File.join('test', '**', '*_test.rb'))
14
- test_files.each do |file|
15
- load file
16
- klass = File.basename(file, '.rb').classify.constantize
17
-
18
- puts klass.name.gsub('Test', '')
19
-
20
- test_methods = klass.instance_methods.grep(/^test/).map {|s| s.gsub(/^test: /, '')}.sort
21
- test_methods.each {|m| puts " " + m }
22
- end
23
- end
24
- end
@@ -1,28 +0,0 @@
1
- namespace :shoulda do
2
- # From http://blog.internautdesign.com/2007/11/2/a-yaml_to_shoulda-rake-task
3
- # David.Lowenfels@gmail.com
4
- desc "Converts a YAML file (FILE=./path/to/yaml) into a Shoulda skeleton"
5
- task :from_yaml do
6
- require 'yaml'
7
-
8
- def yaml_to_context(hash, indent = 0)
9
- indent1 = ' ' * indent
10
- indent2 = ' ' * (indent + 1)
11
- hash.each_pair do |context, shoulds|
12
- puts indent1 + "context \"#{context}\" do"
13
- puts
14
- shoulds.each do |should|
15
- yaml_to_context( should, indent + 1 ) and next if should.is_a?( Hash )
16
- puts indent2 + "should_eventually \"" + should.gsub(/^should +/,'') + "\" do"
17
- puts indent2 + "end"
18
- puts
19
- end
20
- puts indent1 + "end"
21
- end
22
- end
23
-
24
- puts("Please pass in a FILE argument.") and exit unless ENV['FILE']
25
-
26
- yaml_to_context( YAML.load_file( ENV['FILE'] ) )
27
- end
28
- end
@@ -1,3 +0,0 @@
1
- Dir[File.join(File.dirname(__FILE__), 'tasks', '*.rake')].each do |f|
2
- load f
3
- end
@@ -1,17 +0,0 @@
1
- require 'shoulda/context'
2
- require 'shoulda/proc_extensions'
3
- require 'shoulda/assertions'
4
- require 'shoulda/macros'
5
- require 'shoulda/helpers'
6
- require 'shoulda/rails' if defined? RAILS_ROOT
7
-
8
- module Test # :nodoc: all
9
- module Unit
10
- class TestCase
11
- extend Thoughtbot::Shoulda
12
- include ThoughtBot::Shoulda::Assertions
13
- extend ThoughtBot::Shoulda::Macros
14
- include ThoughtBot::Shoulda::Helpers
15
- end
16
- end
17
- end
@@ -1 +0,0 @@
1
- require 'shoulda/rails'
@@ -1,36 +0,0 @@
1
- The Shoulda test suite (in particular - the tests that test shoulda)
2
-
3
- Quick overview:
4
-
5
- The test directory contains the following files and subdirectories:
6
-
7
- * rails_root - contains the stripped down rails application that the tests run against. The rails root contains:
8
- ** the models, controllers, and views defined under app/
9
- ** the sqlite3.rb environment file
10
- ** a migration file for each model
11
- ** a shoulda initializer that simulates loading the plugin but without relying on vendor/plugins
12
- * fixtures - contain the sample DB data for each model
13
- * functional - controller tests for each of the controllers under rails_root/app
14
- * unit - model tests for each of the models under rails_root/app
15
- * other - tests for the shoulda contexts, should statements, and assertions
16
- * test_helper.rb - responsible for initializing the test environment
17
- ** sets the rails_env to sqlite3
18
- ** sets the rails_root
19
- ** runs all the migrations against the in-memory sqlite3 db
20
- ** adds some magic to load the right fixture files
21
-
22
- In order to add a new model (or controller) to the test suite:
23
-
24
- * add that model to rails_root/app/models
25
- * add a migration for that model
26
- * add a fixture file
27
- * add a test for that file under test/units
28
-
29
- Dependencies:
30
-
31
- * Rails gem installed in the host system
32
- * A working sqlite3 installation.
33
-
34
- If you have problems running these tests, please notify the mailing list: shoulda@googlegroups.com
35
-
36
- - Tammer Saleh <tsaleh@thoughtbot.com>
@@ -1,34 +0,0 @@
1
- module Thoughtbot
2
- module Shoulda
3
- class << self
4
- attr_accessor :expected_exceptions
5
- end
6
-
7
- # Enables the core shoulda test suite to test for failure scenarios. For
8
- # example, to ensure that a set of test macros should fail, do this:
9
- #
10
- # should_fail do
11
- # should_require_attributes :comments
12
- # should_protect_attributes :name
13
- # end
14
- def should_fail(&block)
15
- context "should fail when trying to run:" do
16
- Shoulda.expected_exceptions = [Test::Unit::AssertionFailedError]
17
- yield block
18
- Shoulda.expected_exceptions = nil
19
- end
20
- end
21
-
22
- class Context
23
- # alias_method_chain hack to allow the should_fail macro to work
24
- def should_with_failure_scenario(name, options = {}, &block)
25
- if Shoulda.expected_exceptions
26
- expected_exceptions = Shoulda.expected_exceptions
27
- failure_block = lambda { assert_raise(*expected_exceptions, &block.bind(self)) }
28
- end
29
- should_without_failure_scenario(name, options, &(failure_block || block))
30
- end
31
- alias_method_chain :should, :failure_scenario
32
- end
33
- end
34
- end
@@ -1,3 +0,0 @@
1
- first:
2
- title: Home
3
- addressable: first (User)
@@ -1,5 +0,0 @@
1
- first:
2
- id: 1
3
- title: My Cute Kitten!
4
- body: This is totally a cute kitten
5
- user_id: 1
@@ -1,9 +0,0 @@
1
- first:
2
- id: 1
3
- name: Stuff
4
- second:
5
- id: 2
6
- name: Rails
7
- third:
8
- id: 3
9
- name: Nothing
@@ -1,6 +0,0 @@
1
- first:
2
- id: 1
3
- name: Some dude
4
- age: 2
5
- email: none@none.com
6
- ssn: 123456789