hashrocket-clearance 0.4.3 → 0.4.4

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 (478) hide show
  1. data/Rakefile +1 -1
  2. data/lib/clearance/app/controllers/passwords_controller.rb +41 -16
  3. data/lib/clearance/test/functional/passwords_controller_test.rb +2 -2
  4. data/lib/clearance/version.rb +1 -1
  5. metadata +2 -634
  6. data/test/rails_root/Capfile +0 -3
  7. data/test/rails_root/Rakefile +0 -10
  8. data/test/rails_root/app/controllers/application.rb +0 -5
  9. data/test/rails_root/app/controllers/confirmations_controller.rb +0 -3
  10. data/test/rails_root/app/controllers/passwords_controller.rb +0 -3
  11. data/test/rails_root/app/controllers/sessions_controller.rb +0 -8
  12. data/test/rails_root/app/controllers/users_controller.rb +0 -3
  13. data/test/rails_root/app/helpers/application_helper.rb +0 -5
  14. data/test/rails_root/app/helpers/confirmations_helper.rb +0 -2
  15. data/test/rails_root/app/helpers/passwords_helper.rb +0 -2
  16. data/test/rails_root/app/models/clearance_mailer.rb +0 -4
  17. data/test/rails_root/app/models/user.rb +0 -3
  18. data/test/rails_root/app/views/clearance_mailer/confirmation.html.erb +0 -1
  19. data/test/rails_root/app/views/clearance_mailer/facebook_welcome.text.html.haml +0 -4
  20. data/test/rails_root/app/views/clearance_mailer/forgot_password.html.erb +0 -6
  21. data/test/rails_root/app/views/layouts/_flashes.erb +0 -5
  22. data/test/rails_root/app/views/layouts/application.html.erb +0 -14
  23. data/test/rails_root/app/views/passwords/edit.html.erb +0 -18
  24. data/test/rails_root/app/views/passwords/new.html.erb +0 -15
  25. data/test/rails_root/app/views/sessions/new.html.erb +0 -29
  26. data/test/rails_root/app/views/users/_form.html.erb +0 -13
  27. data/test/rails_root/app/views/users/_password_form.html.erb +0 -13
  28. data/test/rails_root/app/views/users/edit_password.html.erb +0 -4
  29. data/test/rails_root/app/views/users/new.html.erb +0 -6
  30. data/test/rails_root/config/boot.rb +0 -109
  31. data/test/rails_root/config/database.yml +0 -13
  32. data/test/rails_root/config/environment.rb +0 -19
  33. data/test/rails_root/config/environments/development.rb +0 -19
  34. data/test/rails_root/config/environments/test.rb +0 -23
  35. data/test/rails_root/config/facebooker.yml +0 -13
  36. data/test/rails_root/config/initializers/action_mailer.rb +0 -1
  37. data/test/rails_root/config/initializers/clearance.rb +0 -8
  38. data/test/rails_root/config/initializers/inflections.rb +0 -10
  39. data/test/rails_root/config/initializers/mime_types.rb +0 -5
  40. data/test/rails_root/config/initializers/requires.rb +0 -13
  41. data/test/rails_root/config/initializers/time_formats.rb +0 -4
  42. data/test/rails_root/config/routes.rb +0 -12
  43. data/test/rails_root/db/migrate/001_create_users.rb +0 -25
  44. data/test/rails_root/doc/README_FOR_APP +0 -2
  45. data/test/rails_root/doc/README_FOR_TEMPLATE +0 -15
  46. data/test/rails_root/lib/tasks/bootstrap.rake +0 -16
  47. data/test/rails_root/lib/tasks/capistrano.rake +0 -96
  48. data/test/rails_root/lib/tasks/git_tasks.rake +0 -129
  49. data/test/rails_root/lib/tasks/rspec.rake +0 -132
  50. data/test/rails_root/public/404.html +0 -30
  51. data/test/rails_root/public/422.html +0 -30
  52. data/test/rails_root/public/500.html +0 -30
  53. data/test/rails_root/public/dispatch.rb +0 -10
  54. data/test/rails_root/public/favicon.ico +0 -0
  55. data/test/rails_root/public/images/connect_light_medium_long.gif +0 -0
  56. data/test/rails_root/public/images/rails.png +0 -0
  57. data/test/rails_root/public/javascripts/application.js +0 -2
  58. data/test/rails_root/public/javascripts/builder.js +0 -136
  59. data/test/rails_root/public/javascripts/controls.js +0 -963
  60. data/test/rails_root/public/javascripts/dragdrop.js +0 -972
  61. data/test/rails_root/public/javascripts/effects.js +0 -1120
  62. data/test/rails_root/public/javascripts/facebooker.js +0 -106
  63. data/test/rails_root/public/javascripts/prototype.js +0 -4225
  64. data/test/rails_root/public/javascripts/scriptaculous.js +0 -58
  65. data/test/rails_root/public/javascripts/slider.js +0 -277
  66. data/test/rails_root/public/javascripts/sound.js +0 -60
  67. data/test/rails_root/public/robots.txt +0 -1
  68. data/test/rails_root/script/about +0 -3
  69. data/test/rails_root/script/autospec +0 -5
  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/script/spec +0 -5
  86. data/test/rails_root/script/spec_server +0 -116
  87. data/test/rails_root/spec/controllers/passwords_controller_spec.rb +0 -5
  88. data/test/rails_root/spec/controllers/session_controller_spec.rb +0 -5
  89. data/test/rails_root/spec/models/user_spec.rb +0 -5
  90. data/test/rails_root/spec/rcov.opts +0 -2
  91. data/test/rails_root/spec/spec.opts +0 -4
  92. data/test/rails_root/spec/spec_helper.rb +0 -51
  93. data/test/rails_root/test/factories.rb +0 -9
  94. data/test/rails_root/test/functional/confirmations_controller_test.rb +0 -5
  95. data/test/rails_root/test/functional/passwords_controller_test.rb +0 -5
  96. data/test/rails_root/test/functional/sessions_controller_test.rb +0 -5
  97. data/test/rails_root/test/functional/users_controller_test.rb +0 -5
  98. data/test/rails_root/test/test_helper.rb +0 -21
  99. data/test/rails_root/test/unit/clearance_mailer_test.rb +0 -6
  100. data/test/rails_root/test/unit/user_test.rb +0 -5
  101. data/test/rails_root/vendor/gems/mocha-0.9.1/COPYING +0 -3
  102. data/test/rails_root/vendor/gems/mocha-0.9.1/MIT-LICENSE +0 -7
  103. data/test/rails_root/vendor/gems/mocha-0.9.1/README +0 -35
  104. data/test/rails_root/vendor/gems/mocha-0.9.1/RELEASE +0 -246
  105. data/test/rails_root/vendor/gems/mocha-0.9.1/Rakefile +0 -188
  106. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb +0 -44
  107. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/mocha.rb +0 -26
  108. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/stubba.rb +0 -65
  109. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha.rb +0 -20
  110. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/any_instance_method.rb +0 -54
  111. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/backtrace_filter.rb +0 -17
  112. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/cardinality.rb +0 -95
  113. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/central.rb +0 -27
  114. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/change_state_side_effect.rb +0 -19
  115. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/class_method.rb +0 -86
  116. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/configuration.rb +0 -60
  117. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/deprecation.rb +0 -22
  118. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/exception_raiser.rb +0 -17
  119. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation.rb +0 -445
  120. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation_error.rb +0 -15
  121. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation_list.rb +0 -50
  122. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/in_state_ordering_constraint.rb +0 -19
  123. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/inspect.rb +0 -39
  124. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/instance_method.rb +0 -16
  125. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/is_a.rb +0 -9
  126. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/logger.rb +0 -15
  127. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/metaclass.rb +0 -7
  128. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/method_matcher.rb +0 -21
  129. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/mock.rb +0 -196
  130. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/mockery.rb +0 -181
  131. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/module_method.rb +0 -16
  132. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/multiple_yields.rb +0 -20
  133. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/names.rb +0 -53
  134. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/no_yields.rb +0 -11
  135. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/object.rb +0 -134
  136. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers.rb +0 -26
  137. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/all_of.rb +0 -42
  138. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/any_of.rb +0 -47
  139. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/any_parameters.rb +0 -40
  140. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/anything.rb +0 -33
  141. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/base.rb +0 -15
  142. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/equals.rb +0 -42
  143. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_entries.rb +0 -45
  144. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_entry.rb +0 -56
  145. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_key.rb +0 -42
  146. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_value.rb +0 -42
  147. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/includes.rb +0 -40
  148. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/instance_of.rb +0 -42
  149. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/is_a.rb +0 -42
  150. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/kind_of.rb +0 -42
  151. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/not.rb +0 -42
  152. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/object.rb +0 -9
  153. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/optionally.rb +0 -55
  154. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/regexp_matches.rb +0 -43
  155. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/responds_with.rb +0 -43
  156. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/yaml_equivalent.rb +0 -43
  157. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameters_matcher.rb +0 -37
  158. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/pretty_parameters.rb +0 -28
  159. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/return_values.rb +0 -31
  160. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/sequence.rb +0 -42
  161. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/single_return_value.rb +0 -17
  162. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/single_yield.rb +0 -18
  163. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/standalone.rb +0 -166
  164. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/state_machine.rb +0 -91
  165. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/stubbing_error.rb +0 -16
  166. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/test_case_adapter.rb +0 -103
  167. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/unexpected_invocation.rb +0 -18
  168. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/yield_parameters.rb +0 -31
  169. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha_standalone.rb +0 -2
  170. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/stubba.rb +0 -4
  171. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/acceptance_test_helper.rb +0 -38
  172. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_18914_test.rb +0 -43
  173. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_21465_test.rb +0 -34
  174. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_21563_test.rb +0 -25
  175. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/expected_invocation_count_test.rb +0 -196
  176. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/failure_messages_test.rb +0 -64
  177. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocha_example_test.rb +0 -98
  178. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocha_test_result_test.rb +0 -84
  179. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mock_test.rb +0 -100
  180. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mock_with_initializer_block_test.rb +0 -51
  181. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocked_methods_dispatch_test.rb +0 -78
  182. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/optional_parameters_test.rb +0 -70
  183. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/parameter_matcher_test.rb +0 -179
  184. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/partial_mocks_test.rb +0 -47
  185. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/return_value_test.rb +0 -52
  186. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/sequence_test.rb +0 -186
  187. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/standalone_test.rb +0 -139
  188. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/states_test.rb +0 -70
  189. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_any_instance_method_test.rb +0 -195
  190. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_class_method_test.rb +0 -203
  191. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_everything_test.rb +0 -56
  192. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_instance_method_test.rb +0 -165
  193. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_module_method_test.rb +0 -163
  194. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_test.rb +0 -52
  195. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_example_test.rb +0 -102
  196. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_test.rb +0 -15
  197. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_test_result_test.rb +0 -66
  198. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_error_backtrace_test.rb +0 -64
  199. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_method_unnecessarily_test.rb +0 -65
  200. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +0 -130
  201. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_class_method_test.rb +0 -155
  202. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_instance_method_test.rb +0 -145
  203. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_any_instance_method_test.rb +0 -130
  204. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_class_method_test.rb +0 -161
  205. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_instance_method_test.rb +0 -141
  206. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_on_non_mock_object_test.rb +0 -64
  207. data/test/rails_root/vendor/gems/mocha-0.9.1/test/active_record_test_case.rb +0 -36
  208. data/test/rails_root/vendor/gems/mocha-0.9.1/test/deprecation_disabler.rb +0 -15
  209. data/test/rails_root/vendor/gems/mocha-0.9.1/test/execution_point.rb +0 -36
  210. data/test/rails_root/vendor/gems/mocha-0.9.1/test/method_definer.rb +0 -18
  211. data/test/rails_root/vendor/gems/mocha-0.9.1/test/simple_counter.rb +0 -13
  212. data/test/rails_root/vendor/gems/mocha-0.9.1/test/test_helper.rb +0 -11
  213. data/test/rails_root/vendor/gems/mocha-0.9.1/test/test_runner.rb +0 -33
  214. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/any_instance_method_test.rb +0 -126
  215. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/array_inspect_test.rb +0 -16
  216. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/backtrace_filter_test.rb +0 -19
  217. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/cardinality_test.rb +0 -56
  218. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/central_test.rb +0 -65
  219. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/change_state_side_effect_test.rb +0 -41
  220. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/class_method_test.rb +0 -237
  221. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/date_time_inspect_test.rb +0 -21
  222. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/exception_raiser_test.rb +0 -42
  223. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/expectation_list_test.rb +0 -57
  224. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/expectation_test.rb +0 -459
  225. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/hash_inspect_test.rb +0 -16
  226. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/in_state_ordering_constraint_test.rb +0 -43
  227. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/metaclass_test.rb +0 -22
  228. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/method_matcher_test.rb +0 -23
  229. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/mock_test.rb +0 -290
  230. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/mockery_test.rb +0 -149
  231. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/multiple_yields_test.rb +0 -18
  232. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/no_yields_test.rb +0 -18
  233. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/object_inspect_test.rb +0 -37
  234. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/object_test.rb +0 -82
  235. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/all_of_test.rb +0 -26
  236. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/any_of_test.rb +0 -26
  237. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/anything_test.rb +0 -21
  238. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/equals_test.rb +0 -25
  239. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_entries_test.rb +0 -51
  240. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_entry_test.rb +0 -62
  241. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_key_test.rb +0 -36
  242. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_value_test.rb +0 -37
  243. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/includes_test.rb +0 -25
  244. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/instance_of_test.rb +0 -25
  245. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/is_a_test.rb +0 -25
  246. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/kind_of_test.rb +0 -25
  247. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/not_test.rb +0 -26
  248. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/regexp_matches_test.rb +0 -25
  249. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/responds_with_test.rb +0 -25
  250. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/stub_matcher.rb +0 -27
  251. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/yaml_equivalent_test.rb +0 -25
  252. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameters_matcher_test.rb +0 -121
  253. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/return_values_test.rb +0 -63
  254. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/sequence_test.rb +0 -104
  255. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/single_return_value_test.rb +0 -14
  256. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/single_yield_test.rb +0 -18
  257. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/state_machine_test.rb +0 -98
  258. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/string_inspect_test.rb +0 -11
  259. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/yield_parameters_test.rb +0 -93
  260. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/CONTRIBUTION_GUIDELINES.rdoc +0 -12
  261. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/MIT-LICENSE +0 -22
  262. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/README.rdoc +0 -132
  263. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/Rakefile +0 -72
  264. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/bin/convert_to_should_syntax +0 -42
  265. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda.rb +0 -17
  266. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/action_mailer.rb +0 -10
  267. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/action_mailer/assertions.rb +0 -39
  268. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record.rb +0 -12
  269. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record/assertions.rb +0 -85
  270. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record/macros.rb +0 -715
  271. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/assertions.rb +0 -45
  272. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/context.rb +0 -306
  273. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller.rb +0 -30
  274. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/formats/html.rb +0 -201
  275. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/formats/xml.rb +0 -170
  276. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/helpers.rb +0 -64
  277. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/macros.rb +0 -316
  278. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/resource_options.rb +0 -236
  279. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/helpers.rb +0 -10
  280. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/macros.rb +0 -74
  281. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/private_helpers.rb +0 -22
  282. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/proc_extensions.rb +0 -14
  283. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/rails.rb +0 -19
  284. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks.rb +0 -3
  285. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks/list_tests.rake +0 -24
  286. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks/yaml_to_shoulda.rake +0 -28
  287. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/rails/init.rb +0 -1
  288. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/README +0 -36
  289. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fail_macros.rb +0 -34
  290. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/addresses.yml +0 -3
  291. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/friendships.yml +0 -0
  292. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/posts.yml +0 -5
  293. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/products.yml +0 -0
  294. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/taggings.yml +0 -0
  295. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/tags.yml +0 -9
  296. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/users.yml +0 -6
  297. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/functional/posts_controller_test.rb +0 -104
  298. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/functional/users_controller_test.rb +0 -38
  299. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/context_test.rb +0 -145
  300. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/convert_to_should_syntax_test.rb +0 -63
  301. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/helpers_test.rb +0 -183
  302. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/private_helpers_test.rb +0 -34
  303. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/should_test.rb +0 -266
  304. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/application.rb +0 -25
  305. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/posts_controller.rb +0 -85
  306. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/users_controller.rb +0 -84
  307. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/application_helper.rb +0 -3
  308. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/posts_helper.rb +0 -2
  309. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/users_helper.rb +0 -2
  310. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/address.rb +0 -7
  311. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/dog.rb +0 -5
  312. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/flea.rb +0 -3
  313. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/friendship.rb +0 -4
  314. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/post.rb +0 -12
  315. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/product.rb +0 -12
  316. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/tag.rb +0 -8
  317. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/tagging.rb +0 -4
  318. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/user.rb +0 -28
  319. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/posts.rhtml +0 -17
  320. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/users.rhtml +0 -17
  321. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/wide.html.erb +0 -1
  322. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/edit.rhtml +0 -27
  323. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/index.rhtml +0 -25
  324. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/new.rhtml +0 -26
  325. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/show.rhtml +0 -18
  326. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/edit.rhtml +0 -22
  327. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/index.rhtml +0 -22
  328. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/new.rhtml +0 -21
  329. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/show.rhtml +0 -13
  330. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/boot.rb +0 -109
  331. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/database.yml +0 -4
  332. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/environment.rb +0 -14
  333. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/environments/sqlite3.rb +0 -0
  334. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/initializers/new_rails_defaults.rb +0 -15
  335. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/initializers/shoulda.rb +0 -8
  336. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/routes.rb +0 -6
  337. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/001_create_users.rb +0 -18
  338. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/002_create_posts.rb +0 -13
  339. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/003_create_taggings.rb +0 -12
  340. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/004_create_tags.rb +0 -11
  341. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/005_create_dogs.rb +0 -12
  342. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/006_create_addresses.rb +0 -14
  343. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/007_create_fleas.rb +0 -11
  344. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/008_create_dogs_fleas.rb +0 -12
  345. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/009_create_products.rb +0 -17
  346. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/010_create_friendships.rb +0 -14
  347. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/schema.rb +0 -0
  348. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/log/sqlite3.log +0 -1
  349. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/404.html +0 -30
  350. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/422.html +0 -30
  351. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/500.html +0 -30
  352. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/script/console +0 -3
  353. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/script/generate +0 -3
  354. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/test_helper.rb +0 -33
  355. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/address_test.rb +0 -10
  356. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/dog_test.rb +0 -7
  357. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/flea_test.rb +0 -6
  358. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/friendship_test.rb +0 -6
  359. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/post_test.rb +0 -15
  360. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/product_test.rb +0 -27
  361. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/tag_test.rb +0 -14
  362. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/tagging_test.rb +0 -6
  363. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/user_test.rb +0 -52
  364. data/test/rails_root/vendor/plugins/facebooker/CHANGELOG.txt +0 -0
  365. data/test/rails_root/vendor/plugins/facebooker/COPYING +0 -19
  366. data/test/rails_root/vendor/plugins/facebooker/History.txt +0 -16
  367. data/test/rails_root/vendor/plugins/facebooker/Manifest.txt +0 -110
  368. data/test/rails_root/vendor/plugins/facebooker/README +0 -46
  369. data/test/rails_root/vendor/plugins/facebooker/README.txt +0 -81
  370. data/test/rails_root/vendor/plugins/facebooker/Rakefile +0 -62
  371. data/test/rails_root/vendor/plugins/facebooker/TODO.txt +0 -10
  372. data/test/rails_root/vendor/plugins/facebooker/examples/desktop_login.rb +0 -14
  373. data/test/rails_root/vendor/plugins/facebooker/facebooker.gemspec +0 -34
  374. data/test/rails_root/vendor/plugins/facebooker/generators/facebook/facebook_generator.rb +0 -14
  375. data/test/rails_root/vendor/plugins/facebooker/generators/facebook/templates/config/facebooker.yml +0 -41
  376. data/test/rails_root/vendor/plugins/facebooker/generators/facebook/templates/public/javascripts/facebooker.js +0 -106
  377. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/USAGE +0 -33
  378. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/facebook_controller_generator.rb +0 -40
  379. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/controller.rb +0 -7
  380. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/functional_test.rb +0 -11
  381. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/helper.rb +0 -2
  382. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/view.fbml.erb +0 -2
  383. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/view.html.erb +0 -2
  384. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_publisher/facebook_publisher_generator.rb +0 -14
  385. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_publisher/templates/create_facebook_templates.rb +0 -15
  386. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_publisher/templates/publisher.rb +0 -3
  387. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/USAGE +0 -27
  388. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/facebook_scaffold_generator.rb +0 -118
  389. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/controller.rb +0 -93
  390. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/facebook_style.css +0 -2579
  391. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/functional_test.rb +0 -89
  392. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/helper.rb +0 -2
  393. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/layout.fbml.erb +0 -6
  394. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/layout.html.erb +0 -17
  395. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/style.css +0 -74
  396. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_edit.fbml.erb +0 -13
  397. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_edit.html.erb +0 -18
  398. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_index.fbml.erb +0 -24
  399. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_index.html.erb +0 -24
  400. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_new.fbml.erb +0 -12
  401. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_new.html.erb +0 -17
  402. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_show.fbml.erb +0 -10
  403. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_show.html.erb +0 -10
  404. data/test/rails_root/vendor/plugins/facebooker/generators/publisher/publisher_generator.rb +0 -14
  405. data/test/rails_root/vendor/plugins/facebooker/generators/receiver/receiver_generator.rb +0 -9
  406. data/test/rails_root/vendor/plugins/facebooker/generators/receiver/templates/xd_receiver.html +0 -10
  407. data/test/rails_root/vendor/plugins/facebooker/init.rb +0 -54
  408. data/test/rails_root/vendor/plugins/facebooker/install.rb +0 -12
  409. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker.rb +0 -143
  410. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/adapters/adapter_base.rb +0 -87
  411. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/adapters/bebo_adapter.rb +0 -73
  412. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/adapters/facebook_adapter.rb +0 -48
  413. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/admin.rb +0 -28
  414. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/batch_request.rb +0 -44
  415. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/data.rb +0 -57
  416. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/feed.rb +0 -78
  417. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/logging.rb +0 -41
  418. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/model.rb +0 -123
  419. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/affiliation.rb +0 -10
  420. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/album.rb +0 -11
  421. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/applicationproperties.rb +0 -39
  422. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/cookie.rb +0 -10
  423. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/education_info.rb +0 -11
  424. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/event.rb +0 -26
  425. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/friend_list.rb +0 -14
  426. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/group.rb +0 -35
  427. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/info_item.rb +0 -10
  428. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/info_section.rb +0 -10
  429. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/location.rb +0 -8
  430. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/notifications.rb +0 -17
  431. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/page.rb +0 -27
  432. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/photo.rb +0 -10
  433. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/tag.rb +0 -12
  434. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/user.rb +0 -352
  435. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/work_info.rb +0 -9
  436. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/parser.rb +0 -540
  437. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/controller.rb +0 -246
  438. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_asset_path.rb +0 -18
  439. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_form_builder.rb +0 -112
  440. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_pretty_errors.rb +0 -14
  441. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_request_fix.rb +0 -24
  442. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_session_handling.rb +0 -58
  443. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_url_helper.rb +0 -191
  444. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_url_rewriting.rb +0 -39
  445. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/helpers.rb +0 -615
  446. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/profile_publisher_extensions.rb +0 -42
  447. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/publisher.rb +0 -475
  448. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/routing.rb +0 -49
  449. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/test_helpers.rb +0 -88
  450. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/utilities.rb +0 -22
  451. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/server_cache.rb +0 -24
  452. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/service.rb +0 -31
  453. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/session.rb +0 -564
  454. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/version.rb +0 -9
  455. data/test/rails_root/vendor/plugins/facebooker/lib/net/http_multipart_post.rb +0 -123
  456. data/test/rails_root/vendor/plugins/facebooker/lib/tasks/facebooker.rake +0 -18
  457. data/test/rails_root/vendor/plugins/facebooker/lib/tasks/tunnel.rake +0 -46
  458. data/test/rails_root/vendor/plugins/facebooker/rails/init.rb +0 -1
  459. data/test/rails_root/vendor/plugins/facebooker/setup.rb +0 -1585
  460. data/test/rails_root/vendor/plugins/facebooker/templates/layout.erb +0 -24
  461. data/test/rails_root/vendor/plugins/facebooker/test/adapters_test.rb +0 -98
  462. data/test/rails_root/vendor/plugins/facebooker/test/batch_request_test.rb +0 -82
  463. data/test/rails_root/vendor/plugins/facebooker/test/event_test.rb +0 -15
  464. data/test/rails_root/vendor/plugins/facebooker/test/facebook_admin_test.rb +0 -75
  465. data/test/rails_root/vendor/plugins/facebooker/test/facebook_cache_test.rb +0 -43
  466. data/test/rails_root/vendor/plugins/facebooker/test/facebook_data_test.rb +0 -84
  467. data/test/rails_root/vendor/plugins/facebooker/test/facebooker_test.rb +0 -855
  468. data/test/rails_root/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_only_parameters.txt +0 -33
  469. data/test/rails_root/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_single_file.txt +0 -38
  470. data/test/rails_root/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_single_file_that_has_nil_key.txt +0 -38
  471. data/test/rails_root/vendor/plugins/facebooker/test/http_multipart_post_test.rb +0 -54
  472. data/test/rails_root/vendor/plugins/facebooker/test/logging_test.rb +0 -36
  473. data/test/rails_root/vendor/plugins/facebooker/test/model_test.rb +0 -91
  474. data/test/rails_root/vendor/plugins/facebooker/test/publisher_test.rb +0 -436
  475. data/test/rails_root/vendor/plugins/facebooker/test/rails_integration_test.rb +0 -1125
  476. data/test/rails_root/vendor/plugins/facebooker/test/session_test.rb +0 -587
  477. data/test/rails_root/vendor/plugins/facebooker/test/test_helper.rb +0 -60
  478. data/test/rails_root/vendor/plugins/facebooker/test/user_test.rb +0 -229
