actionpack 2.3.18 → 3.0.0.beta

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of actionpack might be problematic. Click here for more details.

Files changed (513) hide show
  1. data/CHANGELOG +15 -64
  2. data/README +39 -48
  3. data/lib/abstract_controller.rb +22 -0
  4. data/lib/abstract_controller/base.rb +191 -0
  5. data/lib/abstract_controller/callbacks.rb +113 -0
  6. data/lib/abstract_controller/collector.rb +30 -0
  7. data/lib/abstract_controller/compatibility.rb +18 -0
  8. data/lib/abstract_controller/helpers.rb +163 -0
  9. data/lib/abstract_controller/layouts.rb +413 -0
  10. data/lib/abstract_controller/localized_cache.rb +49 -0
  11. data/lib/abstract_controller/logger.rb +13 -0
  12. data/lib/abstract_controller/rendering.rb +238 -0
  13. data/lib/{action_controller → abstract_controller}/translation.rb +1 -1
  14. data/lib/action_controller.rb +68 -102
  15. data/lib/action_controller/base.rb +77 -1409
  16. data/lib/action_controller/caching.rb +58 -45
  17. data/lib/action_controller/caching/actions.rb +100 -114
  18. data/lib/action_controller/caching/fragments.rb +17 -19
  19. data/lib/action_controller/caching/pages.rb +12 -6
  20. data/lib/action_controller/caching/sweeping.rb +42 -0
  21. data/lib/action_controller/deprecated.rb +5 -0
  22. data/lib/action_controller/deprecated/dispatcher.rb +28 -0
  23. data/lib/action_controller/deprecated/integration_test.rb +2 -0
  24. data/lib/action_controller/deprecated/performance_test.rb +1 -0
  25. data/lib/action_controller/metal.rb +125 -0
  26. data/lib/action_controller/metal/compatibility.rb +141 -0
  27. data/lib/action_controller/metal/conditional_get.rb +86 -0
  28. data/lib/action_controller/metal/configuration.rb +28 -0
  29. data/lib/action_controller/metal/cookies.rb +17 -0
  30. data/lib/action_controller/metal/exceptions.rb +46 -0
  31. data/lib/action_controller/metal/flash.rb +28 -0
  32. data/lib/action_controller/metal/head.rb +33 -0
  33. data/lib/action_controller/metal/helpers.rb +116 -0
  34. data/lib/action_controller/metal/hide_actions.rb +50 -0
  35. data/lib/action_controller/{http_authentication.rb → metal/http_authentication.rb} +18 -15
  36. data/lib/action_controller/metal/instrumentation.rb +99 -0
  37. data/lib/action_controller/metal/mime_responds.rb +300 -0
  38. data/lib/action_controller/metal/rack_delegation.rb +35 -0
  39. data/lib/action_controller/metal/redirecting.rb +90 -0
  40. data/lib/action_controller/metal/renderers.rb +95 -0
  41. data/lib/action_controller/metal/rendering.rb +69 -0
  42. data/lib/action_controller/metal/request_forgery_protection.rb +115 -0
  43. data/lib/action_controller/metal/rescue.rb +13 -0
  44. data/lib/action_controller/metal/responder.rb +220 -0
  45. data/lib/action_controller/{session_management.rb → metal/session_management.rb} +5 -14
  46. data/lib/action_controller/{streaming.rb → metal/streaming.rb} +13 -12
  47. data/lib/action_controller/metal/testing.rb +42 -0
  48. data/lib/action_controller/metal/url_for.rb +157 -0
  49. data/lib/action_controller/{verification.rb → metal/verification.rb} +41 -41
  50. data/lib/action_controller/middleware.rb +38 -0
  51. data/lib/action_controller/polymorphic_routes.rb +20 -26
  52. data/lib/action_controller/railtie.rb +30 -0
  53. data/lib/action_controller/railties/subscriber.rb +63 -0
  54. data/lib/action_controller/record_identifier.rb +3 -16
  55. data/lib/action_controller/test_case.rb +156 -18
  56. data/lib/action_controller/url_rewriter.rb +47 -200
  57. data/lib/action_controller/vendor/html-scanner.rb +16 -12
  58. data/lib/action_controller/vendor/html-scanner/html/node.rb +1 -1
  59. data/lib/action_controller/vendor/html-scanner/html/sanitizer.rb +12 -9
  60. data/lib/action_dispatch.rb +88 -0
  61. data/lib/action_dispatch/http/cache.rb +123 -0
  62. data/lib/action_dispatch/http/filter_parameters.rb +98 -0
  63. data/lib/{action_controller → action_dispatch/http}/headers.rb +8 -8
  64. data/lib/action_dispatch/http/mime_negotiation.rb +101 -0
  65. data/lib/{action_controller → action_dispatch/http}/mime_type.rb +30 -11
  66. data/lib/{action_controller → action_dispatch/http}/mime_types.rb +5 -3
  67. data/lib/action_dispatch/http/parameters.rb +49 -0
  68. data/lib/action_dispatch/http/request.rb +223 -0
  69. data/lib/action_dispatch/http/response.rb +209 -0
  70. data/lib/action_dispatch/http/upload.rb +48 -0
  71. data/lib/action_dispatch/http/url.rb +129 -0
  72. data/lib/action_dispatch/middleware/callbacks.rb +50 -0
  73. data/lib/action_dispatch/middleware/cascade.rb +29 -0
  74. data/lib/action_dispatch/middleware/cookies.rb +216 -0
  75. data/lib/{action_controller → action_dispatch/middleware}/flash.rb +51 -90
  76. data/lib/action_dispatch/middleware/head.rb +18 -0
  77. data/lib/action_dispatch/middleware/params_parser.rb +78 -0
  78. data/lib/action_dispatch/middleware/rescue.rb +26 -0
  79. data/lib/action_dispatch/middleware/session/abstract_store.rb +209 -0
  80. data/lib/{action_controller → action_dispatch/middleware}/session/cookie_store.rb +56 -60
  81. data/lib/action_dispatch/middleware/session/mem_cache_store.rb +47 -0
  82. data/lib/action_dispatch/middleware/show_exceptions.rb +173 -0
  83. data/lib/{action_controller/middleware_stack.rb → action_dispatch/middleware/stack.rb} +23 -13
  84. data/lib/action_dispatch/middleware/static.rb +44 -0
  85. data/lib/{action_controller → action_dispatch/middleware}/templates/rescues/_request_and_response.erb +10 -3
  86. data/lib/{action_controller → action_dispatch/middleware}/templates/rescues/_trace.erb +4 -4
  87. data/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb +10 -0
  88. data/lib/{action_controller → action_dispatch/middleware}/templates/rescues/layout.erb +2 -2
  89. data/lib/{action_controller → action_dispatch/middleware}/templates/rescues/missing_template.erb +0 -0
  90. data/lib/{action_controller → action_dispatch/middleware}/templates/rescues/routing_error.erb +0 -0
  91. data/lib/{action_controller → action_dispatch/middleware}/templates/rescues/template_error.erb +3 -3
  92. data/lib/{action_controller → action_dispatch/middleware}/templates/rescues/unknown_action.erb +0 -0
  93. data/lib/action_dispatch/railtie.rb +15 -0
  94. data/lib/action_dispatch/routing.rb +217 -0
  95. data/lib/action_dispatch/routing/deprecated_mapper.rb +877 -0
  96. data/lib/action_dispatch/routing/mapper.rb +649 -0
  97. data/lib/action_dispatch/routing/route.rb +55 -0
  98. data/lib/action_dispatch/routing/route_set.rb +445 -0
  99. data/lib/action_dispatch/testing/assertions.rb +21 -0
  100. data/lib/action_dispatch/testing/assertions/dom.rb +37 -0
  101. data/lib/{action_controller/assertions/model_assertions.rb → action_dispatch/testing/assertions/model.rb} +2 -4
  102. data/lib/action_dispatch/testing/assertions/response.rb +154 -0
  103. data/lib/{action_controller/assertions/routing_assertions.rb → action_dispatch/testing/assertions/routing.rb} +72 -34
  104. data/lib/{action_controller/assertions/selector_assertions.rb → action_dispatch/testing/assertions/selector.rb} +14 -11
  105. data/lib/{action_controller/assertions/tag_assertions.rb → action_dispatch/testing/assertions/tag.rb} +25 -14
  106. data/lib/{action_controller → action_dispatch/testing}/integration.rb +173 -406
  107. data/lib/action_dispatch/testing/performance_test.rb +17 -0
  108. data/lib/action_dispatch/testing/test_process.rb +42 -0
  109. data/lib/action_dispatch/testing/test_request.rb +83 -0
  110. data/lib/action_dispatch/testing/test_response.rb +136 -0
  111. data/lib/action_pack/version.rb +3 -3
  112. data/lib/action_view.rb +29 -26
  113. data/lib/action_view/base.rb +101 -148
  114. data/lib/action_view/context.rb +44 -0
  115. data/lib/action_view/helpers.rb +6 -4
  116. data/lib/action_view/helpers/{active_record_helper.rb → active_model_helper.rb} +63 -63
  117. data/lib/action_view/helpers/asset_tag_helper.rb +166 -31
  118. data/lib/action_view/helpers/cache_helper.rb +1 -1
  119. data/lib/action_view/helpers/capture_helper.rb +40 -8
  120. data/lib/action_view/helpers/csrf_helper.rb +2 -4
  121. data/lib/action_view/helpers/date_helper.rb +14 -15
  122. data/lib/action_view/helpers/form_helper.rb +121 -24
  123. data/lib/action_view/helpers/form_options_helper.rb +26 -25
  124. data/lib/action_view/helpers/form_tag_helper.rb +42 -33
  125. data/lib/action_view/helpers/javascript_helper.rb +1 -109
  126. data/lib/action_view/helpers/number_helper.rb +4 -1
  127. data/lib/action_view/helpers/prototype_helper.rb +75 -499
  128. data/lib/action_view/helpers/raw_output_helper.rb +1 -1
  129. data/lib/action_view/helpers/record_tag_helper.rb +3 -3
  130. data/lib/action_view/helpers/sanitize_helper.rb +3 -2
  131. data/lib/action_view/helpers/scriptaculous_helper.rb +89 -53
  132. data/lib/action_view/helpers/tag_helper.rb +12 -13
  133. data/lib/action_view/helpers/text_helper.rb +33 -38
  134. data/lib/action_view/helpers/translation_helper.rb +11 -35
  135. data/lib/action_view/helpers/url_helper.rb +140 -134
  136. data/lib/action_view/locale/en.yml +34 -28
  137. data/lib/action_view/paths.rb +27 -24
  138. data/lib/action_view/railtie.rb +17 -0
  139. data/lib/action_view/railties/subscriber.rb +24 -0
  140. data/lib/action_view/{partials.rb → render/partials.rb} +161 -51
  141. data/lib/action_view/render/rendering.rb +117 -0
  142. data/lib/action_view/template.rb +88 -217
  143. data/lib/action_view/template/error.rb +105 -0
  144. data/lib/action_view/template/handler.rb +41 -0
  145. data/lib/action_view/template/handlers.rb +54 -0
  146. data/lib/action_view/{template_handlers → template/handlers}/builder.rb +6 -6
  147. data/lib/action_view/template/handlers/erb.rb +58 -0
  148. data/lib/action_view/{template_handlers → template/handlers}/rjs.rb +8 -3
  149. data/lib/action_view/template/resolver.rb +164 -0
  150. data/lib/action_view/template/text.rb +40 -0
  151. data/lib/action_view/test_case.rb +18 -18
  152. metadata +165 -420
  153. data/RUNNING_UNIT_TESTS +0 -24
  154. data/Rakefile +0 -158
  155. data/install.rb +0 -30
  156. data/lib/action_controller/assertions/dom_assertions.rb +0 -55
  157. data/lib/action_controller/assertions/response_assertions.rb +0 -169
  158. data/lib/action_controller/benchmarking.rb +0 -107
  159. data/lib/action_controller/caching/sweeper.rb +0 -45
  160. data/lib/action_controller/cgi_ext.rb +0 -15
  161. data/lib/action_controller/cgi_ext/cookie.rb +0 -112
  162. data/lib/action_controller/cgi_ext/query_extension.rb +0 -22
  163. data/lib/action_controller/cgi_ext/stdinput.rb +0 -24
  164. data/lib/action_controller/cgi_process.rb +0 -77
  165. data/lib/action_controller/cookies.rb +0 -197
  166. data/lib/action_controller/dispatcher.rb +0 -133
  167. data/lib/action_controller/failsafe.rb +0 -87
  168. data/lib/action_controller/filters.rb +0 -680
  169. data/lib/action_controller/helpers.rb +0 -225
  170. data/lib/action_controller/layout.rb +0 -286
  171. data/lib/action_controller/middlewares.rb +0 -14
  172. data/lib/action_controller/mime_responds.rb +0 -193
  173. data/lib/action_controller/params_parser.rb +0 -77
  174. data/lib/action_controller/performance_test.rb +0 -15
  175. data/lib/action_controller/rack_lint_patch.rb +0 -36
  176. data/lib/action_controller/reloader.rb +0 -54
  177. data/lib/action_controller/request.rb +0 -518
  178. data/lib/action_controller/request_forgery_protection.rb +0 -116
  179. data/lib/action_controller/rescue.rb +0 -183
  180. data/lib/action_controller/resources.rb +0 -682
  181. data/lib/action_controller/response.rb +0 -237
  182. data/lib/action_controller/routing.rb +0 -388
  183. data/lib/action_controller/routing/builder.rb +0 -197
  184. data/lib/action_controller/routing/optimisations.rb +0 -130
  185. data/lib/action_controller/routing/recognition_optimisation.rb +0 -167
  186. data/lib/action_controller/routing/route.rb +0 -265
  187. data/lib/action_controller/routing/route_set.rb +0 -503
  188. data/lib/action_controller/routing/routing_ext.rb +0 -49
  189. data/lib/action_controller/routing/segments.rb +0 -343
  190. data/lib/action_controller/session/abstract_store.rb +0 -276
  191. data/lib/action_controller/session/mem_cache_store.rb +0 -60
  192. data/lib/action_controller/status_codes.rb +0 -88
  193. data/lib/action_controller/string_coercion.rb +0 -29
  194. data/lib/action_controller/templates/rescues/diagnostics.erb +0 -11
  195. data/lib/action_controller/test_process.rb +0 -580
  196. data/lib/action_controller/uploaded_file.rb +0 -44
  197. data/lib/action_view/helpers/benchmark_helper.rb +0 -54
  198. data/lib/action_view/inline_template.rb +0 -19
  199. data/lib/action_view/reloadable_template.rb +0 -117
  200. data/lib/action_view/renderable.rb +0 -109
  201. data/lib/action_view/renderable_partial.rb +0 -53
  202. data/lib/action_view/template_error.rb +0 -99
  203. data/lib/action_view/template_handler.rb +0 -34
  204. data/lib/action_view/template_handlers.rb +0 -48
  205. data/lib/action_view/template_handlers/erb.rb +0 -25
  206. data/lib/actionpack.rb +0 -2
  207. data/test/abstract_unit.rb +0 -78
  208. data/test/active_record_unit.rb +0 -104
  209. data/test/activerecord/active_record_store_test.rb +0 -221
  210. data/test/activerecord/render_partial_with_record_identification_test.rb +0 -188
  211. data/test/adv_attr_test.rb +0 -20
  212. data/test/controller/action_pack_assertions_test.rb +0 -545
  213. data/test/controller/addresses_render_test.rb +0 -37
  214. data/test/controller/assert_select_test.rb +0 -735
  215. data/test/controller/base_test.rb +0 -217
  216. data/test/controller/benchmark_test.rb +0 -32
  217. data/test/controller/caching_test.rb +0 -743
  218. data/test/controller/capture_test.rb +0 -66
  219. data/test/controller/content_type_test.rb +0 -178
  220. data/test/controller/controller_fixtures/app/controllers/admin/user_controller.rb +0 -0
  221. data/test/controller/controller_fixtures/app/controllers/user_controller.rb +0 -0
  222. data/test/controller/controller_fixtures/vendor/plugins/bad_plugin/lib/plugin_controller.rb +0 -0
  223. data/test/controller/cookie_test.rb +0 -208
  224. data/test/controller/deprecation/deprecated_base_methods_test.rb +0 -32
  225. data/test/controller/dispatcher_test.rb +0 -144
  226. data/test/controller/dom_assertions_test.rb +0 -53
  227. data/test/controller/failsafe_test.rb +0 -60
  228. data/test/controller/fake_controllers.rb +0 -33
  229. data/test/controller/fake_models.rb +0 -19
  230. data/test/controller/filter_params_test.rb +0 -52
  231. data/test/controller/filters_test.rb +0 -885
  232. data/test/controller/flash_test.rb +0 -174
  233. data/test/controller/header_test.rb +0 -14
  234. data/test/controller/helper_test.rb +0 -224
  235. data/test/controller/html-scanner/cdata_node_test.rb +0 -15
  236. data/test/controller/html-scanner/document_test.rb +0 -148
  237. data/test/controller/html-scanner/node_test.rb +0 -89
  238. data/test/controller/html-scanner/sanitizer_test.rb +0 -300
  239. data/test/controller/html-scanner/tag_node_test.rb +0 -238
  240. data/test/controller/html-scanner/text_node_test.rb +0 -50
  241. data/test/controller/html-scanner/tokenizer_test.rb +0 -131
  242. data/test/controller/http_basic_authentication_test.rb +0 -113
  243. data/test/controller/http_digest_authentication_test.rb +0 -254
  244. data/test/controller/integration_test.rb +0 -526
  245. data/test/controller/layout_test.rb +0 -215
  246. data/test/controller/localized_templates_test.rb +0 -24
  247. data/test/controller/logging_test.rb +0 -46
  248. data/test/controller/middleware_stack_test.rb +0 -90
  249. data/test/controller/mime_responds_test.rb +0 -536
  250. data/test/controller/mime_type_test.rb +0 -93
  251. data/test/controller/output_escaping_test.rb +0 -19
  252. data/test/controller/polymorphic_routes_test.rb +0 -297
  253. data/test/controller/rack_test.rb +0 -308
  254. data/test/controller/record_identifier_test.rb +0 -139
  255. data/test/controller/redirect_test.rb +0 -285
  256. data/test/controller/reloader_test.rb +0 -125
  257. data/test/controller/render_test.rb +0 -1783
  258. data/test/controller/request/json_params_parsing_test.rb +0 -65
  259. data/test/controller/request/multipart_params_parsing_test.rb +0 -177
  260. data/test/controller/request/query_string_parsing_test.rb +0 -129
  261. data/test/controller/request/test_request_test.rb +0 -35
  262. data/test/controller/request/url_encoded_params_parsing_test.rb +0 -146
  263. data/test/controller/request/xml_params_parsing_test.rb +0 -103
  264. data/test/controller/request_forgery_protection_test.rb +0 -233
  265. data/test/controller/request_test.rb +0 -398
  266. data/test/controller/rescue_test.rb +0 -541
  267. data/test/controller/resources_test.rb +0 -1393
  268. data/test/controller/routing_test.rb +0 -2592
  269. data/test/controller/selector_test.rb +0 -628
  270. data/test/controller/send_file_test.rb +0 -171
  271. data/test/controller/session/abstract_store_test.rb +0 -64
  272. data/test/controller/session/cookie_store_test.rb +0 -354
  273. data/test/controller/session/mem_cache_store_test.rb +0 -187
  274. data/test/controller/session/test_session_test.rb +0 -58
  275. data/test/controller/test_test.rb +0 -700
  276. data/test/controller/translation_test.rb +0 -26
  277. data/test/controller/url_rewriter_test.rb +0 -395
  278. data/test/controller/verification_test.rb +0 -270
  279. data/test/controller/view_paths_test.rb +0 -141
  280. data/test/controller/webservice_test.rb +0 -273
  281. data/test/fixtures/_top_level_partial.html.erb +0 -1
  282. data/test/fixtures/_top_level_partial_only.erb +0 -1
  283. data/test/fixtures/addresses/list.erb +0 -1
  284. data/test/fixtures/alternate_helpers/foo_helper.rb +0 -3
  285. data/test/fixtures/bad_customers/_bad_customer.html.erb +0 -1
  286. data/test/fixtures/companies.yml +0 -24
  287. data/test/fixtures/company.rb +0 -10
  288. data/test/fixtures/content_type/render_default_content_types_for_respond_to.rhtml +0 -1
  289. data/test/fixtures/content_type/render_default_for_rhtml.rhtml +0 -1
  290. data/test/fixtures/content_type/render_default_for_rjs.rjs +0 -1
  291. data/test/fixtures/content_type/render_default_for_rxml.rxml +0 -1
  292. data/test/fixtures/customers/_customer.html.erb +0 -1
  293. data/test/fixtures/db_definitions/sqlite.sql +0 -49
  294. data/test/fixtures/developer.rb +0 -9
  295. data/test/fixtures/developers.yml +0 -21
  296. data/test/fixtures/developers/_developer.erb +0 -1
  297. data/test/fixtures/developers_projects.yml +0 -13
  298. data/test/fixtures/failsafe/500.html +0 -1
  299. data/test/fixtures/fun/games/_game.erb +0 -1
  300. data/test/fixtures/fun/games/hello_world.erb +0 -1
  301. data/test/fixtures/fun/serious/games/_game.erb +0 -1
  302. data/test/fixtures/functional_caching/_partial.erb +0 -3
  303. data/test/fixtures/functional_caching/formatted_fragment_cached.html.erb +0 -3
  304. data/test/fixtures/functional_caching/formatted_fragment_cached.js.rjs +0 -6
  305. data/test/fixtures/functional_caching/formatted_fragment_cached.xml.builder +0 -5
  306. data/test/fixtures/functional_caching/fragment_cached.html.erb +0 -2
  307. data/test/fixtures/functional_caching/html_fragment_cached_with_partial.html.erb +0 -1
  308. data/test/fixtures/functional_caching/inline_fragment_cached.html.erb +0 -2
  309. data/test/fixtures/functional_caching/js_fragment_cached_with_partial.js.rjs +0 -1
  310. data/test/fixtures/good_customers/_good_customer.html.erb +0 -1
  311. data/test/fixtures/helpers/abc_helper.rb +0 -5
  312. data/test/fixtures/helpers/fun/games_helper.rb +0 -3
  313. data/test/fixtures/helpers/fun/pdf_helper.rb +0 -3
  314. data/test/fixtures/layout_tests/abs_path_layout.rhtml +0 -1
  315. data/test/fixtures/layout_tests/alt/hello.rhtml +0 -1
  316. data/test/fixtures/layout_tests/alt/layouts/alt.rhtml +0 -0
  317. data/test/fixtures/layout_tests/layouts/controller_name_space/nested.rhtml +0 -1
  318. data/test/fixtures/layout_tests/layouts/item.rhtml +0 -1
  319. data/test/fixtures/layout_tests/layouts/layout_test.rhtml +0 -1
  320. data/test/fixtures/layout_tests/layouts/multiple_extensions.html.erb +0 -1
  321. data/test/fixtures/layout_tests/layouts/third_party_template_library.mab +0 -1
  322. data/test/fixtures/layout_tests/views/hello.rhtml +0 -1
  323. data/test/fixtures/layouts/_column.html.erb +0 -2
  324. data/test/fixtures/layouts/block_with_layout.erb +0 -3
  325. data/test/fixtures/layouts/builder.builder +0 -3
  326. data/test/fixtures/layouts/default_html.html.erb +0 -1
  327. data/test/fixtures/layouts/partial_with_layout.erb +0 -3
  328. data/test/fixtures/layouts/standard.erb +0 -1
  329. data/test/fixtures/layouts/talk_from_action.erb +0 -2
  330. data/test/fixtures/layouts/xhr.html.erb +0 -2
  331. data/test/fixtures/layouts/yield.erb +0 -2
  332. data/test/fixtures/localized/hello_world.de.html +0 -1
  333. data/test/fixtures/localized/hello_world.en.html +0 -1
  334. data/test/fixtures/mascot.rb +0 -3
  335. data/test/fixtures/mascots.yml +0 -4
  336. data/test/fixtures/mascots/_mascot.html.erb +0 -1
  337. data/test/fixtures/multipart/binary_file +0 -0
  338. data/test/fixtures/multipart/boundary_problem_file +0 -10
  339. data/test/fixtures/multipart/bracketed_param +0 -5
  340. data/test/fixtures/multipart/empty +0 -10
  341. data/test/fixtures/multipart/hello.txt +0 -1
  342. data/test/fixtures/multipart/large_text_file +0 -10
  343. data/test/fixtures/multipart/mixed_files +0 -0
  344. data/test/fixtures/multipart/mona_lisa.jpg +0 -0
  345. data/test/fixtures/multipart/none +0 -9
  346. data/test/fixtures/multipart/single_parameter +0 -5
  347. data/test/fixtures/multipart/text_file +0 -10
  348. data/test/fixtures/override/test/hello_world.erb +0 -1
  349. data/test/fixtures/override2/layouts/test/sub.erb +0 -1
  350. data/test/fixtures/post_test/layouts/post.html.erb +0 -1
  351. data/test/fixtures/post_test/layouts/super_post.iphone.erb +0 -1
  352. data/test/fixtures/post_test/post/index.html.erb +0 -1
  353. data/test/fixtures/post_test/post/index.iphone.erb +0 -1
  354. data/test/fixtures/post_test/super_post/index.html.erb +0 -1
  355. data/test/fixtures/post_test/super_post/index.iphone.erb +0 -1
  356. data/test/fixtures/project.rb +0 -3
  357. data/test/fixtures/projects.yml +0 -7
  358. data/test/fixtures/projects/_project.erb +0 -1
  359. data/test/fixtures/public/404.html +0 -1
  360. data/test/fixtures/public/500.da.html +0 -1
  361. data/test/fixtures/public/500.html +0 -1
  362. data/test/fixtures/public/absolute/test.css +0 -23
  363. data/test/fixtures/public/absolute/test.js +0 -63
  364. data/test/fixtures/public/images/rails.png +0 -0
  365. data/test/fixtures/public/javascripts/application.js +0 -1
  366. data/test/fixtures/public/javascripts/bank.js +0 -1
  367. data/test/fixtures/public/javascripts/controls.js +0 -1
  368. data/test/fixtures/public/javascripts/dragdrop.js +0 -1
  369. data/test/fixtures/public/javascripts/effects.js +0 -1
  370. data/test/fixtures/public/javascripts/prototype.js +0 -1
  371. data/test/fixtures/public/javascripts/robber.js +0 -1
  372. data/test/fixtures/public/javascripts/subdir/subdir.js +0 -1
  373. data/test/fixtures/public/javascripts/version.1.0.js +0 -1
  374. data/test/fixtures/public/stylesheets/bank.css +0 -1
  375. data/test/fixtures/public/stylesheets/robber.css +0 -1
  376. data/test/fixtures/public/stylesheets/subdir/subdir.css +0 -1
  377. data/test/fixtures/public/stylesheets/version.1.0.css +0 -1
  378. data/test/fixtures/quiz/questions/_question.html.erb +0 -1
  379. data/test/fixtures/replies.yml +0 -15
  380. data/test/fixtures/replies/_reply.erb +0 -1
  381. data/test/fixtures/reply.rb +0 -7
  382. data/test/fixtures/respond_to/all_types_with_layout.html.erb +0 -1
  383. data/test/fixtures/respond_to/all_types_with_layout.js.rjs +0 -1
  384. data/test/fixtures/respond_to/custom_constant_handling_without_block.mobile.erb +0 -1
  385. data/test/fixtures/respond_to/iphone_with_html_response_type.html.erb +0 -1
  386. data/test/fixtures/respond_to/iphone_with_html_response_type.iphone.erb +0 -1
  387. data/test/fixtures/respond_to/layouts/missing.html.erb +0 -1
  388. data/test/fixtures/respond_to/layouts/standard.html.erb +0 -1
  389. data/test/fixtures/respond_to/layouts/standard.iphone.erb +0 -1
  390. data/test/fixtures/respond_to/using_defaults.html.erb +0 -1
  391. data/test/fixtures/respond_to/using_defaults.js.rjs +0 -1
  392. data/test/fixtures/respond_to/using_defaults.xml.builder +0 -1
  393. data/test/fixtures/respond_to/using_defaults_with_type_list.html.erb +0 -1
  394. data/test/fixtures/respond_to/using_defaults_with_type_list.js.rjs +0 -1
  395. data/test/fixtures/respond_to/using_defaults_with_type_list.xml.builder +0 -1
  396. data/test/fixtures/scope/test/modgreet.erb +0 -1
  397. data/test/fixtures/session_autoload_test/session_autoload_test/foo.rb +0 -10
  398. data/test/fixtures/shared.html.erb +0 -1
  399. data/test/fixtures/symlink_parent/symlinked_layout.erb +0 -5
  400. data/test/fixtures/test/_counter.html.erb +0 -1
  401. data/test/fixtures/test/_customer.erb +0 -1
  402. data/test/fixtures/test/_customer_counter.erb +0 -1
  403. data/test/fixtures/test/_customer_counter_with_as.erb +0 -1
  404. data/test/fixtures/test/_customer_greeting.erb +0 -1
  405. data/test/fixtures/test/_customer_with_var.erb +0 -1
  406. data/test/fixtures/test/_form.erb +0 -1
  407. data/test/fixtures/test/_from_helper.erb +0 -1
  408. data/test/fixtures/test/_hash_greeting.erb +0 -1
  409. data/test/fixtures/test/_hash_object.erb +0 -2
  410. data/test/fixtures/test/_hello.builder +0 -1
  411. data/test/fixtures/test/_labelling_form.erb +0 -1
  412. data/test/fixtures/test/_layout_for_block_with_args.html.erb +0 -3
  413. data/test/fixtures/test/_layout_for_partial.html.erb +0 -3
  414. data/test/fixtures/test/_local_inspector.html.erb +0 -1
  415. data/test/fixtures/test/_one.html.erb +0 -1
  416. data/test/fixtures/test/_partial.erb +0 -1
  417. data/test/fixtures/test/_partial.html.erb +0 -1
  418. data/test/fixtures/test/_partial.js.erb +0 -1
  419. data/test/fixtures/test/_partial_for_use_in_layout.html.erb +0 -1
  420. data/test/fixtures/test/_partial_only.erb +0 -1
  421. data/test/fixtures/test/_partial_with_only_html_version.html.erb +0 -1
  422. data/test/fixtures/test/_person.erb +0 -2
  423. data/test/fixtures/test/_raise.html.erb +0 -1
  424. data/test/fixtures/test/_two.html.erb +0 -1
  425. data/test/fixtures/test/_utf8_partial.html.erb +0 -1
  426. data/test/fixtures/test/_utf8_partial_magic.html.erb +0 -2
  427. data/test/fixtures/test/action_talk_to_layout.erb +0 -2
  428. data/test/fixtures/test/array_translation.erb +0 -1
  429. data/test/fixtures/test/calling_partial_with_layout.html.erb +0 -1
  430. data/test/fixtures/test/capturing.erb +0 -4
  431. data/test/fixtures/test/content_for.erb +0 -2
  432. data/test/fixtures/test/content_for_concatenated.erb +0 -3
  433. data/test/fixtures/test/content_for_with_parameter.erb +0 -2
  434. data/test/fixtures/test/delete_with_js.rjs +0 -2
  435. data/test/fixtures/test/dont_pick_me +0 -1
  436. data/test/fixtures/test/dot.directory/render_file_with_ivar.erb +0 -1
  437. data/test/fixtures/test/enum_rjs_test.rjs +0 -6
  438. data/test/fixtures/test/formatted_html_erb.html.erb +0 -1
  439. data/test/fixtures/test/formatted_xml_erb.builder +0 -1
  440. data/test/fixtures/test/formatted_xml_erb.html.erb +0 -1
  441. data/test/fixtures/test/formatted_xml_erb.xml.erb +0 -1
  442. data/test/fixtures/test/greeting.erb +0 -1
  443. data/test/fixtures/test/greeting.js.rjs +0 -1
  444. data/test/fixtures/test/hello.builder +0 -4
  445. data/test/fixtures/test/hello_world.da.html.erb +0 -1
  446. data/test/fixtures/test/hello_world.erb +0 -1
  447. data/test/fixtures/test/hello_world.erb~ +0 -1
  448. data/test/fixtures/test/hello_world.pt-BR.html.erb +0 -1
  449. data/test/fixtures/test/hello_world_container.builder +0 -3
  450. data/test/fixtures/test/hello_world_from_rxml.builder +0 -4
  451. data/test/fixtures/test/hello_world_with_layout_false.erb +0 -1
  452. data/test/fixtures/test/hello_xml_world.builder +0 -11
  453. data/test/fixtures/test/hyphen-ated.erb +0 -1
  454. data/test/fixtures/test/implicit_content_type.atom.builder +0 -2
  455. data/test/fixtures/test/list.erb +0 -1
  456. data/test/fixtures/test/malformed/malformed.en.html.erb~ +0 -1
  457. data/test/fixtures/test/malformed/malformed.erb~ +0 -1
  458. data/test/fixtures/test/malformed/malformed.html.erb~ +0 -1
  459. data/test/fixtures/test/nested_layout.erb +0 -3
  460. data/test/fixtures/test/non_erb_block_content_for.builder +0 -4
  461. data/test/fixtures/test/potential_conflicts.erb +0 -4
  462. data/test/fixtures/test/render_explicit_html_template.js.rjs +0 -1
  463. data/test/fixtures/test/render_file_from_template.html.erb +0 -1
  464. data/test/fixtures/test/render_file_with_ivar.erb +0 -1
  465. data/test/fixtures/test/render_file_with_locals.erb +0 -1
  466. data/test/fixtures/test/render_implicit_html_template.js.rjs +0 -1
  467. data/test/fixtures/test/render_implicit_html_template_from_xhr_request.da.html.erb +0 -1
  468. data/test/fixtures/test/render_implicit_html_template_from_xhr_request.html.erb +0 -1
  469. data/test/fixtures/test/render_implicit_js_template_without_layout.js.erb +0 -1
  470. data/test/fixtures/test/render_to_string_test.erb +0 -1
  471. data/test/fixtures/test/scoped_array_translation.erb +0 -1
  472. data/test/fixtures/test/sub_template_raise.html.erb +0 -1
  473. data/test/fixtures/test/template.erb +0 -1
  474. data/test/fixtures/test/translation.erb +0 -1
  475. data/test/fixtures/test/update_element_with_capture.erb +0 -9
  476. data/test/fixtures/test/using_layout_around_block.html.erb +0 -1
  477. data/test/fixtures/test/using_layout_around_block_with_args.html.erb +0 -1
  478. data/test/fixtures/test/utf8.html.erb +0 -4
  479. data/test/fixtures/test/utf8_magic.html.erb +0 -5
  480. data/test/fixtures/test/utf8_magic_with_bare_partial.html.erb +0 -5
  481. data/test/fixtures/topic.rb +0 -3
  482. data/test/fixtures/topics.yml +0 -22
  483. data/test/fixtures/topics/_topic.html.erb +0 -1
  484. data/test/template/active_record_helper_i18n_test.rb +0 -51
  485. data/test/template/active_record_helper_test.rb +0 -302
  486. data/test/template/asset_tag_helper_test.rb +0 -770
  487. data/test/template/atom_feed_helper_test.rb +0 -315
  488. data/test/template/benchmark_helper_test.rb +0 -86
  489. data/test/template/compiled_templates_test.rb +0 -204
  490. data/test/template/date_helper_i18n_test.rb +0 -121
  491. data/test/template/date_helper_test.rb +0 -2603
  492. data/test/template/erb_util_test.rb +0 -36
  493. data/test/template/form_helper_test.rb +0 -1447
  494. data/test/template/form_options_helper_i18n_test.rb +0 -27
  495. data/test/template/form_options_helper_test.rb +0 -811
  496. data/test/template/form_tag_helper_test.rb +0 -356
  497. data/test/template/javascript_helper_test.rb +0 -106
  498. data/test/template/number_helper_i18n_test.rb +0 -69
  499. data/test/template/number_helper_test.rb +0 -132
  500. data/test/template/prototype_helper_test.rb +0 -639
  501. data/test/template/raw_output_helper_test.rb +0 -21
  502. data/test/template/record_tag_helper_test.rb +0 -58
  503. data/test/template/render_test.rb +0 -329
  504. data/test/template/sanitize_helper_test.rb +0 -57
  505. data/test/template/scriptaculous_helper_test.rb +0 -90
  506. data/test/template/tag_helper_test.rb +0 -98
  507. data/test/template/template_test.rb +0 -32
  508. data/test/template/test_test.rb +0 -54
  509. data/test/template/text_helper_test.rb +0 -601
  510. data/test/template/translation_helper_test.rb +0 -95
  511. data/test/template/url_helper_test.rb +0 -641
  512. data/test/testing_sandbox.rb +0 -15
  513. data/test/view/test_case_test.rb +0 -176
