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,104 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "test_helper")
2
- require 'mocha/sequence'
3
- require 'mocha/expectation'
4
-
5
- class SequenceTest < Test::Unit::TestCase
6
-
7
- include Mocha
8
-
9
- class FakeExpectation
10
-
11
- attr_reader :ordering_constraints
12
-
13
- def initialize(satisfied = false)
14
- @satisfied = satisfied
15
- @ordering_constraints = []
16
- end
17
-
18
- def add_ordering_constraint(ordering_constraint)
19
- @ordering_constraints << ordering_constraint
20
- end
21
-
22
- def satisfied?
23
- @satisfied
24
- end
25
-
26
- end
27
-
28
- def test_should_be_satisfied_if_no_expectations_added
29
- sequence = Sequence.new('name')
30
- assert sequence.satisfied_to_index?(0)
31
- end
32
-
33
- def test_should_be_satisfied_if_one_unsatisfied_expectations_added_but_it_is_not_included_by_index
34
- sequence = Sequence.new('name')
35
- expectation = FakeExpectation.new(satisfied = false)
36
- sequence.constrain_as_next_in_sequence(expectation)
37
- assert sequence.satisfied_to_index?(0)
38
- end
39
-
40
- def test_should_not_be_satisfied_if_one_unsatisfied_expectations_added_and_it_is_included_by_index
41
- sequence = Sequence.new('name')
42
- expectation = FakeExpectation.new(satisfied = false)
43
- sequence.constrain_as_next_in_sequence(expectation)
44
- assert !sequence.satisfied_to_index?(1)
45
- end
46
-
47
- def test_should_be_satisfied_if_one_satisfied_expectations_added_and_it_is_included_by_index
48
- sequence = Sequence.new('name')
49
- expectation = FakeExpectation.new(satisfied = true)
50
- sequence.constrain_as_next_in_sequence(expectation)
51
- assert sequence.satisfied_to_index?(1)
52
- end
53
-
54
- def test_should_not_be_satisfied_if_one_satisfied_and_one_unsatisfied_expectation_added_and_both_are_included_by_index
55
- sequence = Sequence.new('name')
56
- expectation_one = FakeExpectation.new(satisfied = true)
57
- expectation_two = FakeExpectation.new(satisfied = false)
58
- sequence.constrain_as_next_in_sequence(expectation_one)
59
- sequence.constrain_as_next_in_sequence(expectation_two)
60
- assert !sequence.satisfied_to_index?(2)
61
- end
62
-
63
- def test_should_be_satisfied_if_two_satisfied_expectations_added_and_both_are_included_by_index
64
- sequence = Sequence.new('name')
65
- expectation_one = FakeExpectation.new(satisfied = true)
66
- expectation_two = FakeExpectation.new(satisfied = true)
67
- sequence.constrain_as_next_in_sequence(expectation_one)
68
- sequence.constrain_as_next_in_sequence(expectation_two)
69
- assert sequence.satisfied_to_index?(2)
70
- end
71
-
72
- def test_should_add_ordering_constraint_to_expectation
73
- sequence = Sequence.new('name')
74
- expectation = FakeExpectation.new
75
- sequence.constrain_as_next_in_sequence(expectation)
76
- assert_equal 1, expectation.ordering_constraints.length
77
- end
78
-
79
- def test_should_not_allow_invocation_of_second_method_when_first_n_sequence_has_not_been_invoked
80
- sequence = Sequence.new('name')
81
- expectation_one = FakeExpectation.new(satisfied = false)
82
- expectation_two = FakeExpectation.new(satisfied = false)
83
- sequence.constrain_as_next_in_sequence(expectation_one)
84
- sequence.constrain_as_next_in_sequence(expectation_two)
85
- assert !expectation_two.ordering_constraints[0].allows_invocation_now?
86
- end
87
-
88
- def test_should_allow_invocation_of_second_method_when_first_in_sequence_has_been_invoked
89
- sequence = Sequence.new('name')
90
- expectation_one = FakeExpectation.new(satisfied = true)
91
- expectation_two = FakeExpectation.new(satisfied = false)
92
- sequence.constrain_as_next_in_sequence(expectation_one)
93
- sequence.constrain_as_next_in_sequence(expectation_two)
94
- assert expectation_two.ordering_constraints[0].allows_invocation_now?
95
- end
96
-
97
- def test_should_describe_ordering_constraint_as_being_part_of_named_sequence
98
- sequence = Sequence.new('wibble')
99
- expectation = FakeExpectation.new
100
- sequence.constrain_as_next_in_sequence(expectation)
101
- assert_equal "in sequence 'wibble'", expectation.ordering_constraints[0].mocha_inspect
102
- end
103
-
104
- end
@@ -1,14 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "test_helper")
2
-
3
- require 'mocha/single_return_value'
4
-
5
- class SingleReturnValueTest < Test::Unit::TestCase
6
-
7
- include Mocha
8
-
9
- def test_should_return_value
10
- value = SingleReturnValue.new('value')
11
- assert_equal 'value', value.evaluate
12
- end
13
-
14
- end
@@ -1,18 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "test_helper")
2
-
3
- require 'mocha/single_yield'
4
-
5
- class SingleYieldTest < Test::Unit::TestCase
6
-
7
- include Mocha
8
-
9
- def test_should_provide_parameters_for_single_yield_in_single_invocation
10
- parameter_group = SingleYield.new(1, 2, 3)
11
- parameter_groups = []
12
- parameter_group.each do |parameters|
13
- parameter_groups << parameters
14
- end
15
- assert_equal [[1, 2, 3]], parameter_groups
16
- end
17
-
18
- end
@@ -1,98 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "test_helper")
2
-
3
- require 'mocha/state_machine'
4
-
5
- class StateMachineTest < Test::Unit::TestCase
6
-
7
- include Mocha
8
-
9
- def test_should_initially_be_in_no_state
10
- state_machine = StateMachine.new('name')
11
- any_state.each do |state|
12
- assert !state_machine.is(state).active?
13
- assert state_machine.is_not(state).active?
14
- end
15
- end
16
-
17
- def test_should_be_able_to_enter_a_state
18
- state_machine = StateMachine.new('name')
19
- state = 'A'
20
- other_states = any_state.reject { |s| s == state }
21
-
22
- state_machine.is(state).activate
23
-
24
- assert state_machine.is(state).active?
25
- assert !state_machine.is_not(state).active?
26
- other_states.each do |s|
27
- assert !state_machine.is(s).active?
28
- assert state_machine.is_not(s).active?
29
- end
30
- end
31
-
32
- def test_should_be_able_to_change_state
33
- state_machine = StateMachine.new('name')
34
- state = 'B'
35
- other_states = any_state.reject { |s| s == state }
36
-
37
- state_machine.is('A').activate
38
- state_machine.is(state).activate
39
-
40
- assert state_machine.is(state).active?
41
- assert !state_machine.is_not(state).active?
42
- other_states.each do |s|
43
- assert !state_machine.is(s).active?
44
- assert state_machine.is_not(s).active?
45
- end
46
- end
47
-
48
- def test_should_be_put_into_an_initial_state
49
- state_machine = StateMachine.new('name')
50
- initial_state = 'A'
51
- other_states = any_state.reject { |s| s == initial_state }
52
-
53
- state_machine.starts_as(initial_state)
54
-
55
- assert state_machine.is(initial_state).active?
56
- assert !state_machine.is_not(initial_state).active?
57
- other_states.each do |state|
58
- assert !state_machine.is(state).active?
59
- assert state_machine.is_not(state).active?
60
- end
61
- end
62
-
63
- def test_should_be_put_into_a_new_state
64
- next_state = 'B'
65
-
66
- other_states = any_state.reject { |s| s == next_state }
67
- state_machine = StateMachine.new('name').starts_as('A')
68
-
69
- state_machine.become(next_state)
70
-
71
- assert state_machine.is(next_state).active?
72
- assert !state_machine.is_not(next_state).active?
73
- other_states.each do |state|
74
- assert !state_machine.is(state).active?
75
- assert state_machine.is_not(state).active?
76
- end
77
- end
78
-
79
- def test_should_describe_itself_as_name_and_current_state
80
- state_machine = StateMachine.new('state_machine_name')
81
- assert_equal 'state_machine_name has no current state', state_machine.mocha_inspect
82
- inspectable_state = Class.new { define_method(:mocha_inspect) { "'inspectable_state'" } }.new
83
- state_machine.is(inspectable_state).activate
84
- assert_equal "state_machine_name is 'inspectable_state'", state_machine.mocha_inspect
85
- end
86
-
87
- def test_should_have_self_describing_states
88
- state_machine = StateMachine.new('state_machine_name')
89
- inspectable_state = Class.new { define_method(:mocha_inspect) { "'inspectable_state'" } }.new
90
- assert_equal "state_machine_name is 'inspectable_state'", state_machine.is(inspectable_state).mocha_inspect
91
- assert_equal "state_machine_name is not 'inspectable_state'", state_machine.is_not(inspectable_state).mocha_inspect
92
- end
93
-
94
- def any_state
95
- %w(A B C D)
96
- end
97
-
98
- end
@@ -1,11 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "test_helper")
2
- require 'mocha/inspect'
3
-
4
- class StringInspectTest < Test::Unit::TestCase
5
-
6
- def test_should_replace_escaped_quotes_with_single_quote
7
- string = "my_string"
8
- assert_equal "'my_string'", string.mocha_inspect
9
- end
10
-
11
- end
@@ -1,93 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "test_helper")
2
-
3
- require 'mocha/yield_parameters'
4
- require 'mocha/no_yields'
5
- require 'mocha/single_yield'
6
- require 'mocha/multiple_yields'
7
-
8
- class YieldParametersTest < Test::Unit::TestCase
9
-
10
- include Mocha
11
-
12
- def test_should_return_null_yield_parameter_group_by_default
13
- yield_parameters = YieldParameters.new
14
- assert yield_parameters.next_invocation.is_a?(NoYields)
15
- end
16
-
17
- def test_should_return_single_yield_parameter_group
18
- yield_parameters = YieldParameters.new
19
- yield_parameters.add(1, 2, 3)
20
- parameter_group = yield_parameters.next_invocation
21
- assert parameter_group.is_a?(SingleYield)
22
- assert_equal [1, 2, 3], parameter_group.parameters
23
- end
24
-
25
- def test_should_keep_returning_single_yield_parameter_group
26
- yield_parameters = YieldParameters.new
27
- yield_parameters.add(1, 2, 3)
28
- yield_parameters.next_invocation
29
- parameter_group = yield_parameters.next_invocation
30
- assert parameter_group.is_a?(SingleYield)
31
- assert_equal [1, 2, 3], parameter_group.parameters
32
- parameter_group = yield_parameters.next_invocation
33
- assert parameter_group.is_a?(SingleYield)
34
- assert_equal [1, 2, 3], parameter_group.parameters
35
- end
36
-
37
- def test_should_return_consecutive_single_yield_parameter_groups
38
- yield_parameters = YieldParameters.new
39
- yield_parameters.add(1, 2, 3)
40
- yield_parameters.add(4, 5)
41
- parameter_group = yield_parameters.next_invocation
42
- assert parameter_group.is_a?(SingleYield)
43
- assert_equal [1, 2, 3], parameter_group.parameters
44
- parameter_group = yield_parameters.next_invocation
45
- assert parameter_group.is_a?(SingleYield)
46
- assert_equal [4, 5], parameter_group.parameters
47
- end
48
-
49
- def test_should_return_multiple_yield_parameter_group
50
- yield_parameters = YieldParameters.new
51
- yield_parameters.multiple_add([1, 2, 3], [4, 5])
52
- parameter_group = yield_parameters.next_invocation
53
- assert parameter_group.is_a?(MultipleYields)
54
- assert_equal [[1, 2, 3], [4, 5]], parameter_group.parameter_groups
55
- end
56
-
57
- def test_should_keep_returning_multiple_yield_parameter_group
58
- yield_parameters = YieldParameters.new
59
- yield_parameters.multiple_add([1, 2, 3], [4, 5])
60
- yield_parameters.next_invocation
61
- parameter_group = yield_parameters.next_invocation
62
- assert parameter_group.is_a?(MultipleYields)
63
- assert_equal [[1, 2, 3], [4, 5]], parameter_group.parameter_groups
64
- parameter_group = yield_parameters.next_invocation
65
- assert parameter_group.is_a?(MultipleYields)
66
- assert_equal [[1, 2, 3], [4, 5]], parameter_group.parameter_groups
67
- end
68
-
69
- def test_should_return_consecutive_multiple_yield_parameter_groups
70
- yield_parameters = YieldParameters.new
71
- yield_parameters.multiple_add([1, 2, 3], [4, 5])
72
- yield_parameters.multiple_add([6, 7], [8, 9, 0])
73
- parameter_group = yield_parameters.next_invocation
74
- assert parameter_group.is_a?(MultipleYields)
75
- assert_equal [[1, 2, 3], [4, 5]], parameter_group.parameter_groups
76
- parameter_group = yield_parameters.next_invocation
77
- assert parameter_group.is_a?(MultipleYields)
78
- assert_equal [[6, 7], [8, 9, 0]], parameter_group.parameter_groups
79
- end
80
-
81
- def test_should_return_consecutive_single_and_multiple_yield_parameter_groups
82
- yield_parameters = YieldParameters.new
83
- yield_parameters.add(1, 2, 3)
84
- yield_parameters.multiple_add([4, 5, 6], [7, 8])
85
- parameter_group = yield_parameters.next_invocation
86
- assert parameter_group.is_a?(SingleYield)
87
- assert_equal [1, 2, 3], parameter_group.parameters
88
- parameter_group = yield_parameters.next_invocation
89
- assert parameter_group.is_a?(MultipleYields)
90
- assert_equal [[4, 5, 6], [7, 8]], parameter_group.parameter_groups
91
- end
92
-
93
- end
@@ -1,12 +0,0 @@
1
- We're using GitHub[http://github.com/thoughtbot/shoulda/tree/master] and Lighthouse[http://thoughtbot.lighthouseapp.com/projects/5807], and we've been getting any combination of github pull requests, Lighthouse tickets, patches, emails, etc. We need to normalize this workflow to make sure we don't miss any fixes.
2
-
3
- * Make sure you're accessing the source from the {official repository}[http://github.com/thoughtbot/shoulda/tree/master].
4
- * We prefer git branches over patches, but we can take either.
5
- * If you're using git, please make a branch for each separate contribution. We can cherry pick your commits, but pulling from a branch is easier.
6
- * If you're submitting patches, please cut each fix or feature into a separate patch.
7
- * There should be a Lighthouse[http://thoughtbot.lighthouseapp.com/projects/5807] ticket for any submission. If you've found a bug and want to fix it, open a new ticket at the same time.
8
- * We've got github/lighthouse integration going, so you can update tickets when you commit. {This blog post}[http://hoth.entp.com/2008/4/11/github-and-lighthouse-sitting-in-a-tree] explains the commit options pretty well.
9
- * Please <b>don't send pull requests</b> Just update the lighthouse ticket with the url for your fix (or attach the patch) when it's ready. The github pull requests pretty much get dropped on the floor until someone with commit rights notices them in the mailbox.
10
- * Contributions without tests won't be accepted. The file <tt>/test/README</tt> explains the testing system pretty thoroughly.
11
-
12
-
@@ -1,22 +0,0 @@
1
- Copyright (c) 2007, Tammer Saleh, Thoughtbot, Inc.
2
-
3
- Permission is hereby granted, free of charge, to any person
4
- obtaining a copy of this software and associated documentation
5
- files (the "Software"), to deal in the Software without
6
- restriction, including without limitation the rights to use,
7
- copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- copies of the Software, and to permit persons to whom the
9
- Software is furnished to do so, subject to the following
10
- conditions:
11
-
12
- The above copyright notice and this permission notice shall be
13
- included in all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
- OTHER DEALINGS IN THE SOFTWARE.
@@ -1,132 +0,0 @@
1
- = Shoulda - Making tests easy on the fingers and eyes
2
-
3
- Shoulda makes it easy to write elegant, understandable, and maintainable tests. Shoulda consists of test macros, assertions, and helpers added on to the Test::Unit framework. It's fully compatible with your existing tests, and requires no retooling to use.
4
-
5
- Helpers:: #context and #should give you rSpec like test blocks.
6
- In addition, you get nested contexts and a much more readable syntax.
7
- Macros:: Generate hundreds of lines of Controller and ActiveRecord tests with these powerful macros.
8
- They get you started quickly, and can help you ensure that your application is conforming to best practices.
9
- Assertions:: Many common rails testing idioms have been distilled into a set of useful assertions.
10
-
11
- = Usage
12
-
13
- === Context Helpers (ThoughtBot::Shoulda::Context)
14
-
15
- Stop killing your fingers with all of those underscores... Name your tests with plain sentences!
16
-
17
- class UserTest << Test::Unit::TestCase
18
- context "A User instance" do
19
- setup do
20
- @user = User.find(:first)
21
- end
22
-
23
- should "return its full name" do
24
- assert_equal 'John Doe', @user.full_name
25
- end
26
-
27
- context "with a profile" do
28
- setup do
29
- @user.profile = Profile.find(:first)
30
- end
31
-
32
- should "return true when sent #has_profile?" do
33
- assert @user.has_profile?
34
- end
35
- end
36
- end
37
- end
38
-
39
- Produces the following test methods:
40
-
41
- "test: A User instance should return its full name."
42
- "test: A User instance with a profile should return true when sent #has_profile?."
43
-
44
- So readable!
45
-
46
- === ActiveRecord Tests (ThoughtBot::Shoulda::ActiveRecord::Macros)
47
-
48
- Quick macro tests for your ActiveRecord associations and validations:
49
-
50
- class PostTest < Test::Unit::TestCase
51
- fixtures :all
52
-
53
- should_belong_to :user
54
- should_have_many :tags, :through => :taggings
55
-
56
- should_require_unique_attributes :title
57
- should_require_attributes :body, :message => /wtf/
58
- should_require_attributes :title
59
- should_only_allow_numeric_values_for :user_id
60
- end
61
-
62
- class UserTest < Test::Unit::TestCase
63
- should_have_many :posts
64
-
65
- should_not_allow_values_for :email, "blah", "b lah"
66
- should_allow_values_for :email, "a@b.com", "asdf@asdf.com"
67
- should_ensure_length_in_range :email, 1..100
68
- should_ensure_value_in_range :age, 1..100
69
- should_protect_attributes :password
70
- end
71
-
72
- Makes TDD so much easier.
73
-
74
- === Controller Tests (ThoughtBot::Shoulda::Controller::Macros)
75
-
76
- Macros to test the most common controller patterns...
77
-
78
- context "on GET to :show for first record" do
79
- setup do
80
- get :show, :id => 1
81
- end
82
-
83
- should_assign_to :user
84
- should_respond_with :success
85
- should_render_template :show
86
- should_not_set_the_flash
87
-
88
- should "do something else really cool" do
89
- assert_equal 1, assigns(:user).id
90
- end
91
- end
92
-
93
- Test entire controllers in a few lines...
94
-
95
- class PostsControllerTest < Test::Unit::TestCase
96
- should_be_restful do |resource|
97
- resource.parent = :user
98
-
99
- resource.create.params = { :title => "first post", :body => 'blah blah blah'}
100
- resource.update.params = { :title => "changed" }
101
- end
102
- end
103
-
104
- should_be_restful generates 40 tests on the fly, for both html and xml requests.
105
-
106
- === Helpful Assertions (ThoughtBot::Shoulda::Assertions)
107
-
108
- More to come here, but have fun with what's there.
109
-
110
- assert_same_elements([:a, :b, :c], [:c, :a, :b])
111
- assert_contains(['a', '1'], /\d/)
112
- assert_contains(['a', '1'], 'a')
113
-
114
- === 3rd Party and Application Specific Macros
115
-
116
- Any *.rb file under RAILS_ROOT/test/shoulda_macros/ or vendor/(plugins|gems)/gem_name/shoulda_macros/ will be automatically required when you run your tests. This allows you to distribute macros with your plugins, or to organize the macros inside your application. Remember to add your macro to Test::Unit::TestCase in the macro file:
117
-
118
- # test/shoulda_macros/security.rb
119
- class Test::Unit::TestCase
120
- def self.should_be_denied(opts = {})
121
- should_set_the_flash_to(opts[:flash] || /Please log in/i)
122
- should_redirect_to(opts[:redirect] || 'login_url')
123
- end
124
- end
125
-
126
- = Credits
127
-
128
- Shoulda is maintained by {Tammer Saleh}[mailto:tsaleh@thoughtbot.com], and is funded by Thoughtbot[http://www.thoughtbot.com], inc.
129
-
130
- = License
131
-
132
- Shoulda is Copyright © 2006-2008 Tammer Saleh, Thoughtbot. It is free software, and may be redistributed under the terms specified in the MIT-LICENSE file.
@@ -1,72 +0,0 @@
1
- require 'rake'
2
- require 'rake/testtask'
3
- require 'rake/rdoctask'
4
- require 'rake/gempackagetask'
5
- require 'lib/shoulda/context'
6
- load 'tasks/shoulda.rake'
7
-
8
- # Test::Unit::UI::VERBOSE
9
- test_files_pattern = 'test/{unit,functional,other}/**/*_test.rb'
10
- Rake::TestTask.new do |t|
11
- t.libs << 'lib'
12
- t.pattern = test_files_pattern
13
- t.verbose = false
14
- end
15
-
16
- Rake::RDocTask.new { |rdoc|
17
- rdoc.rdoc_dir = 'doc'
18
- rdoc.title = "Shoulda -- Making tests easy on the fingers and eyes"
19
- rdoc.options << '--line-numbers' << '--inline-source'
20
- rdoc.template = "#{ENV['template']}.rb" if ENV['template']
21
- rdoc.rdoc_files.include('README.rdoc', 'CONTRIBUTION_GUIDELINES.rdoc', 'lib/**/*.rb')
22
- }
23
-
24
- desc "Run code-coverage analysis using rcov"
25
- task :coverage do
26
- rm_rf "coverage"
27
- files = Dir[test_files_pattern]
28
- system "rcov --rails --sort coverage -Ilib #{files.join(' ')}"
29
- end
30
-
31
- desc 'Update documentation on website'
32
- task :sync_docs => 'rdoc' do
33
- `rsync -ave ssh doc/ dev@dev.thoughtbot.com:/home/dev/www/dev.thoughtbot.com/shoulda`
34
- end
35
-
36
- desc 'Default: run tests.'
37
- task :default => ['test']
38
-
39
- spec = Gem::Specification.new do |s|
40
- s.name = "shoulda"
41
- s.version = Thoughtbot::Shoulda::VERSION
42
- s.summary = "Making tests easy on the fingers and eyes"
43
- s.homepage = "http://thoughtbot.com/projects/shoulda"
44
- s.rubyforge_project = "shoulda"
45
-
46
- s.files = FileList["[A-Z]*", "{bin,lib,rails,test}/**/*"]
47
- s.executables = s.files.grep(/^bin/) { |f| File.basename(f) }
48
-
49
- s.has_rdoc = true
50
- s.extra_rdoc_files = ["README.rdoc", "CONTRIBUTION_GUIDELINES.rdoc"]
51
- s.rdoc_options = ["--line-numbers", "--inline-source", "--main", "README.rdoc"]
52
-
53
- s.authors = ["Tammer Saleh"]
54
- s.email = "tsaleh@thoughtbot.com"
55
-
56
- s.add_dependency "activesupport", ">= 2.0.0"
57
- end
58
-
59
- Rake::GemPackageTask.new spec do |pkg|
60
- pkg.need_tar = true
61
- pkg.need_zip = true
62
- end
63
-
64
- desc "Clean files generated by rake tasks"
65
- task :clobber => [:clobber_rdoc, :clobber_package]
66
-
67
- desc "Generate a gemspec file for GitHub"
68
- task :gemspec do
69
- File.open("#{spec.name}.gemspec", 'w') do |f|
70
- f.write spec.to_ruby
71
- end
72
- end
@@ -1,42 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'fileutils'
3
- require 'tmpdir'
4
-
5
- TMP = Dir::tmpdir
6
-
7
- def usage(msg = nil)
8
- puts "Error: #{msg}" if msg
9
- puts if msg
10
- puts "Usage: #{File.basename(__FILE__)} normal_test_file.rb"
11
- puts
12
- puts "Will convert an existing test file with names like "
13
- puts
14
- puts " def test_should_do_stuff"
15
- puts " ..."
16
- puts " end"
17
- puts
18
- puts "to one using the new syntax: "
19
- puts
20
- puts " should \"be super cool\" do"
21
- puts " ..."
22
- puts " end"
23
- puts
24
- puts "A copy of the old file will be left under #{TMP} in case\nthis script just seriously screws up"
25
- puts
26
- exit (msg ? 2 : 0)
27
- end
28
-
29
- usage("Wrong number of arguments.") unless ARGV.size == 1
30
- usage("Temp directory '#{TMP}' is not valid. Set TMPDIR environment variable to a writeable directory.") unless File.directory?(TMP) && File.writable?(TMP)
31
-
32
- file = ARGV.shift
33
- tmpfile = File.join(TMP, File.basename(file))
34
- usage("File '#{file}' doesn't exist") unless File.exists?(file)
35
-
36
- FileUtils.cp(file, tmpfile)
37
- contents = File.read(tmpfile)
38
- contents.gsub!(/def test_should_(\S+)/) {|line| "should \"#{$1.tr('_', ' ')}\" do"}
39
- contents.gsub!(/def test_(\S+)/) {|line| "should \"RENAME ME: test #{$1.tr('_', ' ')}\" do"}
40
- File.open(file, 'w') { |f| f.write(contents) }
41
-
42
- puts "File '#{file}' has been converted to 'should' syntax. Old version has been stored in '#{tmpfile}'"
@@ -1,39 +0,0 @@
1
- module ThoughtBot # :nodoc:
2
- module Shoulda # :nodoc:
3
- module ActionMailer # :nodoc:
4
- module Assertions
5
- # Asserts that an email was delivered. Can take a block that can further
6
- # narrow down the types of emails you're expecting.
7
- #
8
- # assert_sent_email
9
- #
10
- # Passes if ActionMailer::Base.deliveries has an email
11
- #
12
- # assert_sent_email do |email|
13
- # email.subject =~ /hi there/ && email.to.include?('none@none.com')
14
- # end
15
- #
16
- # Passes if there is an email with subject containing 'hi there' and
17
- # 'none@none.com' as one of the recipients.
18
- #
19
- def assert_sent_email
20
- emails = ::ActionMailer::Base.deliveries
21
- assert !emails.empty?, "No emails were sent"
22
- if block_given?
23
- matching_emails = emails.select {|email| yield email }
24
- assert !matching_emails.empty?, "None of the emails matched."
25
- end
26
- end
27
-
28
- # Asserts that no ActionMailer mails were delivered
29
- #
30
- # assert_did_not_send_email
31
- def assert_did_not_send_email
32
- msg = "Sent #{::ActionMailer::Base.deliveries.size} emails.\n"
33
- ::ActionMailer::Base.deliveries.each { |m| msg << " '#{m.subject}' sent to #{m.to.to_sentence}\n" }
34
- assert ::ActionMailer::Base.deliveries.empty?, msg
35
- end
36
- end
37
- end
38
- end
39
- end
@@ -1,10 +0,0 @@
1
- require 'shoulda'
2
- require 'shoulda/action_mailer/assertions'
3
-
4
- module Test # :nodoc: all
5
- module Unit
6
- class TestCase
7
- include ThoughtBot::Shoulda::ActionMailer::Assertions
8
- end
9
- end
10
- end