@@ -1,1125 +0,0 @@
1
- require File.dirname(__FILE__) + '/test_helper.rb'
2
- begin
3
- require 'action_controller'
4
- require 'action_controller/test_process'
5
- require 'facebooker/rails/controller'
6
- require 'facebooker/rails/helpers'
7
- require 'facebooker/rails/facebook_form_builder'
8
- require File.dirname(__FILE__)+'/../init'
9
- require 'mocha'
10
-
11
- ActionController::Routing::Routes.draw do |map|
12
- map.connect '', :controller=>"facebook",:conditions=>{:canvas=>true}
13
- map.connect '', :controller=>"plain_old_rails"
14
- map.resources :comments, :controller=>"plain_old_rails"
15
- map.connect 'require_auth/:action', :controller => "controller_which_requires_facebook_authentication"
16
- map.connect 'require_install/:action', :controller => "controller_which_requires_application_installation"
17
- map.connect ':controller/:action/:id', :controller => "plain_old_rails"
18
- end
19
-
20
- class NoisyController < ActionController::Base
21
- include Facebooker::Rails::Controller
22
- def rescue_action(e) raise e end
23
- end
24
- class ControllerWhichRequiresExtendedPermissions< NoisyController
25
- ensure_authenticated_to_facebook
26
- before_filter :ensure_has_status_update
27
- before_filter :ensure_has_photo_upload
28
- before_filter :ensure_has_create_listing
29
- def index
30
- render :text => 'score!'
31
- end
32
- end
33
-
34
- class ControllerWhichRequiresFacebookAuthentication < NoisyController
35
- ensure_authenticated_to_facebook
36
- def index
37
- render :text => 'score!'
38
- end
39
- def link_test
40
- options = {}
41
- options[:canvas] = true if params[:canvas] == true
42
- options[:canvas] = false if params[:canvas] == false
43
- render :text=>url_for(options)
44
- end
45
-
46
- def named_route_test
47
- render :text=>comments_url()
48
- end
49
-
50
- def image_test
51
- render :inline=>"<%=image_tag 'image.png'%>"
52
- end
53
-
54
- def fb_params_test
55
- render :text=>facebook_params['user']
56
- end
57
-
58
- def publisher_test
59
- if wants_interface?
60
- render :text=>"interface"
61
- else
62
- render :text=>"not interface"
63
- end
64
- end
65
-
66
- def publisher_test_interface
67
- render_publisher_interface("This is a test",false,true)
68
- end
69
-
70
- def publisher_test_response
71
- ua=Facebooker::Rails::Publisher::UserAction.new
72
- ua.data = {:params=>true}
73
- ua.template_name = "template_name"
74
- ua.template_id = 1234
75
- render_publisher_response(ua)
76
- end
77
-
78
- def publisher_test_error
79
- render_publisher_error("Title","Body")
80
- end
81
-
82
- end
83
- class ControllerWhichRequiresApplicationInstallation < NoisyController
84
- ensure_application_is_installed_by_facebook_user
85
- def index
86
- render :text => 'installed!'
87
- end
88
- end
89
- class FacebookController < ActionController::Base
90
- def index
91
- end
92
- end
93
-
94
- class PlainOldRailsController < ActionController::Base
95
- def index
96
- end
97
- def link_test
98
- options = {}
99
- options[:canvas] = true if params[:canvas] == true
100
- options[:canvas] = false if params[:canvas] == false
101
- render :text => url_for(options)
102
- end
103
-
104
- def named_route_test
105
- render :text=>comments_url()
106
- end
107
- def canvas_false_test
108
- render :text=>comments_url(:canvas=>false)
109
- end
110
- def canvas_true_test
111
- render :text=>comments_url(:canvas=>true)
112
- end
113
- end
114
-
115
- class ControllerWhichFails < ActionController::Base
116
- def pass
117
- render :text=>''
118
- end
119
- def fail
120
- raise "I'm failing"
121
- end
122
- end
123
-
124
- # you can't use asset_recognize, because it can't pass parameters in to the requests
125
- class UrlRecognitionTests < Test::Unit::TestCase
126
- def test_detects_in_canvas
127
- request = ActionController::TestRequest.new({"fb_sig_in_canvas"=>"1"}, {}, nil)
128
- request.path = "/"
129
- ActionController::Routing::Routes.recognize(request)
130
- assert_equal({"controller"=>"facebook","action"=>"index"},request.path_parameters)
131
- end
132
-
133
- def test_routes_when_not_in_canvas
134
- request = ActionController::TestRequest.new({}, {}, nil)
135
- request.path = "/"
136
- ActionController::Routing::Routes.recognize(request)
137
- assert_equal({"controller"=>"plain_old_rails","action"=>"index"},request.path_parameters)
138
- end
139
- end
140
-
141
- class RailsIntegrationTestForNonFacebookControllers < Test::Unit::TestCase
142
- def setup
143
- ENV['FACEBOOK_CANVAS_PATH'] ='facebook_app_name'
144
- ENV['FACEBOOK_API_KEY'] = '1234567'
145
- ENV['FACEBOOK_SECRET_KEY'] = '7654321'
146
- @controller = PlainOldRailsController.new
147
- @request = ActionController::TestRequest.new
148
- @response = ActionController::TestResponse.new
149
- end
150
-
151
- def test_url_for_links_to_callback_if_canvas_is_false_and_in_canvas
152
- get :link_test, example_rails_params
153
- assert_match /test.host/,@response.body
154
- end
155
-
156
- def test_named_route_doesnt_include_canvas_path_when_not_in_canvas
157
- get :named_route_test, example_rails_params
158
- assert_equal "http://test.host/comments",@response.body
159
- end
160
- def test_named_route_includes_canvas_path_when_in_canvas
161
- get :named_route_test, example_rails_params_including_fb
162
- assert_equal "http://apps.facebook.com/facebook_app_name/comments",@response.body
163
- end
164
-
165
- def test_named_route_doesnt_include_canvas_path_when_in_canvas_with_canvas_equals_false
166
- get :canvas_false_test, example_rails_params_including_fb
167
- assert_equal "http://test.host/comments",@response.body
168
- end
169
- def test_named_route_does_include_canvas_path_when_not_in_canvas_with_canvas_equals_true
170
- get :canvas_true_test, example_rails_params
171
- assert_equal "http://apps.facebook.com/facebook_app_name/comments",@response.body
172
- end
173
-
174
- private
175
- def example_rails_params
176
- { "action"=>"index", "controller"=>"plain_old_rails_controller" }
177
- end
178
- def example_rails_params_including_fb(options={})
179
- {"fb_sig_time"=>"1186588275.5988", "fb_sig"=>"8d9e9dd2cb0742a5a2bfe35563134585", "action"=>"index", "fb_sig_in_canvas"=>"1", "fb_sig_session_key"=>"c452b5d5d60cbd0a0da82021-744961110", "controller"=>"controller_which_requires_facebook_authentication", "fb_sig_expires"=>"0", "fb_sig_friends"=>"417358,702720,1001170,1530839,3300204,3501584,6217936,9627766,9700907,22701786,33902768,38914148,67400422,135301144,157200364,500103523,500104930,500870819,502149612,502664898,502694695,502852293,502985816,503254091,504510130,504611551,505421674,509229747,511075237,512548373,512830487,517893818,517961878,518890403,523589362,523826914,525812984,531555098,535310228,539339781,541137089,549405288,552706617,564393355,564481279,567640762,568091401,570201702,571469972,573863097,574415114,575543081,578129427,578520568,582262836,582561201,586550659,591631962,592318318,596269347,596663221,597405464,599764847,602995438,606661367,609761260,610544224,620049417,626087078,628803637,632686250,641422291,646763898,649678032,649925863,653288975,654395451,659079771,661794253,665861872,668960554,672481514,675399151,678427115,685772348,686821151,687686894,688506532,689275123,695551670,710631572,710766439,712406081,715741469,718976395,719246649,722747311,725327717,725683968,725831016,727580320,734151780,734595181,737944528,748881410,752244947,763868412,768578853,776596978,789728437,873695441", "fb_sig_added"=>"0", "fb_sig_api_key"=>"b6c9c857ac543ca806f4d3187cd05e09", "fb_sig_user"=>"744961110", "fb_sig_profile_update_time"=>"1180712453"}.merge(options)
180
- end
181
-
182
- end
183
-
184
- class RailsIntegrationTestForExtendedPermissions < Test::Unit::TestCase
185
- def setup
186
- ENV['FACEBOOK_API_KEY'] = '1234567'
187
- ENV['FACEBOOK_SECRET_KEY'] = '7654321'
188
- @controller = ControllerWhichRequiresExtendedPermissions.new
189
- @request = ActionController::TestRequest.new
190
- @response = ActionController::TestResponse.new
191
- @controller.stubs(:verify_signature).returns(true)
192
- end
193
-
194
- def test_redirects_without_set_status
195
- post :index,example_rails_params_including_fb
196
- assert_response :success
197
- assert_equal("<fb:redirect url=\"http://www.facebook.com/authorize.php?api_key=1234567&v=1.0&ext_perm=status_update\" />", @response.body)
198
- end
199
- def test_redirects_without_photo_upload
200
- post :index,example_rails_params_including_fb.merge(:fb_sig_ext_perms=>"status_update")
201
- assert_response :success
202
- assert_equal("<fb:redirect url=\"http://www.facebook.com/authorize.php?api_key=1234567&v=1.0&ext_perm=photo_upload\" />", @response.body)
203
- end
204
- def test_redirects_without_create_listing
205
- post :index,example_rails_params_including_fb.merge(:fb_sig_ext_perms=>"status_update,photo_upload")
206
- assert_response :success
207
- assert_equal("<fb:redirect url=\"http://www.facebook.com/authorize.php?api_key=1234567&v=1.0&ext_perm=create_listing\" />", @response.body)
208
- end
209
-
210
- def test_renders_with_permission
211
- post :index,example_rails_params_including_fb.merge(:fb_sig_ext_perms=>"status_update,photo_upload,create_listing")
212
- assert_response :success
213
- assert_equal("score!", @response.body)
214
-
215
- end
216
- private
217
- def example_rails_params_including_fb
218
- {"fb_sig_time"=>"1186588275.5988", "fb_sig"=>"7371a6400329b229f800a5ecafe03b0a", "action"=>"index", "fb_sig_in_canvas"=>"1", "fb_sig_session_key"=>"c452b5d5d60cbd0a0da82021-744961110", "controller"=>"controller_which_requires_facebook_authentication", "fb_sig_expires"=>"0", "fb_sig_friends"=>"417358,702720,1001170,1530839,3300204,3501584,6217936,9627766,9700907,22701786,33902768,38914148,67400422,135301144,157200364,500103523,500104930,500870819,502149612,502664898,502694695,502852293,502985816,503254091,504510130,504611551,505421674,509229747,511075237,512548373,512830487,517893818,517961878,518890403,523589362,523826914,525812984,531555098,535310228,539339781,541137089,549405288,552706617,564393355,564481279,567640762,568091401,570201702,571469972,573863097,574415114,575543081,578129427,578520568,582262836,582561201,586550659,591631962,592318318,596269347,596663221,597405464,599764847,602995438,606661367,609761260,610544224,620049417,626087078,628803637,632686250,641422291,646763898,649678032,649925863,653288975,654395451,659079771,661794253,665861872,668960554,672481514,675399151,678427115,685772348,686821151,687686894,688506532,689275123,695551670,710631572,710766439,712406081,715741469,718976395,719246649,722747311,725327717,725683968,725831016,727580320,734151780,734595181,737944528,748881410,752244947,763868412,768578853,776596978,789728437,873695441", "fb_sig_added"=>"0", "fb_sig_api_key"=>"b6c9c857ac543ca806f4d3187cd05e09", "fb_sig_user"=>"744961110", "fb_sig_profile_update_time"=>"1180712453"}
219
- end
220
-
221
- end
222
-
223
- class RailsIntegrationTestForApplicationInstallation < Test::Unit::TestCase
224
- def setup
225
- ENV['FACEBOOK_API_KEY'] = '1234567'
226
- ENV['FACEBOOK_SECRET_KEY'] = '7654321'
227
- @controller = ControllerWhichRequiresApplicationInstallation.new
228
- @request = ActionController::TestRequest.new
229
- @response = ActionController::TestResponse.new
230
- @controller.stubs(:verify_signature).returns(true)
231
- end
232
-
233
- def test_if_controller_requires_application_installation_unauthenticated_requests_will_redirect_to_install_page
234
- get :index
235
- assert_response :redirect
236
- assert_equal("http://www.facebook.com/install.php?api_key=1234567&v=1.0", @response.headers['Location'])
237
- end
238
-
239
- def test_if_controller_requires_application_installation_authenticated_requests_without_installation_will_redirect_to_install_page
240
- get :index, example_rails_params_including_fb
241
- assert_response :success
242
- assert_equal("<fb:redirect url=\"http://www.facebook.com/install.php?api_key=1234567&v=1.0\" />", @response.body)
243
- end
244
-
245
- def test_if_controller_requires_application_installation_authenticated_requests_with_installation_will_render
246
- get :index, example_rails_params_including_fb.merge('fb_sig_added' => "1")
247
- assert_response :success
248
- assert_equal("installed!", @response.body)
249
- end
250
-
251
- private
252
- def example_rails_params_including_fb
253
- {"fb_sig_time"=>"1186588275.5988", "fb_sig"=>"7371a6400329b229f800a5ecafe03b0a", "action"=>"index", "fb_sig_in_canvas"=>"1", "fb_sig_session_key"=>"c452b5d5d60cbd0a0da82021-744961110", "controller"=>"controller_which_requires_facebook_authentication", "fb_sig_expires"=>"0", "fb_sig_friends"=>"417358,702720,1001170,1530839,3300204,3501584,6217936,9627766,9700907,22701786,33902768,38914148,67400422,135301144,157200364,500103523,500104930,500870819,502149612,502664898,502694695,502852293,502985816,503254091,504510130,504611551,505421674,509229747,511075237,512548373,512830487,517893818,517961878,518890403,523589362,523826914,525812984,531555098,535310228,539339781,541137089,549405288,552706617,564393355,564481279,567640762,568091401,570201702,571469972,573863097,574415114,575543081,578129427,578520568,582262836,582561201,586550659,591631962,592318318,596269347,596663221,597405464,599764847,602995438,606661367,609761260,610544224,620049417,626087078,628803637,632686250,641422291,646763898,649678032,649925863,653288975,654395451,659079771,661794253,665861872,668960554,672481514,675399151,678427115,685772348,686821151,687686894,688506532,689275123,695551670,710631572,710766439,712406081,715741469,718976395,719246649,722747311,725327717,725683968,725831016,727580320,734151780,734595181,737944528,748881410,752244947,763868412,768578853,776596978,789728437,873695441", "fb_sig_added"=>"0", "fb_sig_api_key"=>"b6c9c857ac543ca806f4d3187cd05e09", "fb_sig_user"=>"744961110", "fb_sig_profile_update_time"=>"1180712453"}
254
- end
255
- end
256
-
257
- class RailsIntegrationTest < Test::Unit::TestCase
258
- def setup
259
- ENV['FACEBOOK_CANVAS_PATH'] ='root'
260
- ENV['FACEBOOK_API_KEY'] = '1234567'
261
- ENV['FACEBOOK_SECRET_KEY'] = '7654321'
262
- ActionController::Base.asset_host="http://root.example.com"
263
- @controller = ControllerWhichRequiresFacebookAuthentication.new
264
- @request = ActionController::TestRequest.new
265
- @response = ActionController::TestResponse.new
266
- @controller.stubs(:verify_signature).returns(true)
267
-
268
- end
269
-
270
- def test_named_route_includes_new_canvas_path_when_in_new_canvas
271
- get :named_route_test, example_rails_params_including_fb.merge("fb_sig_in_new_facebook"=>"1")
272
- assert_equal "http://apps.facebook.com/root/comments",@response.body
273
- end
274
-
275
- def test_if_controller_requires_facebook_authentication_unauthenticated_requests_will_redirect
276
- get :index
277
- assert_response :redirect
278
- assert_equal("http://www.facebook.com/login.php?api_key=1234567&v=1.0", @response.headers['Location'])
279
- end
280
-
281
- def test_facebook_params_are_parsed_into_a_separate_hash
282
- get :index, example_rails_params_including_fb
283
- facebook_params = @controller.facebook_params
284
- assert_equal([8, 8], [facebook_params['time'].day, facebook_params['time'].mon])
285
- end
286
-
287
- def test_facebook_params_convert_in_canvas_to_boolean
288
- get :index, example_rails_params_including_fb
289
- assert_equal(true, @controller.facebook_params['in_canvas'])
290
- end
291
-
292
- def test_facebook_params_convert_added_to_boolean_false
293
- get :index, example_rails_params_including_fb
294
- assert_equal(false, @controller.facebook_params['added'])
295
- end
296
-
297
- def test_facebook_params_convert_added_to_boolean_true
298
- get :index, example_rails_params_including_fb.merge('fb_sig_added' => "1")
299
- assert_equal(true, @controller.facebook_params['added'])
300
- end
301
-
302
- def test_facebook_params_convert_expirey_into_time_or_nil
303
- get :index, example_rails_params_including_fb
304
- assert_nil(@controller.facebook_params['expires'])
305
- modified_params = example_rails_params_including_fb
306
- modified_params['fb_sig_expires'] = modified_params['fb_sig_time']
307
- setup # reset session and cached params
308
- get :index, modified_params
309
- assert_equal([8, 8], [@controller.facebook_params['time'].day, @controller.facebook_params['time'].mon])
310
- end
311
-
312
- def test_facebook_params_convert_friend_list_to_parsed_array_of_friend_ids
313
- get :index, example_rails_params_including_fb
314
- assert_kind_of(Array, @controller.facebook_params['friends'])
315
- assert_equal(111, @controller.facebook_params['friends'].size)
316
- end
317
-
318
- def test_session_can_be_resecured_from_facebook_params
319
- get :index, example_rails_params_including_fb
320
- assert_equal(744961110, @controller.facebook_session.user.id)
321
- end
322
-
323
- def test_existing_secured_session_is_used_if_available
324
- session = Facebooker::Session.create(ENV['FACEBOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY'])
325
- session.secure_with!("c452b5d5d60cbd0a0da82021-744961110", "1111111", Time.now.to_i + 60)
326
- get :index, example_rails_params_including_fb, {:facebook_session => session}
327
- assert_equal(1111111, @controller.facebook_session.user.id)
328
- end
329
-
330
- def test_facebook_params_used_if_existing_secured_session_key_does_not_match
331
- session = Facebooker::Session.create(ENV['FACEBOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY'])
332
- session.secure_with!("a session key", "1111111", Time.now.to_i + 60)
333
- get :index, example_rails_params_including_fb, {:facebook_session => session}
334
- assert_equal(744961110, @controller.facebook_session.user.id)
335
- end
336
-
337
- def test_existing_secured_session_is_NOT_used_if_available_and_facebook_params_session_key_is_nil_and_in_canvas
338
- session = Facebooker::Session.create(ENV['FACEBOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY'])
339
- session.secure_with!("a session key", "1111111", Time.now.to_i + 60)
340
- get :index, example_rails_params_including_fb.merge("fb_sig_session_key" => ''), {:facebook_session => session}
341
-
342
- assert_equal(744961110, @controller.facebook_session.user.id)
343
- end
344
-
345
- def test_existing_secured_session_IS_used_if_available_and_facebook_params_session_key_is_nil_and_NOT_in_canvas
346
- @contoller = PlainOldRailsController.new
347
- session = Facebooker::Session.create(ENV['FACEBOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY'])
348
- session.secure_with!("a session key", "1111111", Time.now.to_i + 60)
349
- get :index,{}, {:facebook_session => session}
350
-
351
- assert_equal(1111111, @controller.facebook_session.user.id)
352
- end
353
-
354
- def test_session_can_be_secured_with_auth_token
355
- auth_token = 'ohaiauthtokenhere111'
356
- modified_params = example_rails_params_including_fb
357
- modified_params.delete('fb_sig_session_key')
358
- modified_params['auth_token'] = auth_token
359
- session_mock = flexmock(session = Facebooker::Session.create(ENV['FACEBOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY']))
360
- session_params = { 'session_key' => '123', 'uid' => '321' }
361
- session_mock.should_receive(:post).with('facebook.auth.getSession', :auth_token => auth_token).once.and_return(session_params).ordered
362
- flexmock(@controller).should_receive(:new_facebook_session).once.and_return(session).ordered
363
- get :index, modified_params
364
- end
365
-
366
- def test_user_friends_can_be_populated_from_facebook_params_if_available
367
- get :index, example_rails_params_including_fb
368
- assert_not_nil(friends = @controller.facebook_session.user.friends)
369
- assert_equal(111, friends.size)
370
- end
371
-
372
- def test_fbml_redirect_tag_handles_hash_parameters_correctly
373
- get :index, example_rails_params_including_fb
374
- assert_equal "<fb:redirect url=\"http://apps.facebook.com/root/require_auth\" />", @controller.send(:fbml_redirect_tag, :action => :index,:canvas=>true)
375
- end
376
-
377
- def test_redirect_to_renders_fbml_redirect_tag_if_request_is_for_a_facebook_canvas
378
- get :index, example_rails_params_including_fb_for_user_not_logged_into_application
379
- assert_response :success
380
- assert_equal("<fb:redirect url=\"http://www.facebook.com/login.php?api_key=1234567&v=1.0\" />", @response.body)
381
- end
382
-
383
- def test_url_for_links_to_canvas_if_canvas_is_true_and_not_in_canvas
384
- get :link_test,example_rails_params_including_fb.merge(:fb_sig_in_canvas=>0,:canvas=>true)
385
- assert_match /apps.facebook.com/,@response.body
386
- end
387
-
388
- def test_includes_relative_url_root_when_linked_to_canvas
389
- get :link_test,example_rails_params_including_fb.merge(:fb_sig_in_canvas=>0,:canvas=>true)
390
- assert_match /root/,@response.body
391
- end
392
-
393
- def test_url_for_links_to_callback_if_canvas_is_false_and_in_canvas
394
- get :link_test,example_rails_params_including_fb.merge(:fb_sig_in_canvas=>0,:canvas=>false)
395
- assert_match /test.host/,@response.body
396
- end
397
-
398
- def test_url_for_doesnt_include_url_root_when_not_linked_to_canvas
399
- get :link_test,example_rails_params_including_fb.merge(:fb_sig_in_canvas=>0,:canvas=>false)
400
- assert !@response.body.match(/root/)
401
- end
402
-
403
- def test_url_for_links_to_canvas_if_canvas_is_not_set
404
- get :link_test,example_rails_params_including_fb
405
- assert_match /apps.facebook.com/,@response.body
406
- end
407
-
408
- def test_image_tag
409
- get :image_test, example_rails_params_including_fb
410
- assert_equal "<img alt=\"Image\" src=\"http://root.example.com/images/image.png\" />",@response.body
411
- end
412
-
413
- def test_wants_interface_is_available_and_detects_method
414
- get :publisher_test, example_rails_params_including_fb.merge(:method=>"publisher_getInterface")
415
- assert_equal "interface",@response.body
416
- end
417
- def test_wants_interface_is_available_and_detects_not_interface
418
- get :publisher_test, example_rails_params_including_fb.merge(:method=>"publisher_getFeedStory")
419
- assert_equal "not interface",@response.body
420
- end
421
-
422
- def test_publisher_test_error
423
- get :publisher_test_error, example_rails_params_including_fb
424
- assert_equal JSON.parse("{\"errorCode\": 1, \"errorTitle\": \"Title\", \"errorMessage\": \"Body\"}"), JSON.parse(@response.body)
425
- end
426
-
427
- def test_publisher_test_interface
428
- get :publisher_test_interface, example_rails_params_including_fb
429
- assert_equal JSON.parse("{\"method\": \"publisher_getInterface\", \"content\": {\"fbml\": \"This is a test\", \"publishEnabled\": false, \"commentEnabled\": true}}"), JSON.parse(@response.body)
430
- end
431
-
432
- def test_publisher_test_reponse
433
- get :publisher_test_response, example_rails_params_including_fb
434
- assert_equal JSON.parse("{\"method\": \"publisher_getFeedStory\", \"content\": {\"feed\": {\"template_data\": {\"params\": true}, \"template_id\": 1234}}}"), JSON.parse(@response.body)
435
-
436
- end
437
-
438
- private
439
- def example_rails_params_including_fb_for_user_not_logged_into_application
440
- {"fb_sig_time"=>"1186588275.5988", "fb_sig"=>"7371a6400329b229f800a5ecafe03b0a", "action"=>"index", "fb_sig_in_canvas"=>"1", "controller"=>"controller_which_requires_facebook_authentication", "fb_sig_added"=>"0", "fb_sig_api_key"=>"b6c9c857ac543ca806f4d3187cd05e09"}
441
- end
442
-
443
- def example_rails_params_including_fb
444
- {"fb_sig_time"=>"1186588275.5988", "fb_sig"=>"7371a6400329b229f800a5ecafe03b0a", "action"=>"index", "fb_sig_in_canvas"=>"1", "fb_sig_session_key"=>"c452b5d5d60cbd0a0da82021-744961110", "controller"=>"controller_which_requires_facebook_authentication", "fb_sig_expires"=>"0", "fb_sig_friends"=>"417358,702720,1001170,1530839,3300204,3501584,6217936,9627766,9700907,22701786,33902768,38914148,67400422,135301144,157200364,500103523,500104930,500870819,502149612,502664898,502694695,502852293,502985816,503254091,504510130,504611551,505421674,509229747,511075237,512548373,512830487,517893818,517961878,518890403,523589362,523826914,525812984,531555098,535310228,539339781,541137089,549405288,552706617,564393355,564481279,567640762,568091401,570201702,571469972,573863097,574415114,575543081,578129427,578520568,582262836,582561201,586550659,591631962,592318318,596269347,596663221,597405464,599764847,602995438,606661367,609761260,610544224,620049417,626087078,628803637,632686250,641422291,646763898,649678032,649925863,653288975,654395451,659079771,661794253,665861872,668960554,672481514,675399151,678427115,685772348,686821151,687686894,688506532,689275123,695551670,710631572,710766439,712406081,715741469,718976395,719246649,722747311,725327717,725683968,725831016,727580320,734151780,734595181,737944528,748881410,752244947,763868412,768578853,776596978,789728437,873695441", "fb_sig_added"=>"0", "fb_sig_api_key"=>"b6c9c857ac543ca806f4d3187cd05e09", "fb_sig_user"=>"744961110", "fb_sig_profile_update_time"=>"1180712453"}
445
- end
446
- end
447
-
448
-
449
- class RailsSignatureTest < Test::Unit::TestCase
450
- def setup
451
- ENV['FACEBOOKER_RELATIVE_URL_ROOT'] ='root'
452
- ENV['FACEBOOK_API_KEY'] = '1234567'
453
- ENV['FACEBOOK_SECRET_KEY'] = '7654321'
454
- @controller = ControllerWhichRequiresFacebookAuthentication.new
455
- @request = ActionController::TestRequest.new
456
- @response = ActionController::TestResponse.new
457
-
458
- end
459
-
460
- def test_should_raise_too_old_for_replayed_session
461
- begin
462
- get :fb_params_test,example_rails_params_including_fb
463
- fail "No SignatureTooOld raised"
464
- rescue Facebooker::Session::SignatureTooOld=>e
465
- end
466
- end
467
-
468
- def test_should_raise_on_bad_sig
469
- begin
470
- get :fb_params_test,example_rails_params_including_fb("fb_sig"=>'incorrect')
471
- fail "No IncorrectSignature raised"
472
- rescue Facebooker::Session::IncorrectSignature=>e
473
- end
474
- end
475
-
476
- def test_valid_signature
477
- @controller.expects(:earliest_valid_session).returns(Time.at(1186588275.5988)-1)
478
- get :fb_params_test,example_rails_params_including_fb
479
-
480
- end
481
-
482
- def example_rails_params_including_fb(options={})
483
- {"fb_sig_time"=>"1186588275.5988", "fb_sig"=>"8d9e9dd2cb0742a5a2bfe35563134585", "action"=>"index", "fb_sig_in_canvas"=>"1", "fb_sig_session_key"=>"c452b5d5d60cbd0a0da82021-744961110", "controller"=>"controller_which_requires_facebook_authentication", "fb_sig_expires"=>"0", "fb_sig_friends"=>"417358,702720,1001170,1530839,3300204,3501584,6217936,9627766,9700907,22701786,33902768,38914148,67400422,135301144,157200364,500103523,500104930,500870819,502149612,502664898,502694695,502852293,502985816,503254091,504510130,504611551,505421674,509229747,511075237,512548373,512830487,517893818,517961878,518890403,523589362,523826914,525812984,531555098,535310228,539339781,541137089,549405288,552706617,564393355,564481279,567640762,568091401,570201702,571469972,573863097,574415114,575543081,578129427,578520568,582262836,582561201,586550659,591631962,592318318,596269347,596663221,597405464,599764847,602995438,606661367,609761260,610544224,620049417,626087078,628803637,632686250,641422291,646763898,649678032,649925863,653288975,654395451,659079771,661794253,665861872,668960554,672481514,675399151,678427115,685772348,686821151,687686894,688506532,689275123,695551670,710631572,710766439,712406081,715741469,718976395,719246649,722747311,725327717,725683968,725831016,727580320,734151780,734595181,737944528,748881410,752244947,763868412,768578853,776596978,789728437,873695441", "fb_sig_added"=>"0", "fb_sig_api_key"=>"b6c9c857ac543ca806f4d3187cd05e09", "fb_sig_user"=>"744961110", "fb_sig_profile_update_time"=>"1180712453"}.merge(options)
484
- end
485
-
486
- end
487
- class RailsHelperTest < Test::Unit::TestCase
488
- class HelperClass
489
- include ActionView::Helpers::TextHelper
490
- include ActionView::Helpers::CaptureHelper
491
- include ActionView::Helpers::TagHelper
492
- include ActionView::Helpers::AssetTagHelper
493
- include Facebooker::Rails::Helpers
494
- attr_accessor :flash
495
- def initialize
496
- @flash={}
497
- @template = self
498
- @content_for_test_param="Test Param"
499
- end
500
- #used for stubbing out the form builder
501
- def url_for(arg)
502
- arg
503
- end
504
- def fields_for(*args)
505
- ""
506
- end
507
-
508
- end
509
-
510
- # used for capturing the contents of some of the helper tests
511
- # this duplicates the rails template system
512
- attr_accessor :_erbout
513
-
514
- def setup
515
- ENV['FACEBOOK_CANVAS_PATH'] ='facebook'
516
- ENV['FACEBOOK_API_KEY'] = '1234567'
517
- ENV['FACEBOOK_SECRET_KEY'] = '7654321'
518
-
519
- @_erbout = ""
520
- @h = HelperClass.new
521
- #use an asset path where the canvas path equals the hostname to make sure we handle that case right
522
- ActionController::Base.asset_host='http://facebook.host.com'
523
- end
524
-
525
- def test_fb_profile_pic
526
- assert_equal "<fb:profile-pic uid=\"1234\" />", @h.fb_profile_pic("1234")
527
- end
528
-
529
- def test_fb_profile_pic_with_valid_size
530
- assert_equal "<fb:profile-pic size=\"small\" uid=\"1234\" />", @h.fb_profile_pic("1234", :size => :small)
531
- end
532
-
533
- def test_fb_profile_pic_with_invalid_size
534
- assert_raises(ArgumentError) {@h.fb_profile_pic("1234", :size => :mediumm)}
535
- end
536
-
537
- def test_fb_photo
538
- assert_equal "<fb:photo pid=\"1234\" />",@h.fb_photo("1234")
539
- end
540
-
541
- def test_fb_photo_with_object_responding_to_photo_id
542
- photo = flexmock("photo", :photo_id => "5678")
543
- assert_equal "<fb:photo pid=\"5678\" />", @h.fb_photo(photo)
544
- end
545
-
546
- def test_fb_photo_with_invalid_size
547
- assert_raises(ArgumentError) {@h.fb_photo("1234", :size => :medium)}
548
- end
549
-
550
- def test_fb_photo_with_invalid_size_value
551
- assert_raises(ArgumentError) {@h.fb_photo("1234", :size => :mediumm)}
552
- end
553
-
554
- def test_fb_photo_with_invalid_align_value
555
- assert_raises(ArgumentError) {@h.fb_photo("1234", :align => :rightt)}
556
- end
557
-
558
- def test_fb_photo_with_valid_align_value
559
- assert_equal "<fb:photo align=\"right\" pid=\"1234\" />",@h.fb_photo("1234", :align => :right)
560
- end
561
-
562
- def test_fb_photo_with_class
563
- assert_equal "<fb:photo class=\"picky\" pid=\"1234\" />",@h.fb_photo("1234", :class => :picky)
564
- end
565
- def test_fb_photo_with_style
566
- assert_equal "<fb:photo pid=\"1234\" style=\"some=css;put=here;\" />",@h.fb_photo("1234", :style => "some=css;put=here;")
567
- end
568
-
569
- def test_fb_prompt_permission_valid_no_callback
570
- assert_equal "<fb:prompt-permission perms=\"email\">Can I email you?</fb:prompt-permission>",@h.fb_prompt_permission("email","Can I email you?")
571
- end
572
-
573
- def test_fb_prompt_permission_valid_with_callback
574
- assert_equal "<fb:prompt-permission next_fbjs=\"do_stuff()\" perms=\"email\">a message</fb:prompt-permission>",@h.fb_prompt_permission("email","a message","do_stuff()")
575
- end
576
-
577
- def test_fb_prompt_permission_invalid_option
578
- assert_raises(ArgumentError) {@h.fb_prompt_permission("invliad", "a message")}
579
-
580
- end
581
-
582
- def test_fb_add_profile_section
583
- assert_equal "<fb:add-section-button section=\"profile\" />",@h.fb_add_profile_section
584
- end
585
-
586
- def test_fb_add_info_section
587
- assert_equal "<fb:add-section-button section=\"info\" />",@h.fb_add_info_section
588
- end
589
-
590
- def test_fb_name_with_invalid_key
591
- assert_raises(ArgumentError) {@h.fb_name(1234, :sizee => false)}
592
- end
593
-
594
- def test_fb_name
595
- assert_equal "<fb:name uid=\"1234\" />",@h.fb_name("1234")
596
- end
597
-
598
- def test_fb_name_with_transformed_key
599
- assert_equal "<fb:name uid=\"1234\" useyou=\"true\" />", @h.fb_name(1234, :use_you => true)
600
- end
601
-
602
- def test_fb_name_with_user_responding_to_facebook_id
603
- user = flexmock("user", :facebook_id => "5678")
604
- assert_equal "<fb:name uid=\"5678\" />", @h.fb_name(user)
605
- end
606
-
607
- def test_fb_name_with_invalid_key
608
- assert_raises(ArgumentError) {@h.fb_name(1234, :linkd => false)}
609
- end
610
-
611
- def test_fb_tabs
612
- assert_equal "<fb:tabs></fb:tabs>", @h.fb_tabs{}
613
- end
614
-
615
- def test_fb_tab_item
616
- assert_equal "<fb:tab-item href=\"http://www.google.com\" title=\"Google\" />", @h.fb_tab_item("Google", "http://www.google.com")
617
- end
618
-
619
- def test_fb_tab_item_raises_exception_for_invalid_option
620
- assert_raises(ArgumentError) {@h.fb_tab_item("Google", "http://www.google.com", :alignn => :right)}
621
- end
622
-
623
- def test_fb_tab_item_raises_exception_for_invalid_align_value
624
- assert_raises(ArgumentError) {@h.fb_tab_item("Google", "http://www.google.com", :align => :rightt)}
625
- end
626
-
627
- def test_fb_req_choice
628
- assert_equal "<fb:req-choice label=\"label\" url=\"url\" />", @h.fb_req_choice("label","url")
629
- end
630
-
631
- def test_fb_multi_friend_selector
632
- assert_equal "<fb:multi-friend-selector actiontext=\"This is a message\" max=\"20\" showborder=\"false\" />", @h.fb_multi_friend_selector("This is a message")
633
- end
634
- def test_fb_multi_friend_selector_with_options
635
- assert_equal "<fb:multi-friend-selector actiontext=\"This is a message\" exclude_ids=\"1,2\" max=\"20\" showborder=\"false\" />", @h.fb_multi_friend_selector("This is a message",:exclude_ids=>"1,2")
636
- end
637
-
638
- def test_fb_comments
639
- assert_equal "<fb:comments candelete=\"false\" canpost=\"true\" numposts=\"7\" showform=\"true\" xid=\"a:1\" />", @h.fb_comments("a:1",true,false,7,:showform=>true)
640
- end
641
-
642
- def test_fb_title
643
- assert_equal "<fb:title>This is the canvas page window title</fb:title>", @h.fb_title("This is the canvas page window title")
644
- end
645
-
646
- def test_fb_google_analytics
647
- assert_equal "<fb:google-analytics uacct=\"UA-9999999-99\" />", @h.fb_google_analytics("UA-9999999-99")
648
- end
649
-
650
- def test_fb_if_is_user_with_single_object
651
- user = flexmock("user", :facebook_id => "5678")
652
- assert_equal "<fb:if-is-user uid=\"5678\"></fb:if-is-user>", @h.fb_if_is_user(user){}
653
- end
654
-
655
- def test_fb_if_is_user_with_array
656
- user1 = flexmock("user", :facebook_id => "5678")
657
- user2 = flexmock("user", :facebook_id => "1234")
658
- assert_equal "<fb:if-is-user uid=\"5678,1234\"></fb:if-is-user>", @h.fb_if_is_user([user1,user2]){}
659
- end
660
-
661
- def test_fb_else
662
- assert_equal "<fb:else></fb:else>", @h.fb_else{}
663
- end
664
-
665
- def test_fb_about_url
666
- ENV["FACEBOOK_API_KEY"]="1234"
667
- assert_equal "http://www.facebook.com/apps/application.php?api_key=1234", @h.fb_about_url
668
- end
669
-
670
- def test_fb_ref_with_url
671
- assert_equal "<fb:ref url=\"A URL\" />", @h.fb_ref(:url => "A URL")
672
- end
673
-
674
- def test_fb_ref_with_handle
675
- assert_equal "<fb:ref handle=\"A Handle\" />", @h.fb_ref(:handle => "A Handle")
676
- end
677
-
678
- def test_fb_ref_with_invalid_attribute
679
- assert_raises(ArgumentError) {@h.fb_ref(:handlee => "A HANLDE")}
680
- end
681
-
682
- def test_fb_ref_with_handle_and_url
683
- assert_raises(ArgumentError) {@h.fb_ref(:url => "URL", :handle => "HANDLE")}
684
- end
685
-
686
- def test_facebook_messages_notice
687
- @h.flash[:notice]="A message"
688
- assert_equal "<fb:success message=\"A message\" />",@h.facebook_messages
689
- end
690
-
691
- def test_facebook_messages_error
692
- @h.flash[:error]="An error"
693
- assert_equal "<fb:error message=\"An error\" />",@h.facebook_messages
694
- end
695
- def test_fb_wall_post
696
- assert_equal "<fb:wallpost uid=\"1234\">A wall post</fb:wallpost>",@h.fb_wall_post("1234","A wall post")
697
- end
698
-
699
- def test_fb_pronoun
700
- assert_equal "<fb:pronoun uid=\"1234\" />", @h.fb_pronoun(1234)
701
- end
702
-
703
- def test_fb_pronoun_with_transformed_key
704
- assert_equal "<fb:pronoun uid=\"1234\" usethey=\"true\" />", @h.fb_pronoun(1234, :use_they => true)
705
- end
706
-
707
- def test_fb_pronoun_with_user_responding_to_facebook_id
708
- user = flexmock("user", :facebook_id => "5678")
709
- assert_equal "<fb:pronoun uid=\"5678\" />", @h.fb_pronoun(user)
710
- end
711
-
712
- def test_fb_pronoun_with_invalid_key
713
- assert_raises(ArgumentError) {@h.fb_pronoun(1234, :posessive => true)}
714
- end
715
-
716
- def test_fb_wall
717
- @h.expects(:capture).returns("wall content")
718
- @h.fb_wall do
719
- end
720
- assert_equal "<fb:wall>wall content</fb:wall>",_erbout
721
- end
722
-
723
- def test_fb_multi_friend_request
724
- @h.expects(:capture).returns("body")
725
- @h.expects(:protect_against_forgery?).returns(false)
726
- @h.expects(:fb_multi_friend_selector).returns("friend selector")
727
- assert_equal "<fb:request-form action=\"action\" content=\"body\" invite=\"true\" method=\"post\" type=\"invite\">friend selector</fb:request-form>",
728
- (@h.fb_multi_friend_request("invite","ignored","action") {})
729
- end
730
-
731
- def test_fb_multi_friend_request_with_protection_against_forgery
732
- @h.expects(:capture).returns("body")
733
- @h.expects(:protect_against_forgery?).returns(true)
734
- @h.expects(:request_forgery_protection_token).returns('forgery_token')
735
- @h.expects(:form_authenticity_token).returns('form_token')
736
-
737
- @h.expects(:fb_multi_friend_selector).returns("friend selector")
738
- assert_equal "<fb:request-form action=\"action\" content=\"body\" invite=\"true\" method=\"post\" type=\"invite\">friend selector<input name=\"forgery_token\" type=\"hidden\" value=\"form_token\" /></fb:request-form>",
739
- (@h.fb_multi_friend_request("invite","ignored","action") {})
740
- end
741
-
742
- def test_fb_dialog
743
- @h.expects(:capture).returns("dialog content")
744
- @h.fb_dialog( "my_dialog", "1" ) do
745
- end
746
- assert_equal '<fb:dialog cancel_button="1" id="my_dialog">dialog content</fb:dialog>', _erbout
747
- end
748
- def test_fb_dialog_title
749
- assert_equal '<fb:dialog-title>My Little Dialog</fb:dialog-title>', @h.fb_dialog_title("My Little Dialog")
750
- end
751
- def test_fb_dialog_content
752
- @h.expects(:capture).returns("dialog content content")
753
- @h.fb_dialog_content do
754
- end
755
- assert_equal '<fb:dialog-content>dialog content content</fb:dialog-content>', _erbout
756
- end
757
- def test_fb_dialog_button
758
- assert_equal '<fb:dialog-button clickrewriteform="my_form" clickrewriteid="my_dialog" clickrewriteurl="http://www.some_url_here.com/dialog_return.php" type="submit" value="Yes" />',
759
- @h.fb_dialog_button("submit", "Yes", {:clickrewriteurl => "http://www.some_url_here.com/dialog_return.php",
760
- :clickrewriteid => "my_dialog", :clickrewriteform => "my_form" } )
761
- end
762
-
763
- def test_fb_request_form
764
- @h.expects(:capture).returns("body")
765
- @h.expects(:protect_against_forgery?).returns(false)
766
- assert_equal "<fb:request-form action=\"action\" content=\"Test Param\" invite=\"true\" method=\"post\" type=\"invite\">body</fb:request-form>",
767
- (@h.fb_request_form("invite","test_param","action") {})
768
- end
769
-
770
- def test_fb_request_form_with_protect_against_forgery
771
- @h.expects(:capture).returns("body")
772
- @h.expects(:protect_against_forgery?).returns(true)
773
- @h.expects(:request_forgery_protection_token).returns('forgery_token')
774
- @h.expects(:form_authenticity_token).returns('form_token')
775
- assert_equal "<fb:request-form action=\"action\" content=\"Test Param\" invite=\"true\" method=\"post\" type=\"invite\">body<input name=\"forgery_token\" type=\"hidden\" value=\"form_token\" /></fb:request-form>",
776
- (@h.fb_request_form("invite","test_param","action") {})
777
- end
778
-
779
- def test_fb_error_with_only_message
780
- assert_equal "<fb:error message=\"Errors have occurred!!\" />", @h.fb_error("Errors have occurred!!")
781
- end
782
-
783
- def test_fb_error_with_message_and_text
784
- assert_equal "<fb:error><fb:message>Errors have occurred!!</fb:message>Label can't be blank!!</fb:error>", @h.fb_error("Errors have occurred!!", "Label can't be blank!!")
785
- end
786
-
787
- def test_fb_explanation_with_only_message
788
- assert_equal "<fb:explanation message=\"This is an explanation\" />", @h.fb_explanation("This is an explanation")
789
- end
790
-
791
- def test_fb_explanation_with_message_and_text
792
- assert_equal "<fb:explanation><fb:message>This is an explanation</fb:message>You have a match</fb:explanation>", @h.fb_explanation("This is an explanation", "You have a match")
793
- end
794
-
795
- def test_fb_success_with_only_message
796
- assert_equal "<fb:success message=\"Woot!!\" />", @h.fb_success("Woot!!")
797
- end
798
-
799
- def test_fb_success_with_message_and_text
800
- assert_equal "<fb:success><fb:message>Woot!!</fb:message>You Rock!!</fb:success>", @h.fb_success("Woot!!", "You Rock!!")
801
- end
802
-
803
- def test_facebook_form_for
804
- @h.expects(:protect_against_forgery?).returns(false)
805
- form_body=@h.facebook_form_for(:model,:url=>"action") do
806
- end
807
- assert_equal "<fb:editor action=\"action\"></fb:editor>",form_body
808
- end
809
-
810
- def test_facebook_form_for_with_authenticity_token
811
- @h.expects(:protect_against_forgery?).returns(true)
812
- @h.expects(:request_forgery_protection_token).returns('forgery_token')
813
- @h.expects(:form_authenticity_token).returns('form_token')
814
- assert_equal "<fb:editor action=\"action\"><input name=\"forgery_token\" type=\"hidden\" value=\"form_token\" /></fb:editor>",
815
- (@h.facebook_form_for(:model, :url => "action") {})
816
- end
817
-
818
- def test_fb_friend_selector
819
- assert_equal("<fb:friend-selector />",@h.fb_friend_selector)
820
- end
821
-
822
- def test_fb_request_form_submit
823
- assert_equal("<fb:request-form-submit />",@h.fb_request_form_submit)
824
- end
825
-
826
- def test_fb_request_form_submit_with_uid
827
- assert_equal("<fb:request-form-submit uid=\"123456789\" />",@h.fb_request_form_submit({:uid => "123456789"}))
828
- end
829
-
830
- def test_fb_request_form_submit_with_label
831
- assert_equal("<fb:request-form-submit label=\"Send Invite to Joel\" />",@h.fb_request_form_submit({:label => "Send Invite to Joel"}))
832
- end
833
-
834
- def test_fb_request_form_submit_with_uid_and_label
835
- assert_equal("<fb:request-form-submit label=\"Send Invite to Joel\" uid=\"123456789\" />",@h.fb_request_form_submit({:uid =>"123456789", :label => "Send Invite to Joel"}))
836
- end
837
-
838
- def test_fb_action
839
- assert_equal "<fb:action href=\"/growingpets/rub\">Rub my pet</fb:action>", @h.fb_action("Rub my pet", "/growingpets/rub")
840
- end
841
-
842
- def test_fb_help
843
- assert_equal "<fb:help href=\"http://www.facebook.com/apps/application.php?id=6236036681\">Help</fb:help>", @h.fb_help("Help", "http://www.facebook.com/apps/application.php?id=6236036681")
844
- end
845
-
846
- def test_fb_create_button
847
- assert_equal "<fb:create-button href=\"/growingpets/invite\">Invite Friends</fb:create-button>", @h.fb_create_button('Invite Friends', '/growingpets/invite')
848
- end
849
- def test_fb_comments
850
- assert_equal "<fb:comments candelete=\"false\" canpost=\"true\" numposts=\"4\" optional=\"false\" xid=\"xxx\"></fb:comments>", @h.fb_comments("xxx",true,false,4,:optional=>false)
851
- end
852
- def test_fb_comments_with_title
853
- assert_equal "<fb:comments candelete=\"false\" canpost=\"true\" numposts=\"4\" optional=\"false\" xid=\"xxx\"><fb:title>TITLE</fb:title></fb:comments>", @h.fb_comments("xxx",true,false,4,:optional=>false, :title => "TITLE")
854
- end
855
- def test_fb_board
856
- assert_equal "<fb:board optional=\"false\" xid=\"xxx\" />", @h.fb_board("xxx",:optional => false)
857
- end
858
-
859
- def test_fb_dashboard
860
- @h.expects(:capture).returns("dashboard content")
861
- @h.fb_dashboard do
862
- end
863
- assert_equal "<fb:dashboard>dashboard content</fb:dashboard>", _erbout
864
- end
865
- def test_fb_dashboard_non_block
866
- assert_equal "<fb:dashboard></fb:dashboard>", @h.fb_dashboard
867
- end
868
-
869
- def test_fb_wide
870
- @h.expects(:capture).returns("wide profile content")
871
- @h.fb_wide do
872
- end
873
- assert_equal "<fb:wide>wide profile content</fb:wide>", _erbout
874
- end
875
-
876
- def test_fb_narrow
877
- @h.expects(:capture).returns("narrow profile content")
878
- @h.fb_narrow do
879
- end
880
- assert_equal "<fb:narrow>narrow profile content</fb:narrow>", _erbout
881
- end
882
- end
883
- class TestModel
884
- attr_accessor :name,:facebook_id
885
- end
886
-
887
- class RailsFacebookFormbuilderTest < Test::Unit::TestCase
888
- class TestTemplate
889
- include ActionView::Helpers::TextHelper
890
- include ActionView::Helpers::CaptureHelper
891
- include ActionView::Helpers::TagHelper
892
- include Facebooker::Rails::Helpers
893
- attr_accessor :_erbout
894
- def initialize
895
- @_erbout=""
896
- end
897
- end
898
- def setup
899
- @_erbout = ""
900
- @test_model = TestModel.new
901
- @test_model.name="Mike"
902
- @template = TestTemplate.new
903
- @proc = Proc.new {}
904
- @form_builder = Facebooker::Rails::FacebookFormBuilder.new(:test_model,@test_model,@template,{},@proc)
905
- def @form_builder._erbout
906
- ""
907
- end
908
-
909
- end
910
-
911
- def test_text_field
912
- assert_equal "<fb:editor-text id=\"test_model_name\" label=\"Name\" name=\"test_model[name]\" value=\"Mike\"></fb:editor-text>",
913
- @form_builder.text_field(:name)
914
- end
915
- def test_text_area
916
- assert_equal "<fb:editor-textarea id=\"test_model_name\" label=\"Name\" name=\"test_model[name]\">Mike</fb:editor-textarea>",
917
- @form_builder.text_area(:name)
918
- end
919
-
920
- def test_default_name_and_id
921
- assert_equal "<fb:editor-text id=\"different_id\" label=\"Name\" name=\"different_name\" value=\"Mike\"></fb:editor-text>",
922
- @form_builder.text_field(:name, {:name => 'different_name', :id => 'different_id'})
923
- end
924
-
925
- def test_collection_typeahead
926
- flexmock(@form_builder) do |fb|
927
- fb.should_receive(:collection_typeahead_internal).with(:name,["ABC"],:size,:to_s,{})
928
- end
929
- @form_builder.collection_typeahead(:name,["ABC"],:size,:to_s)
930
- end
931
-
932
- def test_collection_typeahead_internal
933
- assert_equal "<fb:typeahead-input id=\"test_model_name\" name=\"test_model[name]\" value=\"Mike\"><fb:typeahead-option value=\"3\">ABC</fb:typeahead-option></fb:typeahead-input>",
934
- @form_builder.collection_typeahead_internal(:name,["ABC"],:size,:to_s)
935
- end
936
-
937
- def test_buttons
938
- @form_builder.expects(:create_button).with(:first).returns("first")
939
- @form_builder.expects(:create_button).with(:second).returns("second")
940
- @template.expects(:content_tag).with("fb:editor-buttonset","firstsecond")
941
- @form_builder.buttons(:first,:second)
942
- end
943
-
944
- def test_create_button
945
- assert_equal "<fb:editor-button name=\"commit\" value=\"first\"></fb:editor-button>",@form_builder.create_button(:first)
946
- end
947
-
948
- def test_custom
949
- @template.expects(:password_field).returns("password_field")
950
- assert_equal "<fb:editor-custom label=\"Name\"></fb:editor-custom>",@form_builder.password_field(:name)
951
- end
952
-
953
- def test_text
954
- assert_equal "<fb:editor-custom label=\"custom\">Mike</fb:editor-custom>",@form_builder.text("Mike",:label=>"custom")
955
- end
956
-
957
- def test_multi_friend_input
958
- assert_equal "<fb:editor-custom label=\"Friends\"></fb:editor-custom>",@form_builder.multi_friend_input
959
- end
960
- end
961
-
962
- class RailsPrettyErrorsTest < Test::Unit::TestCase
963
- def setup
964
- ENV['FACEBOOK_API_KEY'] = '1234567'
965
- ENV['FACEBOOK_SECRET_KEY'] = '7654321'
966
- @controller = ControllerWhichFails.new
967
- @request = ActionController::TestRequest.new
968
- @response = ActionController::TestResponse.new
969
- @controller.stubs(:verify_signature).returns(true)
970
- end
971
-
972
- def test_pretty_errors
973
- Facebooker.facebooker_config.stubs(:pretty_errors).returns(false)
974
- post :pass, example_rails_params_including_fb
975
- assert_response :success
976
- post :fail, example_rails_params_including_fb
977
- assert_response :error
978
- Facebooker.facebooker_config.stubs(:pretty_errors).returns(true)
979
- post :pass, example_rails_params_including_fb
980
- assert_response :success
981
- post :fail, example_rails_params_including_fb
982
- assert_response :error
983
- end
984
- private
985
- def example_rails_params_including_fb
986
- {"fb_sig_time"=>"1186588275.5988", "fb_sig"=>"7371a6400329b229f800a5ecafe03b0a", "action"=>"index", "fb_sig_in_canvas"=>"1", "fb_sig_session_key"=>"c452b5d5d60cbd0a0da82021-744961110", "controller"=>"controller_which_requires_facebook_authentication", "fb_sig_expires"=>"0", "fb_sig_friends"=>"417358,702720,1001170,1530839,3300204,3501584,6217936,9627766,9700907,22701786,33902768,38914148,67400422,135301144,157200364,500103523,500104930,500870819,502149612,502664898,502694695,502852293,502985816,503254091,504510130,504611551,505421674,509229747,511075237,512548373,512830487,517893818,517961878,518890403,523589362,523826914,525812984,531555098,535310228,539339781,541137089,549405288,552706617,564393355,564481279,567640762,568091401,570201702,571469972,573863097,574415114,575543081,578129427,578520568,582262836,582561201,586550659,591631962,592318318,596269347,596663221,597405464,599764847,602995438,606661367,609761260,610544224,620049417,626087078,628803637,632686250,641422291,646763898,649678032,649925863,653288975,654395451,659079771,661794253,665861872,668960554,672481514,675399151,678427115,685772348,686821151,687686894,688506532,689275123,695551670,710631572,710766439,712406081,715741469,718976395,719246649,722747311,725327717,725683968,725831016,727580320,734151780,734595181,737944528,748881410,752244947,763868412,768578853,776596978,789728437,873695441", "fb_sig_added"=>"0", "fb_sig_api_key"=>"b6c9c857ac543ca806f4d3187cd05e09", "fb_sig_user"=>"744961110", "fb_sig_profile_update_time"=>"1180712453"}
987
- end
988
-
989
- end
990
-
991
- class RailsUrlHelperExtensionsTest < Test::Unit::TestCase
992
- class UrlHelperExtensionsClass
993
- include ActionView::Helpers::UrlHelper
994
- include ActionView::Helpers::TagHelper
995
- def initialize(controller)
996
- @controller = controller
997
- end
998
-
999
- def protect_against_forgery?
1000
- false
1001
- end
1002
-
1003
- end
1004
- class UrlHelperExtensionsController < NoisyController
1005
- def index
1006
- render :nothing => true
1007
- end
1008
- def do_it
1009
- render :nothing => true
1010
- end
1011
- end
1012
-
1013
- class FacebookRequest < ActionController::TestRequest
1014
- end
1015
-
1016
- def setup
1017
- @controller = UrlHelperExtensionsController.new
1018
- @request = FacebookRequest.new
1019
- @response = ActionController::TestResponse.new
1020
-
1021
- @u = UrlHelperExtensionsClass.new(@controller)
1022
- @u.stubs(:request_comes_from_facebook?).returns(true)
1023
-
1024
- @non_canvas_u = UrlHelperExtensionsClass.new(@controller)
1025
- @non_canvas_u.stubs(:request_comes_from_facebook?).returns(false)
1026
-
1027
- @label = "Testing"
1028
- @url = "test.host"
1029
- @prompt = "Are you sure?"
1030
- @default_title = "Please Confirm"
1031
- @title = "Confirm Request"
1032
- @style = {:color => 'black', :background => 'white'}
1033
- @verbose_style = "{background: 'white', color: 'black'}"
1034
- @default_style = "" #"'width','200px'"
1035
- end
1036
-
1037
- def test_link_to
1038
- assert_equal "<a href=\"#{@url}\">Testing</a>", @u.link_to(@label, @url)
1039
- end
1040
-
1041
- def test_link_to_with_popup
1042
- assert_raises(ActionView::ActionViewError) {@u.link_to(@label,@url, :popup=>true)}
1043
- end
1044
-
1045
- def test_link_to_with_confirm
1046
- assert_dom_equal( "<a href=\"#{@url}\" onclick=\"var dlg = new Dialog().showChoice(\'#{@default_title}\',\'#{@prompt}\').setStyle(#{@default_style});"+
1047
- "var a=this;dlg.onconfirm = function() { " +
1048
- "document.setLocation(a.getHref()); };return false;\">#{@label}</a>",
1049
- @u.link_to(@label, @url, :confirm => @prompt) )
1050
- end
1051
- def test_link_to_with_confirm_with_title
1052
- assert_dom_equal( "<a href=\"#{@url}\" onclick=\"var dlg = new Dialog().showChoice(\'#{@title}\',\'#{@prompt}\').setStyle(#{@default_style});"+
1053
- "var a=this;dlg.onconfirm = function() { " +
1054
- "document.setLocation(a.getHref()); };return false;\">#{@label}</a>",
1055
- @u.link_to(@label, @url, :confirm => {:title=>@title,:content=>@prompt}) )
1056
- end
1057
- def test_link_to_with_confirm_with_title_and_style
1058
- assert_dom_equal( "<a href=\"#{@url}\" onclick=\"var dlg = new Dialog().showChoice(\'#{@title}\',\'#{@prompt}\').setStyle(#{@verbose_style});"+
1059
- "var a=this;dlg.onconfirm = function() { " +
1060
- "document.setLocation(a.getHref()); };return false;\">#{@label}</a>",
1061
- @u.link_to(@label, @url, :confirm => {:title=>@title,:content=>@prompt}.merge!(@style)) )
1062
- end
1063
-
1064
- def test_link_to_with_method
1065
- assert_dom_equal( "<a href=\"#{@url}\" onclick=\"var a=this;var f = document.createElement('form'); f.setStyle('display','none'); "+
1066
- "a.getParentNode().appendChild(f); f.setMethod('POST'); f.setAction(a.getHref());" +
1067
- "var m = document.createElement('input'); m.setType('hidden'); "+
1068
- "m.setName('_method'); m.setValue('delete'); f.appendChild(m);"+
1069
- "f.submit();return false;\">#{@label}</a>", @u.link_to(@label,@url, :method=>:delete))
1070
- end
1071
-
1072
- def test_link_to_with_confirm_and_method
1073
- assert_dom_equal( "<a href=\"#{@url}\" onclick=\"var dlg = new Dialog().showChoice(\'#{@default_title}\',\'#{@prompt}\').setStyle(#{@default_style});"+
1074
- "var a=this;dlg.onconfirm = function() { " +
1075
- "var f = document.createElement('form'); f.setStyle('display','none'); "+
1076
- "a.getParentNode().appendChild(f); f.setMethod('POST'); f.setAction(a.getHref());" +
1077
- "var m = document.createElement('input'); m.setType('hidden'); "+
1078
- "m.setName('_method'); m.setValue('delete'); f.appendChild(m);"+
1079
- "f.submit(); };return false;\">#{@label}</a>", @u.link_to(@label,@url, :confirm=>@prompt, :method=>:delete) )
1080
- end
1081
- def test_link_to_with_confirm_and_method_for_non_canvas_page
1082
- assert_dom_equal( "<a href=\"#{@url}\" onclick=\"if (confirm(\'#{@prompt}\')) { var f = document.createElement('form'); f.style.display = 'none'; "+
1083
- "this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var m = document.createElement('input'); "+
1084
- "m.setAttribute('type', 'hidden'); m.setAttribute('name', '_method'); m.setAttribute('value', 'delete'); "+
1085
- "f.appendChild(m);f.submit(); };return false;\">#{@label}</a>",
1086
- @non_canvas_u.link_to(@label,@url, :confirm=>@prompt, :method=>:delete) )
1087
- end
1088
-
1089
- def test_button_to
1090
- assert_equal "<form method=\"post\" action=\"#{@url}\" class=\"button-to\"><div>" +
1091
- "<input type=\"submit\" value=\"#{@label}\" /></div></form>", @u.button_to(@label,@url)
1092
- end
1093
-
1094
- def test_button_to_with_confirm
1095
- assert_equal "<form method=\"post\" action=\"#{@url}\" class=\"button-to\"><div>" +
1096
- "<input onclick=\"var dlg = new Dialog().showChoice(\'#{@default_title}\',\'#{@prompt}\').setStyle(#{@default_style});"+
1097
- "var a=this;dlg.onconfirm = function() { "+
1098
- "a.getForm().submit(); };return false;\" type=\"submit\" value=\"#{@label}\" /></div></form>",
1099
- @u.button_to(@label,@url, :confirm=>@prompt)
1100
- end
1101
- def test_button_to_with_confirm_for_non_canvas_page
1102
- assert_equal "<form method=\"post\" action=\"#{@url}\" class=\"button-to\"><div>"+
1103
- "<input onclick=\"return confirm(\'#{@prompt}\');\" type=\"submit\" value=\"#{@label}\" /></div></form>",
1104
- @non_canvas_u.button_to(@label,@url, :confirm=>@prompt)
1105
- end
1106
-
1107
- def test_link_to_unless_with_true
1108
- assert_equal @label, @u.link_to_unless(true,@label,@url)
1109
- end
1110
- def test_link_to_unless_with_false
1111
- assert_equal @u.link_to(@label,@url), @u.link_to_unless(false,@label,@url)
1112
- end
1113
-
1114
- def test_link_to_if_with_true
1115
- assert_equal @u.link_to(@label,@url), @u.link_to_if(true,@label,@url)
1116
- end
1117
- def test_link_to_if_with_false
1118
- assert_equal @label, @u.link_to_if(false,@label,@url)
1119
- end
1120
- end
1121
-
1122
-
1123
- # rescue LoadError
1124
- # $stderr.puts "Couldn't find action controller. That's OK. We'll skip it."
1125
- end