hashrocket-clearance 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. data/LICENSE +21 -0
  2. data/README.textile +168 -0
  3. data/Rakefile +83 -0
  4. data/TODO.textile +27 -0
  5. data/generators/clearance/USAGE +1 -0
  6. data/generators/clearance/clearance_generator.rb +84 -0
  7. data/generators/clearance/templates/app/controllers/application.rb +5 -0
  8. data/generators/clearance/templates/app/controllers/confirmations_controller.rb +3 -0
  9. data/generators/clearance/templates/app/controllers/passwords_controller.rb +3 -0
  10. data/generators/clearance/templates/app/controllers/sessions_controller.rb +8 -0
  11. data/generators/clearance/templates/app/controllers/users_controller.rb +3 -0
  12. data/generators/clearance/templates/app/models/clearance_mailer.rb +4 -0
  13. data/generators/clearance/templates/app/models/user.rb +3 -0
  14. data/generators/clearance/templates/app/views/clearance_mailer/confirmation.html.erb +1 -0
  15. data/generators/clearance/templates/app/views/clearance_mailer/facebook_welcome.text.html.haml +4 -0
  16. data/generators/clearance/templates/app/views/clearance_mailer/forgot_password.html.erb +6 -0
  17. data/generators/clearance/templates/app/views/passwords/edit.html.erb +18 -0
  18. data/generators/clearance/templates/app/views/passwords/new.html.erb +15 -0
  19. data/generators/clearance/templates/app/views/sessions/new.html.erb +29 -0
  20. data/generators/clearance/templates/app/views/users/_form.html.erb +13 -0
  21. data/generators/clearance/templates/app/views/users/_password_form.html.erb +13 -0
  22. data/generators/clearance/templates/app/views/users/edit_password.html.erb +4 -0
  23. data/generators/clearance/templates/app/views/users/new.html.erb +6 -0
  24. data/generators/clearance/templates/config/initializers/action_mailer.rb +1 -0
  25. data/generators/clearance/templates/public/images/connect_light_medium_long.gif +0 -0
  26. data/generators/clearance/templates/test/factories.rb +9 -0
  27. data/generators/clearance/templates/test/functional/confirmations_controller_test.rb +5 -0
  28. data/generators/clearance/templates/test/functional/passwords_controller_test.rb +5 -0
  29. data/generators/clearance/templates/test/functional/sessions_controller_test.rb +5 -0
  30. data/generators/clearance/templates/test/functional/users_controller_test.rb +5 -0
  31. data/generators/clearance/templates/test/unit/clearance_mailer_test.rb +6 -0
  32. data/generators/clearance/templates/test/unit/user_test.rb +5 -0
  33. data/lib/clearance/app/controllers/application_controller.rb +88 -0
  34. data/lib/clearance/app/controllers/confirmations_controller.rb +36 -0
  35. data/lib/clearance/app/controllers/facebook_sessions_controller.rb +59 -0
  36. data/lib/clearance/app/controllers/passwords_controller.rb +58 -0
  37. data/lib/clearance/app/controllers/sessions_controller.rb +83 -0
  38. data/lib/clearance/app/controllers/users_controller.rb +74 -0
  39. data/lib/clearance/app/models/clearance_facebook_mailer.rb +20 -0
  40. data/lib/clearance/app/models/clearance_mailer.rb +33 -0
  41. data/lib/clearance/app/models/user.rb +125 -0
  42. data/lib/clearance/spec/controllers/sessions_controller_spec.rb +105 -0
  43. data/lib/clearance/spec/models/user_spec.rb +33 -0
  44. data/lib/clearance/test/functional/confirmations_controller_test.rb +50 -0
  45. data/lib/clearance/test/functional/passwords_controller_test.rb +224 -0
  46. data/lib/clearance/test/functional/sessions_controller_test.rb +148 -0
  47. data/lib/clearance/test/functional/users_controller_test.rb +203 -0
  48. data/lib/clearance/test/test_helper.rb +94 -0
  49. data/lib/clearance/test/unit/clearance_mailer_test.rb +65 -0
  50. data/lib/clearance/test/unit/user_test.rb +335 -0
  51. data/lib/clearance/version.rb +7 -0
  52. data/lib/clearance.rb +19 -0
  53. data/test/rails_root/Capfile +3 -0
  54. data/test/rails_root/Rakefile +10 -0
  55. data/test/rails_root/app/controllers/application.rb +5 -0
  56. data/test/rails_root/app/controllers/confirmations_controller.rb +3 -0
  57. data/test/rails_root/app/controllers/passwords_controller.rb +3 -0
  58. data/test/rails_root/app/controllers/sessions_controller.rb +8 -0
  59. data/test/rails_root/app/controllers/users_controller.rb +3 -0
  60. data/test/rails_root/app/helpers/application_helper.rb +5 -0
  61. data/test/rails_root/app/helpers/confirmations_helper.rb +2 -0
  62. data/test/rails_root/app/helpers/passwords_helper.rb +2 -0
  63. data/test/rails_root/app/models/clearance_mailer.rb +4 -0
  64. data/test/rails_root/app/models/user.rb +3 -0
  65. data/test/rails_root/app/views/clearance_mailer/confirmation.html.erb +1 -0
  66. data/test/rails_root/app/views/clearance_mailer/facebook_welcome.text.html.haml +4 -0
  67. data/test/rails_root/app/views/clearance_mailer/forgot_password.html.erb +6 -0
  68. data/test/rails_root/app/views/layouts/_flashes.erb +5 -0
  69. data/test/rails_root/app/views/layouts/application.html.erb +14 -0
  70. data/test/rails_root/app/views/passwords/edit.html.erb +18 -0
  71. data/test/rails_root/app/views/passwords/new.html.erb +15 -0
  72. data/test/rails_root/app/views/sessions/new.html.erb +29 -0
  73. data/test/rails_root/app/views/users/_form.html.erb +13 -0
  74. data/test/rails_root/app/views/users/_password_form.html.erb +13 -0
  75. data/test/rails_root/app/views/users/edit_password.html.erb +4 -0
  76. data/test/rails_root/app/views/users/new.html.erb +6 -0
  77. data/test/rails_root/config/boot.rb +109 -0
  78. data/test/rails_root/config/database.yml +13 -0
  79. data/test/rails_root/config/environment.rb +19 -0
  80. data/test/rails_root/config/environments/development.rb +19 -0
  81. data/test/rails_root/config/environments/test.rb +23 -0
  82. data/test/rails_root/config/facebooker.yml +13 -0
  83. data/test/rails_root/config/initializers/action_mailer.rb +1 -0
  84. data/test/rails_root/config/initializers/clearance.rb +8 -0
  85. data/test/rails_root/config/initializers/inflections.rb +10 -0
  86. data/test/rails_root/config/initializers/mime_types.rb +5 -0
  87. data/test/rails_root/config/initializers/requires.rb +13 -0
  88. data/test/rails_root/config/initializers/time_formats.rb +4 -0
  89. data/test/rails_root/config/routes.rb +12 -0
  90. data/test/rails_root/db/migrate/001_create_users.rb +25 -0
  91. data/test/rails_root/doc/README_FOR_APP +2 -0
  92. data/test/rails_root/doc/README_FOR_TEMPLATE +15 -0
  93. data/test/rails_root/lib/tasks/bootstrap.rake +16 -0
  94. data/test/rails_root/lib/tasks/capistrano.rake +96 -0
  95. data/test/rails_root/lib/tasks/git_tasks.rake +129 -0
  96. data/test/rails_root/lib/tasks/rspec.rake +132 -0
  97. data/test/rails_root/public/404.html +30 -0
  98. data/test/rails_root/public/422.html +30 -0
  99. data/test/rails_root/public/500.html +30 -0
  100. data/test/rails_root/public/dispatch.rb +10 -0
  101. data/test/rails_root/public/favicon.ico +0 -0
  102. data/test/rails_root/public/images/connect_light_medium_long.gif +0 -0
  103. data/test/rails_root/public/images/rails.png +0 -0
  104. data/test/rails_root/public/javascripts/application.js +2 -0
  105. data/test/rails_root/public/javascripts/builder.js +136 -0
  106. data/test/rails_root/public/javascripts/controls.js +963 -0
  107. data/test/rails_root/public/javascripts/dragdrop.js +972 -0
  108. data/test/rails_root/public/javascripts/effects.js +1120 -0
  109. data/test/rails_root/public/javascripts/facebooker.js +106 -0
  110. data/test/rails_root/public/javascripts/prototype.js +4225 -0
  111. data/test/rails_root/public/javascripts/scriptaculous.js +58 -0
  112. data/test/rails_root/public/javascripts/slider.js +277 -0
  113. data/test/rails_root/public/javascripts/sound.js +60 -0
  114. data/test/rails_root/public/robots.txt +1 -0
  115. data/test/rails_root/script/about +3 -0
  116. data/test/rails_root/script/autospec +5 -0
  117. data/test/rails_root/script/breakpointer +3 -0
  118. data/test/rails_root/script/console +3 -0
  119. data/test/rails_root/script/create_project.rb +52 -0
  120. data/test/rails_root/script/dbconsole +3 -0
  121. data/test/rails_root/script/destroy +3 -0
  122. data/test/rails_root/script/generate +3 -0
  123. data/test/rails_root/script/performance/benchmarker +3 -0
  124. data/test/rails_root/script/performance/profiler +3 -0
  125. data/test/rails_root/script/performance/request +3 -0
  126. data/test/rails_root/script/plugin +3 -0
  127. data/test/rails_root/script/process/inspector +3 -0
  128. data/test/rails_root/script/process/reaper +3 -0
  129. data/test/rails_root/script/process/spawner +3 -0
  130. data/test/rails_root/script/runner +3 -0
  131. data/test/rails_root/script/server +3 -0
  132. data/test/rails_root/script/spec +5 -0
  133. data/test/rails_root/script/spec_server +116 -0
  134. data/test/rails_root/spec/controllers/session_controller_spec.rb +5 -0
  135. data/test/rails_root/spec/models/user_spec.rb +5 -0
  136. data/test/rails_root/spec/rcov.opts +2 -0
  137. data/test/rails_root/spec/spec.opts +4 -0
  138. data/test/rails_root/spec/spec_helper.rb +51 -0
  139. data/test/rails_root/test/factories.rb +9 -0
  140. data/test/rails_root/test/functional/confirmations_controller_test.rb +5 -0
  141. data/test/rails_root/test/functional/passwords_controller_test.rb +5 -0
  142. data/test/rails_root/test/functional/sessions_controller_test.rb +5 -0
  143. data/test/rails_root/test/functional/users_controller_test.rb +5 -0
  144. data/test/rails_root/test/test_helper.rb +21 -0
  145. data/test/rails_root/test/unit/clearance_mailer_test.rb +6 -0
  146. data/test/rails_root/test/unit/user_test.rb +5 -0
  147. data/test/rails_root/vendor/gems/mocha-0.9.1/COPYING +3 -0
  148. data/test/rails_root/vendor/gems/mocha-0.9.1/MIT-LICENSE +7 -0
  149. data/test/rails_root/vendor/gems/mocha-0.9.1/README +35 -0
  150. data/test/rails_root/vendor/gems/mocha-0.9.1/RELEASE +246 -0
  151. data/test/rails_root/vendor/gems/mocha-0.9.1/Rakefile +188 -0
  152. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb +44 -0
  153. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/mocha.rb +26 -0
  154. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/stubba.rb +65 -0
  155. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/any_instance_method.rb +54 -0
  156. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/backtrace_filter.rb +17 -0
  157. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/cardinality.rb +95 -0
  158. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/central.rb +27 -0
  159. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/change_state_side_effect.rb +19 -0
  160. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/class_method.rb +86 -0
  161. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/configuration.rb +60 -0
  162. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/deprecation.rb +22 -0
  163. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/exception_raiser.rb +17 -0
  164. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation.rb +445 -0
  165. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation_error.rb +15 -0
  166. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation_list.rb +50 -0
  167. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/in_state_ordering_constraint.rb +19 -0
  168. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/inspect.rb +39 -0
  169. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/instance_method.rb +16 -0
  170. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/is_a.rb +9 -0
  171. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/logger.rb +15 -0
  172. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/metaclass.rb +7 -0
  173. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/method_matcher.rb +21 -0
  174. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/mock.rb +196 -0
  175. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/mockery.rb +181 -0
  176. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/module_method.rb +16 -0
  177. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/multiple_yields.rb +20 -0
  178. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/names.rb +53 -0
  179. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/no_yields.rb +11 -0
  180. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/object.rb +134 -0
  181. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/all_of.rb +42 -0
  182. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/any_of.rb +47 -0
  183. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/any_parameters.rb +40 -0
  184. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/anything.rb +33 -0
  185. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/base.rb +15 -0
  186. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/equals.rb +42 -0
  187. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_entries.rb +45 -0
  188. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_entry.rb +56 -0
  189. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_key.rb +42 -0
  190. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_value.rb +42 -0
  191. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/includes.rb +40 -0
  192. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/instance_of.rb +42 -0
  193. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/is_a.rb +42 -0
  194. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/kind_of.rb +42 -0
  195. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/not.rb +42 -0
  196. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/object.rb +9 -0
  197. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/optionally.rb +55 -0
  198. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/regexp_matches.rb +43 -0
  199. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/responds_with.rb +43 -0
  200. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/yaml_equivalent.rb +43 -0
  201. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers.rb +26 -0
  202. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameters_matcher.rb +37 -0
  203. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/pretty_parameters.rb +28 -0
  204. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/return_values.rb +31 -0
  205. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/sequence.rb +42 -0
  206. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/single_return_value.rb +17 -0
  207. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/single_yield.rb +18 -0
  208. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/standalone.rb +166 -0
  209. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/state_machine.rb +91 -0
  210. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/stubbing_error.rb +16 -0
  211. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/test_case_adapter.rb +103 -0
  212. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/unexpected_invocation.rb +18 -0
  213. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/yield_parameters.rb +31 -0
  214. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha.rb +20 -0
  215. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha_standalone.rb +2 -0
  216. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/stubba.rb +4 -0
  217. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/acceptance_test_helper.rb +38 -0
  218. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_18914_test.rb +43 -0
  219. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_21465_test.rb +34 -0
  220. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_21563_test.rb +25 -0
  221. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/expected_invocation_count_test.rb +196 -0
  222. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/failure_messages_test.rb +64 -0
  223. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocha_example_test.rb +98 -0
  224. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocha_test_result_test.rb +84 -0
  225. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mock_test.rb +100 -0
  226. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mock_with_initializer_block_test.rb +51 -0
  227. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocked_methods_dispatch_test.rb +78 -0
  228. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/optional_parameters_test.rb +70 -0
  229. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/parameter_matcher_test.rb +179 -0
  230. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/partial_mocks_test.rb +47 -0
  231. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/return_value_test.rb +52 -0
  232. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/sequence_test.rb +186 -0
  233. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/standalone_test.rb +139 -0
  234. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/states_test.rb +70 -0
  235. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_any_instance_method_test.rb +195 -0
  236. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_class_method_test.rb +203 -0
  237. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_everything_test.rb +56 -0
  238. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_instance_method_test.rb +165 -0
  239. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_module_method_test.rb +163 -0
  240. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_test.rb +52 -0
  241. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_example_test.rb +102 -0
  242. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_test.rb +15 -0
  243. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_test_result_test.rb +66 -0
  244. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_error_backtrace_test.rb +64 -0
  245. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_method_unnecessarily_test.rb +65 -0
  246. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +130 -0
  247. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_class_method_test.rb +155 -0
  248. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_instance_method_test.rb +145 -0
  249. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_any_instance_method_test.rb +130 -0
  250. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_class_method_test.rb +161 -0
  251. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_instance_method_test.rb +141 -0
  252. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_on_non_mock_object_test.rb +64 -0
  253. data/test/rails_root/vendor/gems/mocha-0.9.1/test/active_record_test_case.rb +36 -0
  254. data/test/rails_root/vendor/gems/mocha-0.9.1/test/deprecation_disabler.rb +15 -0
  255. data/test/rails_root/vendor/gems/mocha-0.9.1/test/execution_point.rb +36 -0
  256. data/test/rails_root/vendor/gems/mocha-0.9.1/test/method_definer.rb +18 -0
  257. data/test/rails_root/vendor/gems/mocha-0.9.1/test/simple_counter.rb +13 -0
  258. data/test/rails_root/vendor/gems/mocha-0.9.1/test/test_helper.rb +11 -0
  259. data/test/rails_root/vendor/gems/mocha-0.9.1/test/test_runner.rb +33 -0
  260. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/any_instance_method_test.rb +126 -0
  261. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/array_inspect_test.rb +16 -0
  262. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/backtrace_filter_test.rb +19 -0
  263. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/cardinality_test.rb +56 -0
  264. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/central_test.rb +65 -0
  265. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/change_state_side_effect_test.rb +41 -0
  266. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/class_method_test.rb +237 -0
  267. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/date_time_inspect_test.rb +21 -0
  268. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/exception_raiser_test.rb +42 -0
  269. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/expectation_list_test.rb +57 -0
  270. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/expectation_test.rb +459 -0
  271. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/hash_inspect_test.rb +16 -0
  272. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/in_state_ordering_constraint_test.rb +43 -0
  273. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/metaclass_test.rb +22 -0
  274. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/method_matcher_test.rb +23 -0
  275. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/mock_test.rb +290 -0
  276. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/mockery_test.rb +149 -0
  277. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/multiple_yields_test.rb +18 -0
  278. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/no_yields_test.rb +18 -0
  279. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/object_inspect_test.rb +37 -0
  280. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/object_test.rb +82 -0
  281. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/all_of_test.rb +26 -0
  282. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/any_of_test.rb +26 -0
  283. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/anything_test.rb +21 -0
  284. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/equals_test.rb +25 -0
  285. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_entries_test.rb +51 -0
  286. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_entry_test.rb +62 -0
  287. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_key_test.rb +36 -0
  288. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_value_test.rb +37 -0
  289. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/includes_test.rb +25 -0
  290. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/instance_of_test.rb +25 -0
  291. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/is_a_test.rb +25 -0
  292. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/kind_of_test.rb +25 -0
  293. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/not_test.rb +26 -0
  294. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/regexp_matches_test.rb +25 -0
  295. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/responds_with_test.rb +25 -0
  296. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/stub_matcher.rb +27 -0
  297. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/yaml_equivalent_test.rb +25 -0
  298. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameters_matcher_test.rb +121 -0
  299. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/return_values_test.rb +63 -0
  300. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/sequence_test.rb +104 -0
  301. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/single_return_value_test.rb +14 -0
  302. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/single_yield_test.rb +18 -0
  303. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/state_machine_test.rb +98 -0
  304. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/string_inspect_test.rb +11 -0
  305. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/yield_parameters_test.rb +93 -0
  306. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/CONTRIBUTION_GUIDELINES.rdoc +12 -0
  307. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/MIT-LICENSE +22 -0
  308. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/README.rdoc +132 -0
  309. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/Rakefile +72 -0
  310. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/bin/convert_to_should_syntax +42 -0
  311. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/action_mailer/assertions.rb +39 -0
  312. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/action_mailer.rb +10 -0
  313. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record/assertions.rb +85 -0
  314. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record/macros.rb +715 -0
  315. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record.rb +12 -0
  316. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/assertions.rb +45 -0
  317. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/context.rb +306 -0
  318. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/formats/html.rb +201 -0
  319. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/formats/xml.rb +170 -0
  320. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/helpers.rb +64 -0
  321. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/macros.rb +316 -0
  322. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/resource_options.rb +236 -0
  323. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller.rb +30 -0
  324. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/helpers.rb +10 -0
  325. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/macros.rb +74 -0
  326. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/private_helpers.rb +22 -0
  327. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/proc_extensions.rb +14 -0
  328. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/rails.rb +19 -0
  329. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks/list_tests.rake +24 -0
  330. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks/yaml_to_shoulda.rake +28 -0
  331. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks.rb +3 -0
  332. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda.rb +17 -0
  333. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/rails/init.rb +1 -0
  334. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/README +36 -0
  335. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fail_macros.rb +34 -0
  336. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/addresses.yml +3 -0
  337. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/friendships.yml +0 -0
  338. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/posts.yml +5 -0
  339. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/products.yml +0 -0
  340. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/taggings.yml +0 -0
  341. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/tags.yml +9 -0
  342. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/users.yml +6 -0
  343. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/functional/posts_controller_test.rb +104 -0
  344. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/functional/users_controller_test.rb +38 -0
  345. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/context_test.rb +145 -0
  346. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/convert_to_should_syntax_test.rb +63 -0
  347. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/helpers_test.rb +183 -0
  348. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/private_helpers_test.rb +34 -0
  349. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/should_test.rb +266 -0
  350. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/application.rb +25 -0
  351. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/posts_controller.rb +85 -0
  352. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/users_controller.rb +84 -0
  353. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/application_helper.rb +3 -0
  354. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/posts_helper.rb +2 -0
  355. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/users_helper.rb +2 -0
  356. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/address.rb +7 -0
  357. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/dog.rb +5 -0
  358. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/flea.rb +3 -0
  359. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/friendship.rb +4 -0
  360. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/post.rb +12 -0
  361. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/product.rb +12 -0
  362. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/tag.rb +8 -0
  363. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/tagging.rb +4 -0
  364. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/user.rb +28 -0
  365. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/posts.rhtml +17 -0
  366. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/users.rhtml +17 -0
  367. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/wide.html.erb +1 -0
  368. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/edit.rhtml +27 -0
  369. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/index.rhtml +25 -0
  370. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/new.rhtml +26 -0
  371. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/show.rhtml +18 -0
  372. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/edit.rhtml +22 -0
  373. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/index.rhtml +22 -0
  374. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/new.rhtml +21 -0
  375. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/show.rhtml +13 -0
  376. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/boot.rb +109 -0
  377. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/database.yml +4 -0
  378. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/environment.rb +14 -0
  379. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/environments/sqlite3.rb +0 -0
  380. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/initializers/new_rails_defaults.rb +15 -0
  381. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/initializers/shoulda.rb +8 -0
  382. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/routes.rb +6 -0
  383. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/001_create_users.rb +18 -0
  384. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/002_create_posts.rb +13 -0
  385. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/003_create_taggings.rb +12 -0
  386. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/004_create_tags.rb +11 -0
  387. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/005_create_dogs.rb +12 -0
  388. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/006_create_addresses.rb +14 -0
  389. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/007_create_fleas.rb +11 -0
  390. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/008_create_dogs_fleas.rb +12 -0
  391. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/009_create_products.rb +17 -0
  392. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/010_create_friendships.rb +14 -0
  393. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/schema.rb +0 -0
  394. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/log/sqlite3.log +1 -0
  395. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/404.html +30 -0
  396. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/422.html +30 -0
  397. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/500.html +30 -0
  398. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/script/console +3 -0
  399. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/script/generate +3 -0
  400. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/test_helper.rb +33 -0
  401. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/address_test.rb +10 -0
  402. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/dog_test.rb +7 -0
  403. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/flea_test.rb +6 -0
  404. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/friendship_test.rb +6 -0
  405. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/post_test.rb +15 -0
  406. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/product_test.rb +27 -0
  407. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/tag_test.rb +14 -0
  408. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/tagging_test.rb +6 -0
  409. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/user_test.rb +52 -0
  410. data/test/rails_root/vendor/plugins/facebooker/CHANGELOG.txt +0 -0
  411. data/test/rails_root/vendor/plugins/facebooker/COPYING +19 -0
  412. data/test/rails_root/vendor/plugins/facebooker/History.txt +16 -0
  413. data/test/rails_root/vendor/plugins/facebooker/Manifest.txt +110 -0
  414. data/test/rails_root/vendor/plugins/facebooker/README +46 -0
  415. data/test/rails_root/vendor/plugins/facebooker/README.txt +81 -0
  416. data/test/rails_root/vendor/plugins/facebooker/Rakefile +62 -0
  417. data/test/rails_root/vendor/plugins/facebooker/TODO.txt +10 -0
  418. data/test/rails_root/vendor/plugins/facebooker/examples/desktop_login.rb +14 -0
  419. data/test/rails_root/vendor/plugins/facebooker/facebooker.gemspec +34 -0
  420. data/test/rails_root/vendor/plugins/facebooker/generators/facebook/facebook_generator.rb +14 -0
  421. data/test/rails_root/vendor/plugins/facebooker/generators/facebook/templates/config/facebooker.yml +41 -0
  422. data/test/rails_root/vendor/plugins/facebooker/generators/facebook/templates/public/javascripts/facebooker.js +106 -0
  423. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/USAGE +33 -0
  424. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/facebook_controller_generator.rb +40 -0
  425. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/controller.rb +7 -0
  426. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/functional_test.rb +11 -0
  427. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/helper.rb +2 -0
  428. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/view.fbml.erb +2 -0
  429. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/view.html.erb +2 -0
  430. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_publisher/facebook_publisher_generator.rb +14 -0
  431. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_publisher/templates/create_facebook_templates.rb +15 -0
  432. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_publisher/templates/publisher.rb +3 -0
  433. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/USAGE +27 -0
  434. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/facebook_scaffold_generator.rb +118 -0
  435. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/controller.rb +93 -0
  436. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/facebook_style.css +2579 -0
  437. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/functional_test.rb +89 -0
  438. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/helper.rb +2 -0
  439. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/layout.fbml.erb +6 -0
  440. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/layout.html.erb +17 -0
  441. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/style.css +74 -0
  442. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_edit.fbml.erb +13 -0
  443. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_edit.html.erb +18 -0
  444. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_index.fbml.erb +24 -0
  445. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_index.html.erb +24 -0
  446. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_new.fbml.erb +12 -0
  447. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_new.html.erb +17 -0
  448. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_show.fbml.erb +10 -0
  449. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_show.html.erb +10 -0
  450. data/test/rails_root/vendor/plugins/facebooker/generators/publisher/publisher_generator.rb +14 -0
  451. data/test/rails_root/vendor/plugins/facebooker/generators/receiver/receiver_generator.rb +9 -0
  452. data/test/rails_root/vendor/plugins/facebooker/generators/receiver/templates/xd_receiver.html +10 -0
  453. data/test/rails_root/vendor/plugins/facebooker/init.rb +54 -0
  454. data/test/rails_root/vendor/plugins/facebooker/install.rb +12 -0
  455. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/adapters/adapter_base.rb +87 -0
  456. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/adapters/bebo_adapter.rb +73 -0
  457. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/adapters/facebook_adapter.rb +48 -0
  458. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/admin.rb +28 -0
  459. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/batch_request.rb +44 -0
  460. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/data.rb +57 -0
  461. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/feed.rb +78 -0
  462. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/logging.rb +41 -0
  463. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/model.rb +123 -0
  464. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/affiliation.rb +10 -0
  465. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/album.rb +11 -0
  466. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/applicationproperties.rb +39 -0
  467. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/cookie.rb +10 -0
  468. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/education_info.rb +11 -0
  469. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/event.rb +26 -0
  470. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/friend_list.rb +14 -0
  471. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/group.rb +35 -0
  472. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/info_item.rb +10 -0
  473. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/info_section.rb +10 -0
  474. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/location.rb +8 -0
  475. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/notifications.rb +17 -0
  476. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/page.rb +27 -0
  477. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/photo.rb +10 -0
  478. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/tag.rb +12 -0
  479. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/user.rb +352 -0
  480. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/work_info.rb +9 -0
  481. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/parser.rb +540 -0
  482. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/controller.rb +246 -0
  483. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_asset_path.rb +18 -0
  484. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_form_builder.rb +112 -0
  485. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_pretty_errors.rb +14 -0
  486. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_request_fix.rb +24 -0
  487. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_session_handling.rb +58 -0
  488. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_url_helper.rb +191 -0
  489. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_url_rewriting.rb +39 -0
  490. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/helpers.rb +615 -0
  491. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/profile_publisher_extensions.rb +42 -0
  492. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/publisher.rb +475 -0
  493. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/routing.rb +49 -0
  494. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/test_helpers.rb +88 -0
  495. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/utilities.rb +22 -0
  496. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/server_cache.rb +24 -0
  497. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/service.rb +31 -0
  498. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/session.rb +564 -0
  499. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/version.rb +9 -0
  500. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker.rb +143 -0
  501. data/test/rails_root/vendor/plugins/facebooker/lib/net/http_multipart_post.rb +123 -0
  502. data/test/rails_root/vendor/plugins/facebooker/lib/tasks/facebooker.rake +18 -0
  503. data/test/rails_root/vendor/plugins/facebooker/lib/tasks/tunnel.rake +46 -0
  504. data/test/rails_root/vendor/plugins/facebooker/rails/init.rb +1 -0
  505. data/test/rails_root/vendor/plugins/facebooker/setup.rb +1585 -0
  506. data/test/rails_root/vendor/plugins/facebooker/templates/layout.erb +24 -0
  507. data/test/rails_root/vendor/plugins/facebooker/test/adapters_test.rb +98 -0
  508. data/test/rails_root/vendor/plugins/facebooker/test/batch_request_test.rb +82 -0
  509. data/test/rails_root/vendor/plugins/facebooker/test/event_test.rb +15 -0
  510. data/test/rails_root/vendor/plugins/facebooker/test/facebook_admin_test.rb +75 -0
  511. data/test/rails_root/vendor/plugins/facebooker/test/facebook_cache_test.rb +43 -0
  512. data/test/rails_root/vendor/plugins/facebooker/test/facebook_data_test.rb +84 -0
  513. data/test/rails_root/vendor/plugins/facebooker/test/facebooker_test.rb +855 -0
  514. data/test/rails_root/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_only_parameters.txt +33 -0
  515. data/test/rails_root/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_single_file.txt +38 -0
  516. data/test/rails_root/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_single_file_that_has_nil_key.txt +38 -0
  517. data/test/rails_root/vendor/plugins/facebooker/test/http_multipart_post_test.rb +54 -0
  518. data/test/rails_root/vendor/plugins/facebooker/test/logging_test.rb +36 -0
  519. data/test/rails_root/vendor/plugins/facebooker/test/model_test.rb +91 -0
  520. data/test/rails_root/vendor/plugins/facebooker/test/publisher_test.rb +436 -0
  521. data/test/rails_root/vendor/plugins/facebooker/test/rails_integration_test.rb +1125 -0
  522. data/test/rails_root/vendor/plugins/facebooker/test/session_test.rb +587 -0
  523. data/test/rails_root/vendor/plugins/facebooker/test/test_helper.rb +60 -0
  524. data/test/rails_root/vendor/plugins/facebooker/test/user_test.rb +229 -0
  525. metadata +771 -0