@@ -1,139 +0,0 @@
1
- require 'abstract_unit'
2
-
3
- class Comment
4
- attr_reader :id
5
- def save; @id = 1 end
6
- def new_record?; @id.nil? end
7
- def name
8
- @id.nil? ? 'new comment' : "comment ##{@id}"
9
- end
10
- end
11
-
12
- class Comment::Nested < Comment; end
13
-
14
- class Test::Unit::TestCase
15
- protected
16
- def comments_url
17
- 'http://www.example.com/comments'
18
- end
19
-
20
- def comment_url(comment)
21
- "http://www.example.com/comments/#{comment.id}"
22
- end
23
- end
24
-
25
-
26
- class RecordIdentifierTest < Test::Unit::TestCase
27
- include ActionController::RecordIdentifier
28
-
29
- def setup
30
- @klass = Comment
31
- @record = @klass.new
32
- @singular = 'comment'
33
- @plural = 'comments'
34
- end
35
-
36
- def test_dom_id_with_new_record
37
- assert_equal "new_#{@singular}", dom_id(@record)
38
- end
39
-
40
- def test_dom_id_with_new_record_and_prefix
41
- assert_equal "custom_prefix_#{@singular}", dom_id(@record, :custom_prefix)
42
- end
43
-
44
- def test_dom_id_with_saved_record
45
- @record.save
46
- assert_equal "#{@singular}_1", dom_id(@record)
47
- end
48
-
49
- def test_dom_id_with_prefix
50
- @record.save
51
- assert_equal "edit_#{@singular}_1", dom_id(@record, :edit)
52
- end
53
-
54
- def test_partial_path
55
- expected = "#{@plural}/#{@singular}"
56
- assert_equal expected, partial_path(@record)
57
- assert_equal expected, partial_path(Comment)
58
- end
59
-
60
- def test_partial_path_with_namespaced_controller_path
61
- expected = "admin/#{@plural}/#{@singular}"
62
- assert_equal expected, partial_path(@record, "admin/posts")
63
- assert_equal expected, partial_path(@klass, "admin/posts")
64
- end
65
-
66
- def test_partial_path_with_not_namespaced_controller_path
67
- expected = "#{@plural}/#{@singular}"
68
- assert_equal expected, partial_path(@record, "posts")
69
- assert_equal expected, partial_path(@klass, "posts")
70
- end
71
-
72
- def test_dom_class
73
- assert_equal @singular, dom_class(@record)
74
- end
75
-
76
- def test_dom_class_with_prefix
77
- assert_equal "custom_prefix_#{@singular}", dom_class(@record, :custom_prefix)
78
- end
79
-
80
- def test_singular_class_name
81
- assert_equal @singular, singular_class_name(@record)
82
- end
83
-
84
- def test_singular_class_name_for_class
85
- assert_equal @singular, singular_class_name(@klass)
86
- end
87
-
88
- def test_plural_class_name
89
- assert_equal @plural, plural_class_name(@record)
90
- end
91
-
92
- def test_plural_class_name_for_class
93
- assert_equal @plural, plural_class_name(@klass)
94
- end
95
-
96
- private
97
- def method_missing(method, *args)
98
- RecordIdentifier.send(method, *args)
99
- end
100
- end
101
-
102
- class NestedRecordIdentifierTest < RecordIdentifierTest
103
- def setup
104
- @klass = Comment::Nested
105
- @record = @klass.new
106
- @singular = 'comment_nested'
107
- @plural = 'comment_nesteds'
108
- end
109
-
110
- def test_partial_path
111
- expected = "comment/nesteds/nested"
112
- assert_equal expected, partial_path(@record)
113
- assert_equal expected, partial_path(Comment::Nested)
114
- end
115
-
116
- def test_partial_path_with_namespaced_controller_path
117
- expected = "admin/comment/nesteds/nested"
118
- assert_equal expected, partial_path(@record, "admin/posts")
119
- assert_equal expected, partial_path(@klass, "admin/posts")
120
- end
121
-
122
- def test_partial_path_with_deeper_namespaced_controller_path
123
- expected = "deeper/admin/comment/nesteds/nested"
124
- assert_equal expected, partial_path(@record, "deeper/admin/posts")
125
- assert_equal expected, partial_path(@klass, "deeper/admin/posts")
126
- end
127
-
128
- def test_partial_path_with_even_deeper_namespaced_controller_path
129
- expected = "even/more/deeper/admin/comment/nesteds/nested"
130
- assert_equal expected, partial_path(@record, "even/more/deeper/admin/posts")
131
- assert_equal expected, partial_path(@klass, "even/more/deeper/admin/posts")
132
- end
133
-
134
- def test_partial_path_with_not_namespaced_controller_path
135
- expected = "comment/nesteds/nested"
136
- assert_equal expected, partial_path(@record, "posts")
137
- assert_equal expected, partial_path(@klass, "posts")
138
- end
139
- end
@@ -1,285 +0,0 @@
1
- require 'abstract_unit'
2
-
3
- class WorkshopsController < ActionController::Base
4
- end
5
-
6
- class Workshop
7
- attr_accessor :id, :new_record
8
-
9
- def initialize(id, new_record)
10
- @id, @new_record = id, new_record
11
- end
12
-
13
- def new_record?
14
- @new_record
15
- end
16
-
17
- def to_s
18
- id.to_s
19
- end
20
- end
21
-
22
- class RedirectController < ActionController::Base
23
- def simple_redirect
24
- redirect_to :action => "hello_world"
25
- end
26
-
27
- def redirect_with_status
28
- redirect_to({:action => "hello_world", :status => 301})
29
- end
30
-
31
- def redirect_with_status_hash
32
- redirect_to({:action => "hello_world"}, {:status => 301})
33
- end
34
-
35
- def url_redirect_with_status
36
- redirect_to("http://www.example.com", :status => :moved_permanently)
37
- end
38
-
39
- def url_redirect_with_status_hash
40
- redirect_to("http://www.example.com", {:status => 301})
41
- end
42
-
43
- def relative_url_redirect_with_status
44
- redirect_to("/things/stuff", :status => :found)
45
- end
46
-
47
- def relative_url_redirect_with_status_hash
48
- redirect_to("/things/stuff", {:status => 301})
49
- end
50
-
51
- def redirect_to_back_with_status
52
- redirect_to :back, :status => 307
53
- end
54
-
55
- def host_redirect
56
- redirect_to :action => "other_host", :only_path => false, :host => 'other.test.host'
57
- end
58
-
59
- def module_redirect
60
- redirect_to :controller => 'module_test/module_redirect', :action => "hello_world"
61
- end
62
-
63
- def redirect_with_assigns
64
- @hello = "world"
65
- redirect_to :action => "hello_world"
66
- end
67
-
68
- def redirect_to_url
69
- redirect_to "http://www.rubyonrails.org/"
70
- end
71
-
72
- def redirect_to_url_with_unescaped_query_string
73
- redirect_to "http://dev.rubyonrails.org/query?status=new"
74
- end
75
-
76
- def redirect_to_url_with_complex_scheme
77
- redirect_to "x-test+scheme.complex:redirect"
78
- end
79
-
80
- def redirect_to_back
81
- redirect_to :back
82
- end
83
-
84
- def redirect_to_existing_record
85
- redirect_to Workshop.new(5, false)
86
- end
87
-
88
- def redirect_to_new_record
89
- redirect_to Workshop.new(5, true)
90
- end
91
-
92
- def redirect_to_nil
93
- redirect_to nil
94
- end
95
-
96
- def rescue_errors(e) raise e end
97
-
98
- def rescue_action(e) raise end
99
-
100
- protected
101
- def dashbord_url(id, message)
102
- url_for :action => "dashboard", :params => { "id" => id, "message" => message }
103
- end
104
- end
105
-
106
- class RedirectTest < ActionController::TestCase
107
- tests RedirectController
108
-
109
- def test_simple_redirect
110
- get :simple_redirect
111
- assert_response :redirect
112
- assert_equal "http://test.host/redirect/hello_world", redirect_to_url
113
- end
114
-
115
- def test_redirect_with_no_status
116
- get :simple_redirect
117
- assert_response 302
118
- assert_equal "http://test.host/redirect/hello_world", redirect_to_url
119
- end
120
-
121
- def test_redirect_with_status
122
- get :redirect_with_status
123
- assert_response 301
124
- assert_equal "http://test.host/redirect/hello_world", redirect_to_url
125
- end
126
-
127
- def test_redirect_with_status_hash
128
- get :redirect_with_status_hash
129
- assert_response 301
130
- assert_equal "http://test.host/redirect/hello_world", redirect_to_url
131
- end
132
-
133
- def test_url_redirect_with_status
134
- get :url_redirect_with_status
135
- assert_response 301
136
- assert_equal "http://www.example.com", redirect_to_url
137
- end
138
-
139
- def test_url_redirect_with_status_hash
140
- get :url_redirect_with_status_hash
141
- assert_response 301
142
- assert_equal "http://www.example.com", redirect_to_url
143
- end
144
-
145
-
146
- def test_relative_url_redirect_with_status
147
- get :relative_url_redirect_with_status
148
- assert_response 302
149
- assert_equal "http://test.host/things/stuff", redirect_to_url
150
- end
151
-
152
- def test_relative_url_redirect_with_status_hash
153
- get :relative_url_redirect_with_status_hash
154
- assert_response 301
155
- assert_equal "http://test.host/things/stuff", redirect_to_url
156
- end
157
-
158
- def test_redirect_to_back_with_status
159
- @request.env["HTTP_REFERER"] = "http://www.example.com/coming/from"
160
- get :redirect_to_back_with_status
161
- assert_response 307
162
- assert_equal "http://www.example.com/coming/from", redirect_to_url
163
- end
164
-
165
- def test_simple_redirect_using_options
166
- get :host_redirect
167
- assert_response :redirect
168
- assert_redirected_to :action => "other_host", :only_path => false, :host => 'other.test.host'
169
- end
170
-
171
- def test_module_redirect
172
- get :module_redirect
173
- assert_response :redirect
174
- assert_redirected_to "http://test.host/module_test/module_redirect/hello_world"
175
- end
176
-
177
- def test_module_redirect_using_options
178
- get :module_redirect
179
- assert_response :redirect
180
- assert_redirected_to :controller => 'module_test/module_redirect', :action => 'hello_world'
181
- end
182
-
183
- def test_redirect_with_assigns
184
- get :redirect_with_assigns
185
- assert_response :redirect
186
- assert_equal "world", assigns["hello"]
187
- end
188
-
189
- def test_redirect_to_url
190
- get :redirect_to_url
191
- assert_response :redirect
192
- assert_redirected_to "http://www.rubyonrails.org/"
193
- end
194
-
195
- def test_redirect_to_url_with_unescaped_query_string
196
- get :redirect_to_url_with_unescaped_query_string
197
- assert_response :redirect
198
- assert_redirected_to "http://dev.rubyonrails.org/query?status=new"
199
- end
200
-
201
- def test_redirect_to_url_with_complex_scheme
202
- get :redirect_to_url_with_complex_scheme
203
- assert_response :redirect
204
- assert_equal "x-test+scheme.complex:redirect", redirect_to_url
205
- end
206
-
207
- def test_redirect_to_back
208
- @request.env["HTTP_REFERER"] = "http://www.example.com/coming/from"
209
- get :redirect_to_back
210
- assert_response :redirect
211
- assert_equal "http://www.example.com/coming/from", redirect_to_url
212
- end
213
-
214
- def test_redirect_to_back_with_no_referer
215
- assert_raise(ActionController::RedirectBackError) {
216
- @request.env["HTTP_REFERER"] = nil
217
- get :redirect_to_back
218
- }
219
- end
220
-
221
- def test_redirect_to_record
222
- ActionController::Routing::Routes.draw do |map|
223
- map.resources :workshops
224
- map.connect ':controller/:action/:id'
225
- end
226
-
227
- get :redirect_to_existing_record
228
- assert_equal "http://test.host/workshops/5", redirect_to_url
229
- assert_redirected_to Workshop.new(5, false)
230
-
231
- get :redirect_to_new_record
232
- assert_equal "http://test.host/workshops", redirect_to_url
233
- assert_redirected_to Workshop.new(5, true)
234
- end
235
-
236
- def test_redirect_with_partial_params
237
- get :module_redirect
238
-
239
- assert_deprecated(/test_redirect_with_partial_params/) do
240
- assert_redirected_to :action => 'hello_world'
241
- end
242
- end
243
-
244
- def test_redirect_to_nil
245
- assert_raise(ActionController::ActionControllerError) do
246
- get :redirect_to_nil
247
- end
248
- end
249
- end
250
-
251
- module ModuleTest
252
- class ModuleRedirectController < ::RedirectController
253
- def module_redirect
254
- redirect_to :controller => '/redirect', :action => "hello_world"
255
- end
256
- end
257
-
258
- class ModuleRedirectTest < ActionController::TestCase
259
- tests ModuleRedirectController
260
-
261
- def test_simple_redirect
262
- get :simple_redirect
263
- assert_response :redirect
264
- assert_equal "http://test.host/module_test/module_redirect/hello_world", redirect_to_url
265
- end
266
-
267
- def test_simple_redirect_using_options
268
- get :host_redirect
269
- assert_response :redirect
270
- assert_redirected_to :action => "other_host", :only_path => false, :host => 'other.test.host'
271
- end
272
-
273
- def test_module_redirect
274
- get :module_redirect
275
- assert_response :redirect
276
- assert_equal "http://test.host/redirect/hello_world", redirect_to_url
277
- end
278
-
279
- def test_module_redirect_using_options
280
- get :module_redirect
281
- assert_response :redirect
282
- assert_redirected_to :controller => '/redirect', :action => "hello_world"
283
- end
284
- end
285
- end
@@ -1,125 +0,0 @@
1
- require 'abstract_unit'
2
- require 'thread'
3
-
4
- class ReloaderTests < ActiveSupport::TestCase
5
- Reloader = ActionController::Reloader
6
- Dispatcher = ActionController::Dispatcher
7
-
8
- class MyBody < Array
9
- def initialize(&block)
10
- @on_close = block
11
- end
12
-
13
- def foo
14
- "foo"
15
- end
16
-
17
- def bar
18
- "bar"
19
- end
20
-
21
- def close
22
- @on_close.call if @on_close
23
- end
24
- end
25
-
26
- def setup
27
- @lock = Mutex.new
28
- end
29
-
30
- def test_it_reloads_the_application_before_yielding
31
- Dispatcher.expects(:reload_application)
32
- Reloader.run(@lock) do
33
- [200, { "Content-Type" => "text/html" }, [""]]
34
- end
35
- end
36
-
37
- def test_it_locks_before_yielding
38
- lock = DummyMutex.new
39
- Dispatcher.expects(:reload_application)
40
- Reloader.run(lock) do
41
- assert lock.locked?
42
- [200, { "Content-Type" => "text/html" }, [""]]
43
- end
44
- assert lock.locked?
45
- end
46
-
47
- def test_it_unlocks_upon_calling_close_on_body
48
- lock = DummyMutex.new
49
- Dispatcher.expects(:reload_application)
50
- headers, status, body = Reloader.run(lock) do
51
- [200, { "Content-Type" => "text/html" }, [""]]
52
- end
53
- body.close
54
- assert !lock.locked?
55
- end
56
-
57
- def test_it_unlocks_if_app_object_raises_exception
58
- lock = DummyMutex.new
59
- Dispatcher.expects(:reload_application)
60
- assert_raise(RuntimeError) do
61
- Reloader.run(lock) do
62
- raise "oh no!"
63
- end
64
- end
65
- assert !lock.locked?
66
- end
67
-
68
- def test_returned_body_object_always_responds_to_close
69
- status, headers, body = Reloader.run(@lock) do
70
- [200, { "Content-Type" => "text/html" }, [""]]
71
- end
72
- assert body.respond_to?(:close)
73
- end
74
-
75
- def test_returned_body_object_behaves_like_underlying_object
76
- status, headers, body = Reloader.run(@lock) do
77
- b = MyBody.new
78
- b << "hello"
79
- b << "world"
80
- [200, { "Content-Type" => "text/html" }, b]
81
- end
82
- assert_equal 2, body.size
83
- assert_equal "hello", body[0]
84
- assert_equal "world", body[1]
85
- assert_equal "foo", body.foo
86
- assert_equal "bar", body.bar
87
- end
88
-
89
- def test_it_calls_close_on_underlying_object_when_close_is_called_on_body
90
- close_called = false
91
- status, headers, body = Reloader.run(@lock) do
92
- b = MyBody.new do
93
- close_called = true
94
- end
95
- [200, { "Content-Type" => "text/html" }, b]
96
- end
97
- body.close
98
- assert close_called
99
- end
100
-
101
- def test_returned_body_object_responds_to_all_methods_supported_by_underlying_object
102
- status, headers, body = Reloader.run(@lock) do
103
- [200, { "Content-Type" => "text/html" }, MyBody.new]
104
- end
105
- assert body.respond_to?(:size)
106
- assert body.respond_to?(:each)
107
- assert body.respond_to?(:foo)
108
- assert body.respond_to?(:bar)
109
- end
110
-
111
- def test_it_doesnt_clean_up_the_application_after_call
112
- Dispatcher.expects(:cleanup_application).never
113
- status, headers, body = Reloader.run(@lock) do
114
- [200, { "Content-Type" => "text/html" }, MyBody.new]
115
- end
116
- end
117
-
118
- def test_it_cleans_up_the_application_when_close_is_called_on_body
119
- Dispatcher.expects(:cleanup_application)
120
- status, headers, body = Reloader.run(@lock) do
121
- [200, { "Content-Type" => "text/html" }, MyBody.new]
122
- end
123
- body.close
124
- end
125
- end