@@ -0,0 +1,12 @@
1
+ require 'shoulda'
2
+ require 'shoulda/active_record/assertions'
3
+ require 'shoulda/active_record/macros'
4
+
5
+ module Test # :nodoc: all
6
+ module Unit
7
+ class TestCase
8
+ include ThoughtBot::Shoulda::ActiveRecord::Assertions
9
+ extend ThoughtBot::Shoulda::ActiveRecord::Macros
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,45 @@
1
+ module ThoughtBot # :nodoc:
2
+ module Shoulda # :nodoc:
3
+ module Assertions
4
+ # Asserts that two arrays contain the same elements, the same number of times. Essentially ==, but unordered.
5
+ #
6
+ # assert_same_elements([:a, :b, :c], [:c, :a, :b]) => passes
7
+ def assert_same_elements(a1, a2, msg = nil)
8
+ [:select, :inject, :size].each do |m|
9
+ [a1, a2].each {|a| assert_respond_to(a, m, "Are you sure that #{a.inspect} is an array? It doesn't respond to #{m}.") }
10
+ end
11
+
12
+ assert a1h = a1.inject({}) { |h,e| h[e] = a1.select { |i| i == e }.size; h }
13
+ assert a2h = a2.inject({}) { |h,e| h[e] = a2.select { |i| i == e }.size; h }
14
+
15
+ assert_equal(a1h, a2h, msg)
16
+ end
17
+
18
+ # Asserts that the given collection contains item x. If x is a regular expression, ensure that
19
+ # at least one element from the collection matches x. +extra_msg+ is appended to the error message if the assertion fails.
20
+ #
21
+ # assert_contains(['a', '1'], /\d/) => passes
22
+ # assert_contains(['a', '1'], 'a') => passes
23
+ # assert_contains(['a', '1'], /not there/) => fails
24
+ def assert_contains(collection, x, extra_msg = "")
25
+ collection = [collection] unless collection.is_a?(Array)
26
+ msg = "#{x.inspect} not found in #{collection.to_a.inspect} #{extra_msg}"
27
+ case x
28
+ when Regexp: assert(collection.detect { |e| e =~ x }, msg)
29
+ else assert(collection.include?(x), msg)
30
+ end
31
+ end
32
+
33
+ # Asserts that the given collection does not contain item x. If x is a regular expression, ensure that
34
+ # none of the elements from the collection match x.
35
+ def assert_does_not_contain(collection, x, extra_msg = "")
36
+ collection = [collection] unless collection.is_a?(Array)
37
+ msg = "#{x.inspect} found in #{collection.to_a.inspect} " + extra_msg
38
+ case x
39
+ when Regexp: assert(!collection.detect { |e| e =~ x }, msg)
40
+ else assert(!collection.include?(x), msg)
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,306 @@
1
+ module Thoughtbot # :nodoc:
2
+ module Shoulda
3
+ VERSION = '2.0.4'
4
+
5
+ class << self
6
+ attr_accessor :contexts
7
+ def contexts # :nodoc:
8
+ @contexts ||= []
9
+ end
10
+
11
+ def current_context # :nodoc:
12
+ self.contexts.last
13
+ end
14
+
15
+ def add_context(context) # :nodoc:
16
+ self.contexts.push(context)
17
+ end
18
+
19
+ def remove_context # :nodoc:
20
+ self.contexts.pop
21
+ end
22
+ end
23
+
24
+ # == Should statements
25
+ #
26
+ # Should statements are just syntactic sugar over normal Test::Unit test methods. A should block
27
+ # contains all the normal code and assertions you're used to seeing, with the added benefit that
28
+ # they can be wrapped inside context blocks (see below).
29
+ #
30
+ # === Example:
31
+ #
32
+ # class UserTest << Test::Unit::TestCase
33
+ #
34
+ # def setup
35
+ # @user = User.new("John", "Doe")
36
+ # end
37
+ #
38
+ # should "return its full name"
39
+ # assert_equal 'John Doe', @user.full_name
40
+ # end
41
+ #
42
+ # end
43
+ #
44
+ # ...will produce the following test:
45
+ # * <tt>"test: User should return its full name. "</tt>
46
+ #
47
+ # Note: The part before <tt>should</tt> in the test name is gleamed from the name of the Test::Unit class.
48
+ #
49
+ # Should statements can also take a Proc as a <tt>:before </tt>option. This proc runs after any
50
+ # parent context's setups but before the current context's setup.
51
+ #
52
+ # === Example:
53
+ #
54
+ # context "Some context" do
55
+ # setup { puts("I run after the :before proc") }
56
+ #
57
+ # should "run a :before proc", :before => lambda { puts("I run before the setup") } do
58
+ # assert true
59
+ # end
60
+ # end
61
+
62
+ def should(name, options = {}, &blk)
63
+ if Shoulda.current_context
64
+ block_given? ? Shoulda.current_context.should(name, options, &blk) : Should.current_context.should_eventually(name)
65
+ else
66
+ context_name = self.name.gsub(/Test/, "")
67
+ context = Thoughtbot::Shoulda::Context.new(context_name, self) do
68
+ block_given? ? should(name, options, &blk) : should_eventually(name)
69
+ end
70
+ context.build
71
+ end
72
+ end
73
+
74
+ # == Before statements
75
+ #
76
+ # Before statements are should statements that run before the current
77
+ # context's setup. These are especially useful when setting expectations.
78
+ #
79
+ # === Example:
80
+ #
81
+ # class UserControllerTest < Test::Unit::TestCase
82
+ # context "the index action" do
83
+ # setup do
84
+ # @users = [Factory(:user)]
85
+ # User.stubs(:find).returns(@users)
86
+ # end
87
+ #
88
+ # context "on GET" do
89
+ # setup { get :index }
90
+ #
91
+ # should_respond_with :success
92
+ #
93
+ # # runs before "get :index"
94
+ # before_should "find all users" do
95
+ # User.expects(:find).with(:all).returns(@users)
96
+ # end
97
+ # end
98
+ # end
99
+ # end
100
+ def before_should(name, &blk)
101
+ should(name, :before => blk) { assert true }
102
+ end
103
+
104
+ # Just like should, but never runs, and instead prints an 'X' in the Test::Unit output.
105
+ def should_eventually(name, options = {}, &blk)
106
+ context_name = self.name.gsub(/Test/, "")
107
+ context = Thoughtbot::Shoulda::Context.new(context_name, self) do
108
+ should_eventually(name, &blk)
109
+ end
110
+ context.build
111
+ end
112
+
113
+ # == Contexts
114
+ #
115
+ # A context block groups should statements under a common set of setup/teardown methods.
116
+ # Context blocks can be arbitrarily nested, and can do wonders for improving the maintainability
117
+ # and readability of your test code.
118
+ #
119
+ # A context block can contain setup, should, should_eventually, and teardown blocks.
120
+ #
121
+ # class UserTest << Test::Unit::TestCase
122
+ # context "A User instance" do
123
+ # setup do
124
+ # @user = User.find(:first)
125
+ # end
126
+ #
127
+ # should "return its full name"
128
+ # assert_equal 'John Doe', @user.full_name
129
+ # end
130
+ # end
131
+ # end
132
+ #
133
+ # This code will produce the method <tt>"test: A User instance should return its full name. "</tt>.
134
+ #
135
+ # Contexts may be nested. Nested contexts run their setup blocks from out to in before each
136
+ # should statement. They then run their teardown blocks from in to out after each should statement.
137
+ #
138
+ # class UserTest << Test::Unit::TestCase
139
+ # context "A User instance" do
140
+ # setup do
141
+ # @user = User.find(:first)
142
+ # end
143
+ #
144
+ # should "return its full name"
145
+ # assert_equal 'John Doe', @user.full_name
146
+ # end
147
+ #
148
+ # context "with a profile" do
149
+ # setup do
150
+ # @user.profile = Profile.find(:first)
151
+ # end
152
+ #
153
+ # should "return true when sent :has_profile?"
154
+ # assert @user.has_profile?
155
+ # end
156
+ # end
157
+ # end
158
+ # end
159
+ #
160
+ # This code will produce the following methods
161
+ # * <tt>"test: A User instance should return its full name. "</tt>
162
+ # * <tt>"test: A User instance with a profile should return true when sent :has_profile?. "</tt>
163
+ #
164
+ # <b>Just like should statements, a context block can exist next to normal <tt>def test_the_old_way; end</tt>
165
+ # tests</b>. This means you do not have to fully commit to the context/should syntax in a test file.
166
+
167
+ def context(name, &blk)
168
+ if Shoulda.current_context
169
+ Shoulda.current_context.context(name, &blk)
170
+ else
171
+ context = Thoughtbot::Shoulda::Context.new(name, self, &blk)
172
+ context.build
173
+ end
174
+ end
175
+
176
+ class Context # :nodoc:
177
+
178
+ attr_accessor :name # my name
179
+ attr_accessor :parent # may be another context, or the original test::unit class.
180
+ attr_accessor :subcontexts # array of contexts nested under myself
181
+ attr_accessor :setup_blocks # blocks given via setup methods
182
+ attr_accessor :teardown_blocks # blocks given via teardown methods
183
+ attr_accessor :shoulds # array of hashes representing the should statements
184
+ attr_accessor :should_eventuallys # array of hashes representing the should eventually statements
185
+
186
+ def initialize(name, parent, &blk)
187
+ Shoulda.add_context(self)
188
+ self.name = name
189
+ self.parent = parent
190
+ self.setup_blocks = []
191
+ self.teardown_blocks = []
192
+ self.shoulds = []
193
+ self.should_eventuallys = []
194
+ self.subcontexts = []
195
+
196
+ merge_block(&blk)
197
+ Shoulda.remove_context
198
+ end
199
+
200
+ def merge_block(&blk)
201
+ blk.bind(self).call
202
+ end
203
+
204
+ def context(name, &blk)
205
+ self.subcontexts << Context.new(name, self, &blk)
206
+ end
207
+
208
+ def setup(&blk)
209
+ self.setup_blocks << blk
210
+ end
211
+
212
+ def teardown(&blk)
213
+ self.teardown_blocks << blk
214
+ end
215
+
216
+ def should(name, options = {}, &blk)
217
+ if block_given?
218
+ self.shoulds << { :name => name, :before => options[:before], :block => blk }
219
+ else
220
+ self.should_eventuallys << { :name => name }
221
+ end
222
+ end
223
+
224
+ def should_eventually(name, &blk)
225
+ self.should_eventuallys << { :name => name, :block => blk }
226
+ end
227
+
228
+ def full_name
229
+ parent_name = parent.full_name if am_subcontext?
230
+ return [parent_name, name].join(" ").strip
231
+ end
232
+
233
+ def am_subcontext?
234
+ parent.is_a?(self.class) # my parent is the same class as myself.
235
+ end
236
+
237
+ def test_unit_class
238
+ am_subcontext? ? parent.test_unit_class : parent
239
+ end
240
+
241
+ def create_test_from_should_hash(should)
242
+ test_name = ["test:", full_name, "should", "#{should[:name]}. "].flatten.join(' ').to_sym
243
+
244
+ if test_unit_class.instance_methods.include?(test_name.to_s)
245
+ warn " * WARNING: '#{test_name}' is already defined"
246
+ end
247
+
248
+ context = self
249
+ test_unit_class.send(:define_method, test_name) do
250
+ begin
251
+ context.run_parent_setup_blocks(self)
252
+ should[:before].bind(self).call if should[:before]
253
+ context.run_current_setup_blocks(self)
254
+ should[:block].bind(self).call
255
+ ensure
256
+ context.run_all_teardown_blocks(self)
257
+ end
258
+ end
259
+ end
260
+
261
+ def run_all_setup_blocks(binding)
262
+ run_parent_setup_blocks(binding)
263
+ run_current_setup_blocks(binding)
264
+ end
265
+
266
+ def run_parent_setup_blocks(binding)
267
+ self.parent.run_all_setup_blocks(binding) if am_subcontext?
268
+ end
269
+
270
+ def run_current_setup_blocks(binding)
271
+ setup_blocks.each do |setup_block|
272
+ setup_block.bind(binding).call
273
+ end
274
+ end
275
+
276
+ def run_all_teardown_blocks(binding)
277
+ teardown_blocks.reverse.each do |teardown_block|
278
+ teardown_block.bind(binding).call
279
+ end
280
+ self.parent.run_all_teardown_blocks(binding) if am_subcontext?
281
+ end
282
+
283
+ def print_should_eventuallys
284
+ should_eventuallys.each do |should|
285
+ test_name = [full_name, "should", "#{should[:name]}. "].flatten.join(' ')
286
+ puts " * DEFERRED: " + test_name
287
+ end
288
+ end
289
+
290
+ def build
291
+ shoulds.each do |should|
292
+ create_test_from_should_hash(should)
293
+ end
294
+
295
+ subcontexts.each { |context| context.build }
296
+
297
+ print_should_eventuallys
298
+ end
299
+
300
+ def method_missing(method, *args, &blk)
301
+ test_unit_class.send(method, *args, &blk)
302
+ end
303
+
304
+ end
305
+ end
306
+ end
@@ -0,0 +1,201 @@
1
+ module ThoughtBot # :nodoc:
2
+ module Shoulda # :nodoc:
3
+ module Controller # :nodoc:
4
+ module HTML # :nodoc: all
5
+ def self.included(other)
6
+ other.class_eval do
7
+ extend ThoughtBot::Shoulda::Controller::HTML::ClassMethods
8
+ end
9
+ end
10
+
11
+ module ClassMethods
12
+ def controller_name_from_class
13
+ self.name.gsub(/Test/, '')
14
+ end
15
+
16
+ def make_show_html_tests(res)
17
+ context "on GET to #{controller_name_from_class}#show" do
18
+ setup do
19
+ record = get_existing_record(res)
20
+ parent_params = make_parent_params(res, record)
21
+ get :show, parent_params.merge({ res.identifier => record.to_param })
22
+ end
23
+
24
+ if res.denied.actions.include?(:show)
25
+ should_not_assign_to res.object
26
+ should_redirect_to res.denied.redirect
27
+ should_set_the_flash_to res.denied.flash
28
+ else
29
+ should_assign_to res.object
30
+ should_respond_with :success
31
+ should_render_template :show
32
+ should_not_set_the_flash
33
+ end
34
+ end
35
+ end
36
+
37
+ def make_edit_html_tests(res)
38
+ context "on GET to #{controller_name_from_class}#edit" do
39
+ setup do
40
+ @record = get_existing_record(res)
41
+ parent_params = make_parent_params(res, @record)
42
+ get :edit, parent_params.merge({ res.identifier => @record.to_param })
43
+ end
44
+
45
+ if res.denied.actions.include?(:edit)
46
+ should_not_assign_to res.object
47
+ should_redirect_to res.denied.redirect
48
+ should_set_the_flash_to res.denied.flash
49
+ else
50
+ should_assign_to res.object
51
+ should_respond_with :success
52
+ should_render_template :edit
53
+ should_not_set_the_flash
54
+ should_render_a_form
55
+ should "set @#{res.object} to requested instance" do
56
+ assert_equal @record, assigns(res.object)
57
+ end
58
+ end
59
+ end
60
+ end
61
+
62
+ def make_index_html_tests(res)
63
+ context "on GET to #{controller_name_from_class}#index" do
64
+ setup do
65
+ record = get_existing_record(res) rescue nil
66
+ parent_params = make_parent_params(res, record)
67
+ get(:index, parent_params)
68
+ end
69
+
70
+ if res.denied.actions.include?(:index)
71
+ should_not_assign_to res.object.to_s.pluralize
72
+ should_redirect_to res.denied.redirect
73
+ should_set_the_flash_to res.denied.flash
74
+ else
75
+ should_respond_with :success
76
+ should_assign_to res.object.to_s.pluralize
77
+ should_render_template :index
78
+ should_not_set_the_flash
79
+ end
80
+ end
81
+ end
82
+
83
+ def make_new_html_tests(res)
84
+ context "on GET to #{controller_name_from_class}#new" do
85
+ setup do
86
+ record = get_existing_record(res) rescue nil
87
+ parent_params = make_parent_params(res, record)
88
+ get(:new, parent_params)
89
+ end
90
+
91
+ if res.denied.actions.include?(:new)
92
+ should_not_assign_to res.object
93
+ should_redirect_to res.denied.redirect
94
+ should_set_the_flash_to res.denied.flash
95
+ else
96
+ should_respond_with :success
97
+ should_assign_to res.object
98
+ should_not_set_the_flash
99
+ should_render_template :new
100
+ should_render_a_form
101
+ end
102
+ end
103
+ end
104
+
105
+ def make_destroy_html_tests(res)
106
+ context "on DELETE to #{controller_name_from_class}#destroy" do
107
+ setup do
108
+ @record = get_existing_record(res)
109
+ parent_params = make_parent_params(res, @record)
110
+ delete :destroy, parent_params.merge({ res.identifier => @record.to_param })
111
+ end
112
+
113
+ if res.denied.actions.include?(:destroy)
114
+ should_redirect_to res.denied.redirect
115
+ should_set_the_flash_to res.denied.flash
116
+
117
+ should "not destroy record" do
118
+ assert_nothing_raised { assert @record.reload }
119
+ end
120
+ else
121
+ should_set_the_flash_to res.destroy.flash
122
+ if res.destroy.redirect.is_a? Symbol
123
+ should_respond_with res.destroy.redirect
124
+ else
125
+ should_redirect_to res.destroy.redirect
126
+ end
127
+
128
+ should "destroy record" do
129
+ assert_raises(::ActiveRecord::RecordNotFound, "@#{res.object} was not destroyed.") do
130
+ @record.reload
131
+ end
132
+ end
133
+ end
134
+ end
135
+ end
136
+
137
+ def make_create_html_tests(res)
138
+ context "on POST to #{controller_name_from_class}#create with #{res.create.params.inspect}" do
139
+ setup do
140
+ record = get_existing_record(res) rescue nil
141
+ parent_params = make_parent_params(res, record)
142
+ @count = res.klass.count
143
+ post :create, parent_params.merge(res.object => res.create.params)
144
+ end
145
+
146
+ if res.denied.actions.include?(:create)
147
+ should_redirect_to res.denied.redirect
148
+ should_set_the_flash_to res.denied.flash
149
+ should_not_assign_to res.object
150
+
151
+ should "not create new record" do
152
+ assert_equal @count, res.klass.count
153
+ end
154
+ else
155
+ should_assign_to res.object
156
+ should_set_the_flash_to res.create.flash
157
+ if res.create.redirect.is_a? Symbol
158
+ should_respond_with res.create.redirect
159
+ else
160
+ should_redirect_to res.create.redirect
161
+ end
162
+
163
+ should "not have errors on @#{res.object}" do
164
+ assert_equal [], pretty_error_messages(assigns(res.object)), "@#{res.object} has errors:"
165
+ end
166
+ end
167
+ end
168
+ end
169
+
170
+ def make_update_html_tests(res)
171
+ context "on PUT to #{controller_name_from_class}#update with #{res.create.params.inspect}" do
172
+ setup do
173
+ @record = get_existing_record(res)
174
+ parent_params = make_parent_params(res, @record)
175
+ put :update, parent_params.merge(res.identifier => @record.to_param, res.object => res.update.params)
176
+ end
177
+
178
+ if res.denied.actions.include?(:update)
179
+ should_not_assign_to res.object
180
+ should_redirect_to res.denied.redirect
181
+ should_set_the_flash_to res.denied.flash
182
+ else
183
+ should_assign_to res.object
184
+ should_set_the_flash_to(res.update.flash)
185
+ if res.update.redirect.is_a? Symbol
186
+ should_respond_with res.update.redirect
187
+ else
188
+ should_redirect_to res.update.redirect
189
+ end
190
+
191
+ should "not have errors on @#{res.object}" do
192
+ assert_equal [], pretty_error_messages(assigns(res.object)), "@#{res.object} has errors:"
193
+ end
194
+ end
195
+ end
196
+ end
197
+ end
198
+ end
199
+ end
200
+ end
201
+ end