jets 1.9.7 → 1.9.8

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 (1156) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +0 -6
  3. data/CHANGELOG.md +5 -0
  4. data/Rakefile +3 -0
  5. data/jets.gemspec +3 -2
  6. data/lib/jets.rb +5 -66
  7. data/lib/jets/application.rb +29 -112
  8. data/lib/jets/application/default_config.rb +95 -0
  9. data/lib/jets/autoloaders.rb +96 -0
  10. data/lib/jets/aws_services.rb +0 -4
  11. data/lib/jets/booter.rb +24 -127
  12. data/lib/jets/builders/code_builder.rb +1 -1
  13. data/lib/jets/builders/code_size.rb +1 -1
  14. data/lib/jets/builders/gem_replacer.rb +1 -1
  15. data/lib/jets/builders/handler_generator.rb +1 -1
  16. data/lib/jets/builders/lambda_layer.rb +1 -1
  17. data/lib/jets/builders/md5.rb +1 -1
  18. data/lib/jets/builders/md5_zip.rb +1 -1
  19. data/lib/jets/builders/purger.rb +1 -1
  20. data/lib/jets/builders/rack_packager.rb +1 -1
  21. data/lib/jets/builders/reconfigure_rails.rb +1 -1
  22. data/lib/jets/builders/ruby_packager.rb +1 -1
  23. data/lib/jets/builders/tidy.rb +1 -1
  24. data/lib/jets/builders/util.rb +1 -1
  25. data/lib/jets/bundle.rb +59 -0
  26. data/lib/jets/cfn/builders/api_deployment_builder.rb +1 -1
  27. data/lib/jets/cfn/builders/api_gateway_builder.rb +1 -1
  28. data/lib/jets/cfn/builders/base_child_builder.rb +1 -1
  29. data/lib/jets/cfn/builders/controller_builder.rb +1 -1
  30. data/lib/jets/cfn/builders/function_builder.rb +1 -1
  31. data/lib/jets/cfn/builders/interface.rb +1 -1
  32. data/lib/jets/cfn/builders/job_builder.rb +1 -1
  33. data/lib/jets/cfn/builders/parent_builder.rb +1 -1
  34. data/lib/jets/cfn/builders/rule_builder.rb +1 -1
  35. data/lib/jets/cfn/builders/shared_builder.rb +1 -1
  36. data/lib/jets/cfn/ship.rb +2 -6
  37. data/lib/jets/cfn/status.rb +1 -1
  38. data/lib/jets/cfn/upload.rb +1 -1
  39. data/lib/jets/cli.rb +39 -34
  40. data/lib/jets/commands/base.rb +12 -30
  41. data/lib/jets/commands/call.rb +0 -5
  42. data/lib/jets/commands/clean.rb +0 -4
  43. data/lib/jets/commands/console.rb +0 -1
  44. data/lib/jets/commands/db.rb +0 -2
  45. data/lib/jets/commands/dynamodb.rb +0 -3
  46. data/lib/jets/commands/help/call.md +3 -3
  47. data/lib/jets/commands/import.rb +1 -7
  48. data/lib/jets/commands/import/{rail.rb → rails.rb} +1 -1
  49. data/lib/jets/commands/main.rb +3 -1
  50. data/lib/jets/commands/new.rb +1 -1
  51. data/lib/jets/commands/rake_tasks.rb +2 -1
  52. data/lib/jets/commands/runner.rb +0 -2
  53. data/lib/jets/controller.rb +0 -14
  54. data/lib/jets/controller/base.rb +1 -1
  55. data/lib/jets/controller/cookies.rb +0 -2
  56. data/lib/jets/controller/middleware/local.rb +0 -4
  57. data/lib/jets/controller/rendering.rb +0 -1
  58. data/lib/jets/controller/rendering/rack_renderer.rb +1 -2
  59. data/lib/jets/core.rb +2 -7
  60. data/lib/jets/core_ext/kernel.rb +9 -52
  61. data/lib/jets/internal/app/jobs/jets/preheat_job.rb +8 -0
  62. data/lib/jets/{mailer.rb → internal/turbines/jets/mailer.rb} +0 -0
  63. data/lib/jets/job/base.rb +1 -3
  64. data/lib/jets/job/dsl.rb +0 -9
  65. data/lib/jets/logger.rb +0 -3
  66. data/lib/jets/mega/request.rb +0 -1
  67. data/lib/jets/middleware.rb +0 -5
  68. data/lib/jets/poly_fun.rb +0 -9
  69. data/lib/jets/resource.rb +0 -18
  70. data/lib/jets/resource/api_gateway/rest_api.rb +0 -4
  71. data/lib/jets/resource/api_gateway/rest_api/routes.rb +0 -4
  72. data/lib/jets/resource/api_gateway/rest_api/routes/change.rb +0 -4
  73. data/lib/jets/resource/api_gateway/rest_api/routes/collision.rb +0 -2
  74. data/lib/jets/resource/iot/topic_rule.rb +1 -1
  75. data/lib/jets/resource/lambda/function.rb +0 -1
  76. data/lib/jets/router.rb +0 -2
  77. data/lib/jets/rule/base.rb +1 -1
  78. data/lib/jets/spec_helpers.rb +1 -4
  79. data/lib/jets/stack.rb +1 -24
  80. data/lib/jets/stack/depends.rb +0 -2
  81. data/lib/jets/stack/main.rb +0 -1
  82. data/lib/jets/stack/main/dsl.rb +0 -7
  83. data/lib/jets/stack/main/{extensions → dsl}/base.rb +0 -0
  84. data/lib/jets/stack/main/{extensions → dsl}/cloudwatch.rb +0 -0
  85. data/lib/jets/stack/main/{extensions → dsl}/iam.rb +0 -0
  86. data/lib/jets/stack/main/{extensions → dsl}/lambda.rb +0 -0
  87. data/lib/jets/stack/main/{extensions → dsl}/s3.rb +0 -0
  88. data/lib/jets/stack/main/{extensions → dsl}/sns.rb +0 -0
  89. data/lib/jets/stack/main/{extensions → dsl}/sqs.rb +0 -0
  90. data/lib/jets/stack/output.rb +0 -3
  91. data/lib/jets/stack/parameter.rb +0 -1
  92. data/lib/jets/stack/resource.rb +0 -1
  93. data/lib/jets/turbo.rb +11 -4
  94. data/lib/jets/turbo/{rail.rb → rails.rb} +1 -1
  95. data/lib/jets/version.rb +1 -1
  96. metadata +58 -1075
  97. data/lib/jets/builders.rb +0 -16
  98. data/lib/jets/builders/shim_vars.rb +0 -5
  99. data/lib/jets/cfn.rb +0 -6
  100. data/lib/jets/cfn/builders.rb +0 -20
  101. data/lib/jets/commands.rb +0 -27
  102. data/lib/jets/commands/markdown.rb +0 -8
  103. data/lib/jets/controller/middleware.rb +0 -5
  104. data/lib/jets/controller/rack.rb +0 -5
  105. data/lib/jets/io.rb +0 -14
  106. data/lib/jets/job.rb +0 -4
  107. data/lib/jets/job/helpers.rb +0 -5
  108. data/lib/jets/lambda.rb +0 -18
  109. data/lib/jets/mega.rb +0 -7
  110. data/lib/jets/processors.rb +0 -4
  111. data/lib/jets/resource/api_gateway.rb +0 -9
  112. data/lib/jets/resource/api_gateway/base_path.rb +0 -5
  113. data/lib/jets/resource/child_stack.rb +0 -7
  114. data/lib/jets/resource/config.rb +0 -4
  115. data/lib/jets/resource/events.rb +0 -3
  116. data/lib/jets/resource/iam.rb +0 -8
  117. data/lib/jets/resource/iot.rb +0 -3
  118. data/lib/jets/resource/lambda.rb +0 -6
  119. data/lib/jets/resource/logs.rb +0 -3
  120. data/lib/jets/resource/route53.rb +0 -3
  121. data/lib/jets/resource/s3.rb +0 -3
  122. data/lib/jets/resource/sns.rb +0 -5
  123. data/lib/jets/resource/sqs.rb +0 -3
  124. data/lib/jets/rule.rb +0 -4
  125. data/vendor/jets-gems/Gemfile +0 -6
  126. data/vendor/jets-gems/LICENSE.txt +0 -21
  127. data/vendor/jets-gems/README.md +0 -19
  128. data/vendor/jets-gems/Rakefile +0 -6
  129. data/vendor/jets-gems/bin/console +0 -14
  130. data/vendor/jets-gems/bin/setup +0 -8
  131. data/vendor/jets-gems/jets-gems.gemspec +0 -30
  132. data/vendor/jets-gems/lib/jets-gems.rb +0 -1
  133. data/vendor/jets-gems/lib/jets/gems.rb +0 -17
  134. data/vendor/jets-gems/lib/jets/gems/agree.rb +0 -60
  135. data/vendor/jets-gems/lib/jets/gems/check.rb +0 -190
  136. data/vendor/jets-gems/lib/jets/gems/exist.rb +0 -56
  137. data/vendor/jets-gems/lib/jets/gems/extract.rb +0 -7
  138. data/vendor/jets-gems/lib/jets/gems/extract/base.rb +0 -74
  139. data/vendor/jets-gems/lib/jets/gems/extract/gem.rb +0 -105
  140. data/vendor/jets-gems/lib/jets/gems/extract/ruby.rb +0 -71
  141. data/vendor/jets-gems/lib/jets/gems/report.rb +0 -69
  142. data/vendor/jets-gems/lib/jets/gems/version.rb +0 -5
  143. data/vendor/jets-gems/spec/jets/gems_spec.rb +0 -5
  144. data/vendor/jets-gems/spec/spec_helper.rb +0 -14
  145. data/vendor/rails/Brewfile +0 -13
  146. data/vendor/rails/CODE_OF_CONDUCT.md +0 -12
  147. data/vendor/rails/CONTRIBUTING.md +0 -49
  148. data/vendor/rails/Gemfile +0 -174
  149. data/vendor/rails/MIT-LICENSE +0 -20
  150. data/vendor/rails/RAILS_VERSION +0 -1
  151. data/vendor/rails/README.md +0 -97
  152. data/vendor/rails/RELEASING_RAILS.md +0 -225
  153. data/vendor/rails/Rakefile +0 -72
  154. data/vendor/rails/actionpack/CHANGELOG.md +0 -407
  155. data/vendor/rails/actionpack/MIT-LICENSE +0 -21
  156. data/vendor/rails/actionpack/README.rdoc +0 -57
  157. data/vendor/rails/actionpack/Rakefile +0 -40
  158. data/vendor/rails/actionpack/actionpack.gemspec +0 -38
  159. data/vendor/rails/actionpack/bin/test +0 -5
  160. data/vendor/rails/actionpack/lib/abstract_controller.rb +0 -27
  161. data/vendor/rails/actionpack/lib/abstract_controller/asset_paths.rb +0 -12
  162. data/vendor/rails/actionpack/lib/abstract_controller/base.rb +0 -265
  163. data/vendor/rails/actionpack/lib/abstract_controller/caching.rb +0 -66
  164. data/vendor/rails/actionpack/lib/abstract_controller/caching/fragments.rb +0 -166
  165. data/vendor/rails/actionpack/lib/abstract_controller/callbacks.rb +0 -212
  166. data/vendor/rails/actionpack/lib/abstract_controller/collector.rb +0 -43
  167. data/vendor/rails/actionpack/lib/abstract_controller/error.rb +0 -6
  168. data/vendor/rails/actionpack/lib/abstract_controller/helpers.rb +0 -194
  169. data/vendor/rails/actionpack/lib/abstract_controller/logger.rb +0 -14
  170. data/vendor/rails/actionpack/lib/abstract_controller/railties/routes_helpers.rb +0 -20
  171. data/vendor/rails/actionpack/lib/abstract_controller/rendering.rb +0 -127
  172. data/vendor/rails/actionpack/lib/abstract_controller/translation.rb +0 -31
  173. data/vendor/rails/actionpack/lib/abstract_controller/url_for.rb +0 -35
  174. data/vendor/rails/actionpack/lib/action_controller.rb +0 -66
  175. data/vendor/rails/actionpack/lib/action_controller/api.rb +0 -149
  176. data/vendor/rails/actionpack/lib/action_controller/api/api_rendering.rb +0 -16
  177. data/vendor/rails/actionpack/lib/action_controller/base.rb +0 -276
  178. data/vendor/rails/actionpack/lib/action_controller/caching.rb +0 -46
  179. data/vendor/rails/actionpack/lib/action_controller/form_builder.rb +0 -50
  180. data/vendor/rails/actionpack/lib/action_controller/log_subscriber.rb +0 -78
  181. data/vendor/rails/actionpack/lib/action_controller/metal.rb +0 -256
  182. data/vendor/rails/actionpack/lib/action_controller/metal/basic_implicit_render.rb +0 -13
  183. data/vendor/rails/actionpack/lib/action_controller/metal/conditional_get.rb +0 -274
  184. data/vendor/rails/actionpack/lib/action_controller/metal/content_security_policy.rb +0 -52
  185. data/vendor/rails/actionpack/lib/action_controller/metal/cookies.rb +0 -16
  186. data/vendor/rails/actionpack/lib/action_controller/metal/data_streaming.rb +0 -152
  187. data/vendor/rails/actionpack/lib/action_controller/metal/etag_with_flash.rb +0 -18
  188. data/vendor/rails/actionpack/lib/action_controller/metal/etag_with_template_digest.rb +0 -57
  189. data/vendor/rails/actionpack/lib/action_controller/metal/exceptions.rb +0 -53
  190. data/vendor/rails/actionpack/lib/action_controller/metal/flash.rb +0 -61
  191. data/vendor/rails/actionpack/lib/action_controller/metal/force_ssl.rb +0 -99
  192. data/vendor/rails/actionpack/lib/action_controller/metal/head.rb +0 -60
  193. data/vendor/rails/actionpack/lib/action_controller/metal/helpers.rb +0 -123
  194. data/vendor/rails/actionpack/lib/action_controller/metal/http_authentication.rb +0 -519
  195. data/vendor/rails/actionpack/lib/action_controller/metal/implicit_render.rb +0 -73
  196. data/vendor/rails/actionpack/lib/action_controller/metal/instrumentation.rb +0 -107
  197. data/vendor/rails/actionpack/lib/action_controller/metal/live.rb +0 -312
  198. data/vendor/rails/actionpack/lib/action_controller/metal/mime_responds.rb +0 -313
  199. data/vendor/rails/actionpack/lib/action_controller/metal/parameter_encoding.rb +0 -51
  200. data/vendor/rails/actionpack/lib/action_controller/metal/params_wrapper.rb +0 -293
  201. data/vendor/rails/actionpack/lib/action_controller/metal/redirecting.rb +0 -133
  202. data/vendor/rails/actionpack/lib/action_controller/metal/renderers.rb +0 -181
  203. data/vendor/rails/actionpack/lib/action_controller/metal/rendering.rb +0 -122
  204. data/vendor/rails/actionpack/lib/action_controller/metal/request_forgery_protection.rb +0 -445
  205. data/vendor/rails/actionpack/lib/action_controller/metal/rescue.rb +0 -28
  206. data/vendor/rails/actionpack/lib/action_controller/metal/streaming.rb +0 -223
  207. data/vendor/rails/actionpack/lib/action_controller/metal/strong_parameters.rb +0 -1086
  208. data/vendor/rails/actionpack/lib/action_controller/metal/testing.rb +0 -16
  209. data/vendor/rails/actionpack/lib/action_controller/metal/url_for.rb +0 -58
  210. data/vendor/rails/actionpack/lib/action_controller/railtie.rb +0 -89
  211. data/vendor/rails/actionpack/lib/action_controller/railties/helpers.rb +0 -24
  212. data/vendor/rails/actionpack/lib/action_controller/renderer.rb +0 -117
  213. data/vendor/rails/actionpack/lib/action_controller/template_assertions.rb +0 -11
  214. data/vendor/rails/actionpack/lib/action_controller/test_case.rb +0 -629
  215. data/vendor/rails/actionpack/lib/action_dispatch.rb +0 -112
  216. data/vendor/rails/actionpack/lib/action_dispatch/http/cache.rb +0 -220
  217. data/vendor/rails/actionpack/lib/action_dispatch/http/content_security_policy.rb +0 -272
  218. data/vendor/rails/actionpack/lib/action_dispatch/http/filter_parameters.rb +0 -84
  219. data/vendor/rails/actionpack/lib/action_dispatch/http/filter_redirect.rb +0 -37
  220. data/vendor/rails/actionpack/lib/action_dispatch/http/headers.rb +0 -132
  221. data/vendor/rails/actionpack/lib/action_dispatch/http/mime_negotiation.rb +0 -170
  222. data/vendor/rails/actionpack/lib/action_dispatch/http/mime_type.rb +0 -342
  223. data/vendor/rails/actionpack/lib/action_dispatch/http/mime_types.rb +0 -50
  224. data/vendor/rails/actionpack/lib/action_dispatch/http/parameter_filter.rb +0 -86
  225. data/vendor/rails/actionpack/lib/action_dispatch/http/parameters.rb +0 -126
  226. data/vendor/rails/actionpack/lib/action_dispatch/http/rack_cache.rb +0 -63
  227. data/vendor/rails/actionpack/lib/action_dispatch/http/request.rb +0 -430
  228. data/vendor/rails/actionpack/lib/action_dispatch/http/response.rb +0 -520
  229. data/vendor/rails/actionpack/lib/action_dispatch/http/upload.rb +0 -84
  230. data/vendor/rails/actionpack/lib/action_dispatch/http/url.rb +0 -350
  231. data/vendor/rails/actionpack/lib/action_dispatch/journey.rb +0 -7
  232. data/vendor/rails/actionpack/lib/action_dispatch/journey/formatter.rb +0 -189
  233. data/vendor/rails/actionpack/lib/action_dispatch/journey/gtg/builder.rb +0 -164
  234. data/vendor/rails/actionpack/lib/action_dispatch/journey/gtg/simulator.rb +0 -41
  235. data/vendor/rails/actionpack/lib/action_dispatch/journey/gtg/transition_table.rb +0 -158
  236. data/vendor/rails/actionpack/lib/action_dispatch/journey/nfa/builder.rb +0 -78
  237. data/vendor/rails/actionpack/lib/action_dispatch/journey/nfa/dot.rb +0 -36
  238. data/vendor/rails/actionpack/lib/action_dispatch/journey/nfa/simulator.rb +0 -49
  239. data/vendor/rails/actionpack/lib/action_dispatch/journey/nfa/transition_table.rb +0 -120
  240. data/vendor/rails/actionpack/lib/action_dispatch/journey/nodes/node.rb +0 -140
  241. data/vendor/rails/actionpack/lib/action_dispatch/journey/parser.rb +0 -199
  242. data/vendor/rails/actionpack/lib/action_dispatch/journey/parser.y +0 -50
  243. data/vendor/rails/actionpack/lib/action_dispatch/journey/parser_extras.rb +0 -31
  244. data/vendor/rails/actionpack/lib/action_dispatch/journey/path/pattern.rb +0 -198
  245. data/vendor/rails/actionpack/lib/action_dispatch/journey/route.rb +0 -203
  246. data/vendor/rails/actionpack/lib/action_dispatch/journey/router.rb +0 -156
  247. data/vendor/rails/actionpack/lib/action_dispatch/journey/router/utils.rb +0 -102
  248. data/vendor/rails/actionpack/lib/action_dispatch/journey/routes.rb +0 -82
  249. data/vendor/rails/actionpack/lib/action_dispatch/journey/scanner.rb +0 -64
  250. data/vendor/rails/actionpack/lib/action_dispatch/journey/visitors.rb +0 -268
  251. data/vendor/rails/actionpack/lib/action_dispatch/journey/visualizer/fsm.css +0 -30
  252. data/vendor/rails/actionpack/lib/action_dispatch/journey/visualizer/fsm.js +0 -134
  253. data/vendor/rails/actionpack/lib/action_dispatch/journey/visualizer/index.html.erb +0 -52
  254. data/vendor/rails/actionpack/lib/action_dispatch/middleware/callbacks.rb +0 -36
  255. data/vendor/rails/actionpack/lib/action_dispatch/middleware/cookies.rb +0 -685
  256. data/vendor/rails/actionpack/lib/action_dispatch/middleware/debug_exceptions.rb +0 -205
  257. data/vendor/rails/actionpack/lib/action_dispatch/middleware/debug_locks.rb +0 -124
  258. data/vendor/rails/actionpack/lib/action_dispatch/middleware/exception_wrapper.rb +0 -147
  259. data/vendor/rails/actionpack/lib/action_dispatch/middleware/executor.rb +0 -21
  260. data/vendor/rails/actionpack/lib/action_dispatch/middleware/flash.rb +0 -300
  261. data/vendor/rails/actionpack/lib/action_dispatch/middleware/public_exceptions.rb +0 -57
  262. data/vendor/rails/actionpack/lib/action_dispatch/middleware/reloader.rb +0 -12
  263. data/vendor/rails/actionpack/lib/action_dispatch/middleware/remote_ip.rb +0 -183
  264. data/vendor/rails/actionpack/lib/action_dispatch/middleware/request_id.rb +0 -43
  265. data/vendor/rails/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb +0 -92
  266. data/vendor/rails/actionpack/lib/action_dispatch/middleware/session/cache_store.rb +0 -54
  267. data/vendor/rails/actionpack/lib/action_dispatch/middleware/session/cookie_store.rb +0 -117
  268. data/vendor/rails/actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb +0 -28
  269. data/vendor/rails/actionpack/lib/action_dispatch/middleware/show_exceptions.rb +0 -62
  270. data/vendor/rails/actionpack/lib/action_dispatch/middleware/ssl.rb +0 -150
  271. data/vendor/rails/actionpack/lib/action_dispatch/middleware/stack.rb +0 -116
  272. data/vendor/rails/actionpack/lib/action_dispatch/middleware/static.rb +0 -130
  273. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb +0 -22
  274. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/_request_and_response.text.erb +0 -23
  275. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/_source.html.erb +0 -27
  276. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/_source.text.erb +0 -8
  277. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb +0 -52
  278. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/_trace.text.erb +0 -9
  279. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb +0 -16
  280. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/diagnostics.text.erb +0 -9
  281. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/invalid_statement.html.erb +0 -21
  282. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/invalid_statement.text.erb +0 -13
  283. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/layout.erb +0 -161
  284. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/missing_template.html.erb +0 -11
  285. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/missing_template.text.erb +0 -3
  286. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb +0 -32
  287. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/routing_error.text.erb +0 -11
  288. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb +0 -20
  289. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/template_error.text.erb +0 -7
  290. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb +0 -6
  291. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/rescues/unknown_action.text.erb +0 -3
  292. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/routes/_route.html.erb +0 -16
  293. data/vendor/rails/actionpack/lib/action_dispatch/middleware/templates/routes/_table.html.erb +0 -200
  294. data/vendor/rails/actionpack/lib/action_dispatch/railtie.rb +0 -55
  295. data/vendor/rails/actionpack/lib/action_dispatch/request/session.rb +0 -234
  296. data/vendor/rails/actionpack/lib/action_dispatch/request/utils.rb +0 -78
  297. data/vendor/rails/actionpack/lib/action_dispatch/routing.rb +0 -260
  298. data/vendor/rails/actionpack/lib/action_dispatch/routing/endpoint.rb +0 -17
  299. data/vendor/rails/actionpack/lib/action_dispatch/routing/inspector.rb +0 -225
  300. data/vendor/rails/actionpack/lib/action_dispatch/routing/mapper.rb +0 -2267
  301. data/vendor/rails/actionpack/lib/action_dispatch/routing/polymorphic_routes.rb +0 -352
  302. data/vendor/rails/actionpack/lib/action_dispatch/routing/redirection.rb +0 -201
  303. data/vendor/rails/actionpack/lib/action_dispatch/routing/route_set.rb +0 -890
  304. data/vendor/rails/actionpack/lib/action_dispatch/routing/routes_proxy.rb +0 -69
  305. data/vendor/rails/actionpack/lib/action_dispatch/routing/url_for.rb +0 -236
  306. data/vendor/rails/actionpack/lib/action_dispatch/system_test_case.rb +0 -147
  307. data/vendor/rails/actionpack/lib/action_dispatch/system_testing/browser.rb +0 -49
  308. data/vendor/rails/actionpack/lib/action_dispatch/system_testing/driver.rb +0 -59
  309. data/vendor/rails/actionpack/lib/action_dispatch/system_testing/server.rb +0 -31
  310. data/vendor/rails/actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb +0 -96
  311. data/vendor/rails/actionpack/lib/action_dispatch/system_testing/test_helpers/setup_and_teardown.rb +0 -31
  312. data/vendor/rails/actionpack/lib/action_dispatch/system_testing/test_helpers/undef_methods.rb +0 -26
  313. data/vendor/rails/actionpack/lib/action_dispatch/testing/assertion_response.rb +0 -47
  314. data/vendor/rails/actionpack/lib/action_dispatch/testing/assertions.rb +0 -24
  315. data/vendor/rails/actionpack/lib/action_dispatch/testing/assertions/response.rb +0 -107
  316. data/vendor/rails/actionpack/lib/action_dispatch/testing/assertions/routing.rb +0 -222
  317. data/vendor/rails/actionpack/lib/action_dispatch/testing/integration.rb +0 -652
  318. data/vendor/rails/actionpack/lib/action_dispatch/testing/request_encoder.rb +0 -55
  319. data/vendor/rails/actionpack/lib/action_dispatch/testing/test_process.rb +0 -50
  320. data/vendor/rails/actionpack/lib/action_dispatch/testing/test_request.rb +0 -71
  321. data/vendor/rails/actionpack/lib/action_dispatch/testing/test_response.rb +0 -53
  322. data/vendor/rails/actionpack/lib/action_pack.rb +0 -26
  323. data/vendor/rails/actionpack/lib/action_pack/gem_version.rb +0 -17
  324. data/vendor/rails/actionpack/lib/action_pack/version.rb +0 -10
  325. data/vendor/rails/actionpack/test/abstract/callbacks_test.rb +0 -270
  326. data/vendor/rails/actionpack/test/abstract/collector_test.rb +0 -65
  327. data/vendor/rails/actionpack/test/abstract/translation_test.rb +0 -79
  328. data/vendor/rails/actionpack/test/abstract_unit.rb +0 -457
  329. data/vendor/rails/actionpack/test/assertions/response_assertions_test.rb +0 -141
  330. data/vendor/rails/actionpack/test/controller/action_pack_assertions_test.rb +0 -493
  331. data/vendor/rails/actionpack/test/controller/api/conditional_get_test.rb +0 -59
  332. data/vendor/rails/actionpack/test/controller/api/data_streaming_test.rb +0 -28
  333. data/vendor/rails/actionpack/test/controller/api/force_ssl_test.rb +0 -22
  334. data/vendor/rails/actionpack/test/controller/api/implicit_render_test.rb +0 -17
  335. data/vendor/rails/actionpack/test/controller/api/params_wrapper_test.rb +0 -28
  336. data/vendor/rails/actionpack/test/controller/api/redirect_to_test.rb +0 -21
  337. data/vendor/rails/actionpack/test/controller/api/renderers_test.rb +0 -50
  338. data/vendor/rails/actionpack/test/controller/api/url_for_test.rb +0 -22
  339. data/vendor/rails/actionpack/test/controller/api/with_cookies_test.rb +0 -23
  340. data/vendor/rails/actionpack/test/controller/api/with_helpers_test.rb +0 -44
  341. data/vendor/rails/actionpack/test/controller/base_test.rb +0 -323
  342. data/vendor/rails/actionpack/test/controller/caching_test.rb +0 -511
  343. data/vendor/rails/actionpack/test/controller/content_type_test.rb +0 -169
  344. data/vendor/rails/actionpack/test/controller/controller_fixtures/app/controllers/admin/user_controller.rb +0 -0
  345. data/vendor/rails/actionpack/test/controller/controller_fixtures/app/controllers/user_controller.rb +0 -0
  346. data/vendor/rails/actionpack/test/controller/controller_fixtures/vendor/plugins/bad_plugin/lib/plugin_controller.rb +0 -0
  347. data/vendor/rails/actionpack/test/controller/default_url_options_with_before_action_test.rb +0 -28
  348. data/vendor/rails/actionpack/test/controller/filters_test.rb +0 -1050
  349. data/vendor/rails/actionpack/test/controller/flash_hash_test.rb +0 -216
  350. data/vendor/rails/actionpack/test/controller/flash_test.rb +0 -373
  351. data/vendor/rails/actionpack/test/controller/force_ssl_test.rb +0 -333
  352. data/vendor/rails/actionpack/test/controller/form_builder_test.rb +0 -19
  353. data/vendor/rails/actionpack/test/controller/helper_test.rb +0 -295
  354. data/vendor/rails/actionpack/test/controller/http_basic_authentication_test.rb +0 -179
  355. data/vendor/rails/actionpack/test/controller/http_digest_authentication_test.rb +0 -282
  356. data/vendor/rails/actionpack/test/controller/http_token_authentication_test.rb +0 -216
  357. data/vendor/rails/actionpack/test/controller/integration_test.rb +0 -1136
  358. data/vendor/rails/actionpack/test/controller/live_stream_test.rb +0 -518
  359. data/vendor/rails/actionpack/test/controller/localized_templates_test.rb +0 -48
  360. data/vendor/rails/actionpack/test/controller/log_subscriber_test.rb +0 -371
  361. data/vendor/rails/actionpack/test/controller/metal/renderers_test.rb +0 -50
  362. data/vendor/rails/actionpack/test/controller/metal_test.rb +0 -32
  363. data/vendor/rails/actionpack/test/controller/mime/accept_format_test.rb +0 -94
  364. data/vendor/rails/actionpack/test/controller/mime/respond_to_test.rb +0 -843
  365. data/vendor/rails/actionpack/test/controller/new_base/bare_metal_test.rb +0 -184
  366. data/vendor/rails/actionpack/test/controller/new_base/base_test.rb +0 -131
  367. data/vendor/rails/actionpack/test/controller/new_base/content_negotiation_test.rb +0 -28
  368. data/vendor/rails/actionpack/test/controller/new_base/content_type_test.rb +0 -116
  369. data/vendor/rails/actionpack/test/controller/new_base/middleware_test.rb +0 -112
  370. data/vendor/rails/actionpack/test/controller/new_base/render_action_test.rb +0 -314
  371. data/vendor/rails/actionpack/test/controller/new_base/render_body_test.rb +0 -172
  372. data/vendor/rails/actionpack/test/controller/new_base/render_context_test.rb +0 -54
  373. data/vendor/rails/actionpack/test/controller/new_base/render_file_test.rb +0 -72
  374. data/vendor/rails/actionpack/test/controller/new_base/render_html_test.rb +0 -192
  375. data/vendor/rails/actionpack/test/controller/new_base/render_implicit_action_test.rb +0 -59
  376. data/vendor/rails/actionpack/test/controller/new_base/render_layout_test.rb +0 -128
  377. data/vendor/rails/actionpack/test/controller/new_base/render_partial_test.rb +0 -62
  378. data/vendor/rails/actionpack/test/controller/new_base/render_plain_test.rb +0 -170
  379. data/vendor/rails/actionpack/test/controller/new_base/render_streaming_test.rb +0 -116
  380. data/vendor/rails/actionpack/test/controller/new_base/render_template_test.rb +0 -240
  381. data/vendor/rails/actionpack/test/controller/new_base/render_test.rb +0 -142
  382. data/vendor/rails/actionpack/test/controller/new_base/render_xml_test.rb +0 -12
  383. data/vendor/rails/actionpack/test/controller/output_escaping_test.rb +0 -17
  384. data/vendor/rails/actionpack/test/controller/parameter_encoding_test.rb +0 -52
  385. data/vendor/rails/actionpack/test/controller/parameters/accessors_test.rb +0 -324
  386. data/vendor/rails/actionpack/test/controller/parameters/always_permitted_parameters_test.rb +0 -30
  387. data/vendor/rails/actionpack/test/controller/parameters/dup_test.rb +0 -67
  388. data/vendor/rails/actionpack/test/controller/parameters/log_on_unpermitted_params_test.rb +0 -70
  389. data/vendor/rails/actionpack/test/controller/parameters/multi_parameter_attributes_test.rb +0 -39
  390. data/vendor/rails/actionpack/test/controller/parameters/mutators_test.rb +0 -122
  391. data/vendor/rails/actionpack/test/controller/parameters/nested_parameters_permit_test.rb +0 -184
  392. data/vendor/rails/actionpack/test/controller/parameters/parameters_permit_test.rb +0 -516
  393. data/vendor/rails/actionpack/test/controller/parameters/raise_on_unpermitted_params_test.rb +0 -33
  394. data/vendor/rails/actionpack/test/controller/parameters/serialization_test.rb +0 -55
  395. data/vendor/rails/actionpack/test/controller/params_wrapper_test.rb +0 -422
  396. data/vendor/rails/actionpack/test/controller/permitted_params_test.rb +0 -27
  397. data/vendor/rails/actionpack/test/controller/redirect_test.rb +0 -395
  398. data/vendor/rails/actionpack/test/controller/render_js_test.rb +0 -36
  399. data/vendor/rails/actionpack/test/controller/render_json_test.rb +0 -137
  400. data/vendor/rails/actionpack/test/controller/render_test.rb +0 -843
  401. data/vendor/rails/actionpack/test/controller/render_xml_test.rb +0 -102
  402. data/vendor/rails/actionpack/test/controller/renderer_test.rb +0 -136
  403. data/vendor/rails/actionpack/test/controller/renderers_test.rb +0 -91
  404. data/vendor/rails/actionpack/test/controller/request/test_request_test.rb +0 -42
  405. data/vendor/rails/actionpack/test/controller/request_forgery_protection_test.rb +0 -1013
  406. data/vendor/rails/actionpack/test/controller/required_params_test.rb +0 -100
  407. data/vendor/rails/actionpack/test/controller/rescue_test.rb +0 -364
  408. data/vendor/rails/actionpack/test/controller/resources_test.rb +0 -1369
  409. data/vendor/rails/actionpack/test/controller/routing_test.rb +0 -2108
  410. data/vendor/rails/actionpack/test/controller/runner_test.rb +0 -24
  411. data/vendor/rails/actionpack/test/controller/send_file_test.rb +0 -259
  412. data/vendor/rails/actionpack/test/controller/show_exceptions_test.rb +0 -114
  413. data/vendor/rails/actionpack/test/controller/streaming_test.rb +0 -28
  414. data/vendor/rails/actionpack/test/controller/test_case_test.rb +0 -1157
  415. data/vendor/rails/actionpack/test/controller/url_for_integration_test.rb +0 -192
  416. data/vendor/rails/actionpack/test/controller/url_for_test.rb +0 -519
  417. data/vendor/rails/actionpack/test/controller/url_rewriter_test.rb +0 -92
  418. data/vendor/rails/actionpack/test/controller/webservice_test.rb +0 -135
  419. data/vendor/rails/actionpack/test/dispatch/callbacks_test.rb +0 -47
  420. data/vendor/rails/actionpack/test/dispatch/content_security_policy_test.rb +0 -525
  421. data/vendor/rails/actionpack/test/dispatch/cookies_test.rb +0 -1345
  422. data/vendor/rails/actionpack/test/dispatch/debug_exceptions_test.rb +0 -502
  423. data/vendor/rails/actionpack/test/dispatch/debug_locks_test.rb +0 -38
  424. data/vendor/rails/actionpack/test/dispatch/exception_wrapper_test.rb +0 -120
  425. data/vendor/rails/actionpack/test/dispatch/executor_test.rb +0 -136
  426. data/vendor/rails/actionpack/test/dispatch/header_test.rb +0 -169
  427. data/vendor/rails/actionpack/test/dispatch/live_response_test.rb +0 -98
  428. data/vendor/rails/actionpack/test/dispatch/mapper_test.rb +0 -210
  429. data/vendor/rails/actionpack/test/dispatch/middleware_stack_test.rb +0 -115
  430. data/vendor/rails/actionpack/test/dispatch/mime_type_test.rb +0 -187
  431. data/vendor/rails/actionpack/test/dispatch/mount_test.rb +0 -95
  432. data/vendor/rails/actionpack/test/dispatch/prefix_generation_test.rb +0 -463
  433. data/vendor/rails/actionpack/test/dispatch/rack_cache_test.rb +0 -23
  434. data/vendor/rails/actionpack/test/dispatch/reloader_test.rb +0 -167
  435. data/vendor/rails/actionpack/test/dispatch/request/json_params_parsing_test.rb +0 -207
  436. data/vendor/rails/actionpack/test/dispatch/request/multipart_params_parsing_test.rb +0 -202
  437. data/vendor/rails/actionpack/test/dispatch/request/query_string_parsing_test.rb +0 -176
  438. data/vendor/rails/actionpack/test/dispatch/request/session_test.rb +0 -165
  439. data/vendor/rails/actionpack/test/dispatch/request/url_encoded_params_parsing_test.rb +0 -181
  440. data/vendor/rails/actionpack/test/dispatch/request_id_test.rb +0 -75
  441. data/vendor/rails/actionpack/test/dispatch/request_test.rb +0 -1307
  442. data/vendor/rails/actionpack/test/dispatch/response_test.rb +0 -542
  443. data/vendor/rails/actionpack/test/dispatch/routing/concerns_test.rb +0 -124
  444. data/vendor/rails/actionpack/test/dispatch/routing/custom_url_helpers_test.rb +0 -333
  445. data/vendor/rails/actionpack/test/dispatch/routing/inspector_test.rb +0 -425
  446. data/vendor/rails/actionpack/test/dispatch/routing/ipv6_redirect_test.rb +0 -46
  447. data/vendor/rails/actionpack/test/dispatch/routing/route_set_test.rb +0 -166
  448. data/vendor/rails/actionpack/test/dispatch/routing_assertions_test.rb +0 -209
  449. data/vendor/rails/actionpack/test/dispatch/routing_test.rb +0 -5112
  450. data/vendor/rails/actionpack/test/dispatch/runner_test.rb +0 -19
  451. data/vendor/rails/actionpack/test/dispatch/session/abstract_store_test.rb +0 -58
  452. data/vendor/rails/actionpack/test/dispatch/session/cache_store_test.rb +0 -183
  453. data/vendor/rails/actionpack/test/dispatch/session/cookie_store_test.rb +0 -417
  454. data/vendor/rails/actionpack/test/dispatch/session/mem_cache_store_test.rb +0 -205
  455. data/vendor/rails/actionpack/test/dispatch/session/test_session_test.rb +0 -65
  456. data/vendor/rails/actionpack/test/dispatch/show_exceptions_test.rb +0 -138
  457. data/vendor/rails/actionpack/test/dispatch/ssl_test.rb +0 -228
  458. data/vendor/rails/actionpack/test/dispatch/static_test.rb +0 -318
  459. data/vendor/rails/actionpack/test/dispatch/system_testing/driver_test.rb +0 -54
  460. data/vendor/rails/actionpack/test/dispatch/system_testing/screenshot_helper_test.rb +0 -81
  461. data/vendor/rails/actionpack/test/dispatch/system_testing/server_test.rb +0 -32
  462. data/vendor/rails/actionpack/test/dispatch/system_testing/system_test_case_test.rb +0 -84
  463. data/vendor/rails/actionpack/test/dispatch/test_request_test.rb +0 -131
  464. data/vendor/rails/actionpack/test/dispatch/test_response_test.rb +0 -37
  465. data/vendor/rails/actionpack/test/dispatch/uploaded_file_test.rb +0 -113
  466. data/vendor/rails/actionpack/test/dispatch/url_generation_test.rb +0 -141
  467. data/vendor/rails/actionpack/test/fixtures/_top_level_partial_only.erb +0 -1
  468. data/vendor/rails/actionpack/test/fixtures/alternate_helpers/foo_helper.rb +0 -5
  469. data/vendor/rails/actionpack/test/fixtures/bad_customers/_bad_customer.html.erb +0 -1
  470. data/vendor/rails/actionpack/test/fixtures/collection_cache/index.html.erb +0 -1
  471. data/vendor/rails/actionpack/test/fixtures/company.rb +0 -11
  472. data/vendor/rails/actionpack/test/fixtures/customers/_commented_customer.html.erb +0 -5
  473. data/vendor/rails/actionpack/test/fixtures/customers/_customer.html.erb +0 -4
  474. data/vendor/rails/actionpack/test/fixtures/filter_test/implicit_actions/edit.html.erb +0 -1
  475. data/vendor/rails/actionpack/test/fixtures/filter_test/implicit_actions/show.html.erb +0 -1
  476. data/vendor/rails/actionpack/test/fixtures/functional_caching/_formatted_partial.html.erb +0 -1
  477. data/vendor/rails/actionpack/test/fixtures/functional_caching/_partial.erb +0 -3
  478. data/vendor/rails/actionpack/test/fixtures/functional_caching/formatted_fragment_cached.html.erb +0 -3
  479. data/vendor/rails/actionpack/test/fixtures/functional_caching/formatted_fragment_cached.xml.builder +0 -5
  480. data/vendor/rails/actionpack/test/fixtures/functional_caching/formatted_fragment_cached_with_variant.html+phone.erb +0 -3
  481. data/vendor/rails/actionpack/test/fixtures/functional_caching/fragment_cached.html.erb +0 -3
  482. data/vendor/rails/actionpack/test/fixtures/functional_caching/fragment_cached_with_options.html.erb +0 -3
  483. data/vendor/rails/actionpack/test/fixtures/functional_caching/fragment_cached_without_digest.html.erb +0 -3
  484. data/vendor/rails/actionpack/test/fixtures/functional_caching/html_fragment_cached_with_partial.html.erb +0 -1
  485. data/vendor/rails/actionpack/test/fixtures/functional_caching/inline_fragment_cached.html.erb +0 -2
  486. data/vendor/rails/actionpack/test/fixtures/functional_caching/xml_fragment_cached_with_html_partial.xml.builder +0 -5
  487. data/vendor/rails/actionpack/test/fixtures/helpers/abc_helper.rb +0 -5
  488. data/vendor/rails/actionpack/test/fixtures/helpers/fun/games_helper.rb +0 -7
  489. data/vendor/rails/actionpack/test/fixtures/helpers/fun/pdf_helper.rb +0 -7
  490. data/vendor/rails/actionpack/test/fixtures/helpers/just_me_helper.rb +0 -5
  491. data/vendor/rails/actionpack/test/fixtures/helpers/me_too_helper.rb +0 -5
  492. data/vendor/rails/actionpack/test/fixtures/helpers1_pack/pack1_helper.rb +0 -7
  493. data/vendor/rails/actionpack/test/fixtures/helpers2_pack/pack2_helper.rb +0 -7
  494. data/vendor/rails/actionpack/test/fixtures/helpers_typo/admin/users_helper.rb +0 -6
  495. data/vendor/rails/actionpack/test/fixtures/implicit_render_test/empty_action_with_mobile_variant.html+mobile.erb +0 -1
  496. data/vendor/rails/actionpack/test/fixtures/implicit_render_test/empty_action_with_template.html.erb +0 -1
  497. data/vendor/rails/actionpack/test/fixtures/layouts/_customers.erb +0 -1
  498. data/vendor/rails/actionpack/test/fixtures/layouts/block_with_layout.erb +0 -3
  499. data/vendor/rails/actionpack/test/fixtures/layouts/builder.builder +0 -3
  500. data/vendor/rails/actionpack/test/fixtures/layouts/partial_with_layout.erb +0 -3
  501. data/vendor/rails/actionpack/test/fixtures/layouts/standard.html.erb +0 -1
  502. data/vendor/rails/actionpack/test/fixtures/layouts/talk_from_action.erb +0 -2
  503. data/vendor/rails/actionpack/test/fixtures/layouts/with_html_partial.html.erb +0 -1
  504. data/vendor/rails/actionpack/test/fixtures/layouts/xhr.html.erb +0 -2
  505. data/vendor/rails/actionpack/test/fixtures/layouts/yield.erb +0 -2
  506. data/vendor/rails/actionpack/test/fixtures/load_me.rb +0 -4
  507. data/vendor/rails/actionpack/test/fixtures/localized/hello_world.de.html +0 -1
  508. data/vendor/rails/actionpack/test/fixtures/localized/hello_world.en.html +0 -1
  509. data/vendor/rails/actionpack/test/fixtures/localized/hello_world.it.erb +0 -1
  510. data/vendor/rails/actionpack/test/fixtures/multipart/binary_file +0 -0
  511. data/vendor/rails/actionpack/test/fixtures/multipart/boundary_problem_file +0 -10
  512. data/vendor/rails/actionpack/test/fixtures/multipart/bracketed_param +0 -5
  513. data/vendor/rails/actionpack/test/fixtures/multipart/bracketed_utf8_param +0 -5
  514. data/vendor/rails/actionpack/test/fixtures/multipart/empty +0 -10
  515. data/vendor/rails/actionpack/test/fixtures/multipart/hello.txt +0 -1
  516. data/vendor/rails/actionpack/test/fixtures/multipart/large_text_file +0 -10
  517. data/vendor/rails/actionpack/test/fixtures/multipart/mixed_files +0 -0
  518. data/vendor/rails/actionpack/test/fixtures/multipart/none +0 -9
  519. data/vendor/rails/actionpack/test/fixtures/multipart/ruby_on_rails.jpg +0 -0
  520. data/vendor/rails/actionpack/test/fixtures/multipart/single_parameter +0 -5
  521. data/vendor/rails/actionpack/test/fixtures/multipart/single_utf8_param +0 -5
  522. data/vendor/rails/actionpack/test/fixtures/multipart/text_file +0 -10
  523. data/vendor/rails/actionpack/test/fixtures/multipart/utf8_filename +0 -10
  524. data/vendor/rails/actionpack/test/fixtures/namespaced/implicit_render_test/hello_world.erb +0 -1
  525. data/vendor/rails/actionpack/test/fixtures/old_content_type/render_default_content_types_for_respond_to.xml.erb +0 -1
  526. data/vendor/rails/actionpack/test/fixtures/old_content_type/render_default_for_builder.builder +0 -1
  527. data/vendor/rails/actionpack/test/fixtures/old_content_type/render_default_for_erb.erb +0 -1
  528. data/vendor/rails/actionpack/test/fixtures/post_test/layouts/post.html.erb +0 -1
  529. data/vendor/rails/actionpack/test/fixtures/post_test/layouts/super_post.iphone.erb +0 -1
  530. data/vendor/rails/actionpack/test/fixtures/post_test/post/index.html.erb +0 -1
  531. data/vendor/rails/actionpack/test/fixtures/post_test/post/index.iphone.erb +0 -1
  532. data/vendor/rails/actionpack/test/fixtures/post_test/super_post/index.html.erb +0 -1
  533. data/vendor/rails/actionpack/test/fixtures/post_test/super_post/index.iphone.erb +0 -1
  534. data/vendor/rails/actionpack/test/fixtures/public/400.html +0 -1
  535. data/vendor/rails/actionpack/test/fixtures/public/404.html +0 -1
  536. data/vendor/rails/actionpack/test/fixtures/public/500.da.html +0 -1
  537. data/vendor/rails/actionpack/test/fixtures/public/500.html +0 -1
  538. data/vendor/rails/actionpack/test/fixtures/public/bar.html +0 -1
  539. data/vendor/rails/actionpack/test/fixtures/public/bar/index.html +0 -1
  540. data/vendor/rails/actionpack/test/fixtures/public/foo/bar.html +0 -1
  541. data/vendor/rails/actionpack/test/fixtures/public/foo/baz.css +0 -3
  542. data/vendor/rails/actionpack/test/fixtures/public/foo/index.html +0 -1
  543. data/vendor/rails/actionpack/test/fixtures/public/foo/other-index.html +0 -1
  544. data/vendor/rails/actionpack/test/fixtures/public/foo//343/201/223/343/202/223/343/201/253/343/201/241/343/201/257.html +0 -1
  545. data/vendor/rails/actionpack/test/fixtures/public/foo//343/201/225/343/202/210/343/201/206/343/201/252/343/202/211.html +0 -1
  546. data/vendor/rails/actionpack/test/fixtures/public/foo//343/201/225/343/202/210/343/201/206/343/201/252/343/202/211.html.gz +0 -0
  547. data/vendor/rails/actionpack/test/fixtures/public/gzip/application-a71b3024f80aea3181c09774ca17e712.js +0 -4
  548. data/vendor/rails/actionpack/test/fixtures/public/gzip/application-a71b3024f80aea3181c09774ca17e712.js.gz +0 -0
  549. data/vendor/rails/actionpack/test/fixtures/public/gzip/foo.zoo +0 -4
  550. data/vendor/rails/actionpack/test/fixtures/public/gzip/foo.zoo.gz +0 -0
  551. data/vendor/rails/actionpack/test/fixtures/public/index.html +0 -1
  552. data/vendor/rails/actionpack/test/fixtures/public/other-index.html +0 -1
  553. data/vendor/rails/actionpack/test/fixtures/respond_to/all_types_with_layout.html.erb +0 -1
  554. data/vendor/rails/actionpack/test/fixtures/respond_to/custom_constant_handling_without_block.mobile.erb +0 -1
  555. data/vendor/rails/actionpack/test/fixtures/respond_to/iphone_with_html_response_type.html.erb +0 -1
  556. data/vendor/rails/actionpack/test/fixtures/respond_to/iphone_with_html_response_type.iphone.erb +0 -1
  557. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/missing.html.erb +0 -1
  558. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.html.erb +0 -1
  559. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.iphone.erb +0 -1
  560. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.html.erb +0 -1
  561. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.xml.builder +0 -1
  562. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_all.html.erb +0 -1
  563. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.html.erb +0 -1
  564. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.xml.builder +0 -1
  565. data/vendor/rails/actionpack/test/fixtures/respond_to/variant_any_implicit_render.html+phablet.erb +0 -1
  566. data/vendor/rails/actionpack/test/fixtures/respond_to/variant_any_implicit_render.html+tablet.erb +0 -1
  567. data/vendor/rails/actionpack/test/fixtures/respond_to/variant_inline_syntax_without_block.html+phone.erb +0 -1
  568. data/vendor/rails/actionpack/test/fixtures/respond_to/variant_plus_none_for_format.html.erb +0 -1
  569. data/vendor/rails/actionpack/test/fixtures/respond_to/variant_with_implicit_template_rendering.html+mobile.erb +0 -1
  570. data/vendor/rails/actionpack/test/fixtures/ruby_template.ruby +0 -2
  571. data/vendor/rails/actionpack/test/fixtures/session_autoload_test/session_autoload_test/foo.rb +0 -12
  572. data/vendor/rails/actionpack/test/fixtures/shared.html.erb +0 -1
  573. data/vendor/rails/actionpack/test/fixtures/star_star_mime/index.js.erb +0 -1
  574. data/vendor/rails/actionpack/test/fixtures/test/_partial.erb +0 -1
  575. data/vendor/rails/actionpack/test/fixtures/test/_partial.html.erb +0 -1
  576. data/vendor/rails/actionpack/test/fixtures/test/_partial.js.erb +0 -1
  577. data/vendor/rails/actionpack/test/fixtures/test/dot.directory/render_file_with_ivar.erb +0 -1
  578. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.builder +0 -1
  579. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.html.erb +0 -1
  580. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.xml.erb +0 -1
  581. data/vendor/rails/actionpack/test/fixtures/test/hello/hello.erb +0 -1
  582. data/vendor/rails/actionpack/test/fixtures/test/hello_world.erb +0 -1
  583. data/vendor/rails/actionpack/test/fixtures/test/hello_world_with_partial.html.erb +0 -2
  584. data/vendor/rails/actionpack/test/fixtures/test/hello_xml_world.builder +0 -11
  585. data/vendor/rails/actionpack/test/fixtures/test/implicit_content_type.atom.builder +0 -2
  586. data/vendor/rails/actionpack/test/fixtures/test/render_file_with_ivar.erb +0 -1
  587. data/vendor/rails/actionpack/test/fixtures/test/render_file_with_locals.erb +0 -1
  588. data/vendor/rails/actionpack/test/fixtures/test/with_implicit_template.erb +0 -1
  589. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/bar.html +0 -1
  590. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/bar/index.html +0 -1
  591. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/foo/bar.html +0 -1
  592. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/foo/baz.css +0 -3
  593. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/foo/index.html +0 -1
  594. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/foo/other-index.html +0 -1
  595. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/foo//343/201/223/343/202/223/343/201/253/343/201/241/343/201/257.html +0 -1
  596. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/foo//343/201/225/343/202/210/343/201/206/343/201/252/343/202/211.html +0 -1
  597. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/foo//343/201/225/343/202/210/343/201/206/343/201/252/343/202/211.html.gz +0 -0
  598. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/gzip/application-a71b3024f80aea3181c09774ca17e712.js +0 -4
  599. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/gzip/application-a71b3024f80aea3181c09774ca17e712.js.gz +0 -0
  600. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/gzip/foo.zoo +0 -4
  601. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/gzip/foo.zoo.gz +0 -0
  602. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/index.html +0 -1
  603. data/vendor/rails/actionpack/test/fixtures//345/205/254/345/205/261/other-index.html +0 -1
  604. data/vendor/rails/actionpack/test/journey/gtg/builder_test.rb +0 -81
  605. data/vendor/rails/actionpack/test/journey/gtg/transition_table_test.rb +0 -125
  606. data/vendor/rails/actionpack/test/journey/nfa/simulator_test.rb +0 -100
  607. data/vendor/rails/actionpack/test/journey/nfa/transition_table_test.rb +0 -74
  608. data/vendor/rails/actionpack/test/journey/nodes/symbol_test.rb +0 -19
  609. data/vendor/rails/actionpack/test/journey/path/pattern_test.rb +0 -286
  610. data/vendor/rails/actionpack/test/journey/route/definition/parser_test.rb +0 -112
  611. data/vendor/rails/actionpack/test/journey/route/definition/scanner_test.rb +0 -71
  612. data/vendor/rails/actionpack/test/journey/route_test.rb +0 -113
  613. data/vendor/rails/actionpack/test/journey/router/utils_test.rb +0 -48
  614. data/vendor/rails/actionpack/test/journey/router_test.rb +0 -544
  615. data/vendor/rails/actionpack/test/journey/routes_test.rb +0 -62
  616. data/vendor/rails/actionpack/test/lib/controller/fake_controllers.rb +0 -37
  617. data/vendor/rails/actionpack/test/lib/controller/fake_models.rb +0 -79
  618. data/vendor/rails/actionpack/test/routing/helper_test.rb +0 -33
  619. data/vendor/rails/actionview/CHANGELOG.md +0 -122
  620. data/vendor/rails/actionview/MIT-LICENSE +0 -21
  621. data/vendor/rails/actionview/README.rdoc +0 -38
  622. data/vendor/rails/actionview/RUNNING_UJS_TESTS.rdoc +0 -8
  623. data/vendor/rails/actionview/RUNNING_UNIT_TESTS.rdoc +0 -26
  624. data/vendor/rails/actionview/Rakefile +0 -136
  625. data/vendor/rails/actionview/actionview.gemspec +0 -38
  626. data/vendor/rails/actionview/app/assets/javascripts/MIT-LICENSE +0 -20
  627. data/vendor/rails/actionview/app/assets/javascripts/README.md +0 -55
  628. data/vendor/rails/actionview/app/assets/javascripts/rails-ujs.coffee +0 -39
  629. data/vendor/rails/actionview/app/assets/javascripts/rails-ujs/BANNER.js +0 -5
  630. data/vendor/rails/actionview/app/assets/javascripts/rails-ujs/features/confirm.coffee +0 -26
  631. data/vendor/rails/actionview/app/assets/javascripts/rails-ujs/features/disable.coffee +0 -82
  632. data/vendor/rails/actionview/app/assets/javascripts/rails-ujs/features/method.coffee +0 -34
  633. data/vendor/rails/actionview/app/assets/javascripts/rails-ujs/features/remote.coffee +0 -90
  634. data/vendor/rails/actionview/app/assets/javascripts/rails-ujs/start.coffee +0 -71
  635. data/vendor/rails/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee +0 -97
  636. data/vendor/rails/actionview/app/assets/javascripts/rails-ujs/utils/csp.coffee +0 -4
  637. data/vendor/rails/actionview/app/assets/javascripts/rails-ujs/utils/csrf.coffee +0 -25
  638. data/vendor/rails/actionview/app/assets/javascripts/rails-ujs/utils/dom.coffee +0 -35
  639. data/vendor/rails/actionview/app/assets/javascripts/rails-ujs/utils/event.coffee +0 -68
  640. data/vendor/rails/actionview/app/assets/javascripts/rails-ujs/utils/form.coffee +0 -36
  641. data/vendor/rails/actionview/bin/test +0 -5
  642. data/vendor/rails/actionview/blade.yml +0 -11
  643. data/vendor/rails/actionview/coffeelint.json +0 -135
  644. data/vendor/rails/actionview/lib/action_view.rb +0 -97
  645. data/vendor/rails/actionview/lib/action_view/base.rb +0 -215
  646. data/vendor/rails/actionview/lib/action_view/buffers.rb +0 -52
  647. data/vendor/rails/actionview/lib/action_view/context.rb +0 -36
  648. data/vendor/rails/actionview/lib/action_view/dependency_tracker.rb +0 -175
  649. data/vendor/rails/actionview/lib/action_view/digestor.rb +0 -136
  650. data/vendor/rails/actionview/lib/action_view/flows.rb +0 -76
  651. data/vendor/rails/actionview/lib/action_view/gem_version.rb +0 -17
  652. data/vendor/rails/actionview/lib/action_view/helpers.rb +0 -68
  653. data/vendor/rails/actionview/lib/action_view/helpers/active_model_helper.rb +0 -55
  654. data/vendor/rails/actionview/lib/action_view/helpers/asset_tag_helper.rb +0 -511
  655. data/vendor/rails/actionview/lib/action_view/helpers/asset_url_helper.rb +0 -469
  656. data/vendor/rails/actionview/lib/action_view/helpers/atom_feed_helper.rb +0 -205
  657. data/vendor/rails/actionview/lib/action_view/helpers/cache_helper.rb +0 -263
  658. data/vendor/rails/actionview/lib/action_view/helpers/capture_helper.rb +0 -212
  659. data/vendor/rails/actionview/lib/action_view/helpers/controller_helper.rb +0 -36
  660. data/vendor/rails/actionview/lib/action_view/helpers/csp_helper.rb +0 -24
  661. data/vendor/rails/actionview/lib/action_view/helpers/csrf_helper.rb +0 -35
  662. data/vendor/rails/actionview/lib/action_view/helpers/date_helper.rb +0 -1156
  663. data/vendor/rails/actionview/lib/action_view/helpers/debug_helper.rb +0 -36
  664. data/vendor/rails/actionview/lib/action_view/helpers/form_helper.rb +0 -2337
  665. data/vendor/rails/actionview/lib/action_view/helpers/form_options_helper.rb +0 -887
  666. data/vendor/rails/actionview/lib/action_view/helpers/form_tag_helper.rb +0 -917
  667. data/vendor/rails/actionview/lib/action_view/helpers/javascript_helper.rb +0 -94
  668. data/vendor/rails/actionview/lib/action_view/helpers/number_helper.rb +0 -451
  669. data/vendor/rails/actionview/lib/action_view/helpers/output_safety_helper.rb +0 -70
  670. data/vendor/rails/actionview/lib/action_view/helpers/record_tag_helper.rb +0 -23
  671. data/vendor/rails/actionview/lib/action_view/helpers/rendering_helper.rb +0 -99
  672. data/vendor/rails/actionview/lib/action_view/helpers/sanitize_helper.rb +0 -177
  673. data/vendor/rails/actionview/lib/action_view/helpers/tag_helper.rb +0 -313
  674. data/vendor/rails/actionview/lib/action_view/helpers/tags.rb +0 -44
  675. data/vendor/rails/actionview/lib/action_view/helpers/tags/base.rb +0 -192
  676. data/vendor/rails/actionview/lib/action_view/helpers/tags/check_box.rb +0 -66
  677. data/vendor/rails/actionview/lib/action_view/helpers/tags/checkable.rb +0 -18
  678. data/vendor/rails/actionview/lib/action_view/helpers/tags/collection_check_boxes.rb +0 -36
  679. data/vendor/rails/actionview/lib/action_view/helpers/tags/collection_helpers.rb +0 -119
  680. data/vendor/rails/actionview/lib/action_view/helpers/tags/collection_radio_buttons.rb +0 -31
  681. data/vendor/rails/actionview/lib/action_view/helpers/tags/collection_select.rb +0 -30
  682. data/vendor/rails/actionview/lib/action_view/helpers/tags/color_field.rb +0 -27
  683. data/vendor/rails/actionview/lib/action_view/helpers/tags/date_field.rb +0 -15
  684. data/vendor/rails/actionview/lib/action_view/helpers/tags/date_select.rb +0 -74
  685. data/vendor/rails/actionview/lib/action_view/helpers/tags/datetime_field.rb +0 -32
  686. data/vendor/rails/actionview/lib/action_view/helpers/tags/datetime_local_field.rb +0 -21
  687. data/vendor/rails/actionview/lib/action_view/helpers/tags/datetime_select.rb +0 -10
  688. data/vendor/rails/actionview/lib/action_view/helpers/tags/email_field.rb +0 -10
  689. data/vendor/rails/actionview/lib/action_view/helpers/tags/file_field.rb +0 -10
  690. data/vendor/rails/actionview/lib/action_view/helpers/tags/grouped_collection_select.rb +0 -31
  691. data/vendor/rails/actionview/lib/action_view/helpers/tags/hidden_field.rb +0 -10
  692. data/vendor/rails/actionview/lib/action_view/helpers/tags/label.rb +0 -81
  693. data/vendor/rails/actionview/lib/action_view/helpers/tags/month_field.rb +0 -15
  694. data/vendor/rails/actionview/lib/action_view/helpers/tags/number_field.rb +0 -20
  695. data/vendor/rails/actionview/lib/action_view/helpers/tags/password_field.rb +0 -14
  696. data/vendor/rails/actionview/lib/action_view/helpers/tags/placeholderable.rb +0 -24
  697. data/vendor/rails/actionview/lib/action_view/helpers/tags/radio_button.rb +0 -33
  698. data/vendor/rails/actionview/lib/action_view/helpers/tags/range_field.rb +0 -10
  699. data/vendor/rails/actionview/lib/action_view/helpers/tags/search_field.rb +0 -27
  700. data/vendor/rails/actionview/lib/action_view/helpers/tags/select.rb +0 -43
  701. data/vendor/rails/actionview/lib/action_view/helpers/tags/tel_field.rb +0 -10
  702. data/vendor/rails/actionview/lib/action_view/helpers/tags/text_area.rb +0 -24
  703. data/vendor/rails/actionview/lib/action_view/helpers/tags/text_field.rb +0 -34
  704. data/vendor/rails/actionview/lib/action_view/helpers/tags/time_field.rb +0 -15
  705. data/vendor/rails/actionview/lib/action_view/helpers/tags/time_select.rb +0 -10
  706. data/vendor/rails/actionview/lib/action_view/helpers/tags/time_zone_select.rb +0 -22
  707. data/vendor/rails/actionview/lib/action_view/helpers/tags/translator.rb +0 -44
  708. data/vendor/rails/actionview/lib/action_view/helpers/tags/url_field.rb +0 -10
  709. data/vendor/rails/actionview/lib/action_view/helpers/tags/week_field.rb +0 -15
  710. data/vendor/rails/actionview/lib/action_view/helpers/text_helper.rb +0 -486
  711. data/vendor/rails/actionview/lib/action_view/helpers/translation_helper.rb +0 -141
  712. data/vendor/rails/actionview/lib/action_view/helpers/url_helper.rb +0 -676
  713. data/vendor/rails/actionview/lib/action_view/layouts.rb +0 -433
  714. data/vendor/rails/actionview/lib/action_view/locale/en.yml +0 -56
  715. data/vendor/rails/actionview/lib/action_view/log_subscriber.rb +0 -96
  716. data/vendor/rails/actionview/lib/action_view/lookup_context.rb +0 -274
  717. data/vendor/rails/actionview/lib/action_view/model_naming.rb +0 -14
  718. data/vendor/rails/actionview/lib/action_view/path_set.rb +0 -100
  719. data/vendor/rails/actionview/lib/action_view/railtie.rb +0 -82
  720. data/vendor/rails/actionview/lib/action_view/record_identifier.rb +0 -112
  721. data/vendor/rails/actionview/lib/action_view/renderer/abstract_renderer.rb +0 -55
  722. data/vendor/rails/actionview/lib/action_view/renderer/partial_renderer.rb +0 -552
  723. data/vendor/rails/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb +0 -57
  724. data/vendor/rails/actionview/lib/action_view/renderer/renderer.rb +0 -56
  725. data/vendor/rails/actionview/lib/action_view/renderer/streaming_template_renderer.rb +0 -105
  726. data/vendor/rails/actionview/lib/action_view/renderer/template_renderer.rb +0 -102
  727. data/vendor/rails/actionview/lib/action_view/rendering.rb +0 -151
  728. data/vendor/rails/actionview/lib/action_view/routing_url_for.rb +0 -145
  729. data/vendor/rails/actionview/lib/action_view/tasks/cache_digests.rake +0 -25
  730. data/vendor/rails/actionview/lib/action_view/template.rb +0 -361
  731. data/vendor/rails/actionview/lib/action_view/template/error.rb +0 -141
  732. data/vendor/rails/actionview/lib/action_view/template/handlers.rb +0 -66
  733. data/vendor/rails/actionview/lib/action_view/template/handlers/builder.rb +0 -25
  734. data/vendor/rails/actionview/lib/action_view/template/handlers/erb.rb +0 -74
  735. data/vendor/rails/actionview/lib/action_view/template/handlers/erb/erubi.rb +0 -83
  736. data/vendor/rails/actionview/lib/action_view/template/handlers/html.rb +0 -11
  737. data/vendor/rails/actionview/lib/action_view/template/handlers/raw.rb +0 -11
  738. data/vendor/rails/actionview/lib/action_view/template/html.rb +0 -34
  739. data/vendor/rails/actionview/lib/action_view/template/resolver.rb +0 -391
  740. data/vendor/rails/actionview/lib/action_view/template/text.rb +0 -33
  741. data/vendor/rails/actionview/lib/action_view/template/types.rb +0 -57
  742. data/vendor/rails/actionview/lib/action_view/test_case.rb +0 -300
  743. data/vendor/rails/actionview/lib/action_view/testing/resolvers.rb +0 -54
  744. data/vendor/rails/actionview/lib/action_view/version.rb +0 -10
  745. data/vendor/rails/actionview/lib/action_view/view_paths.rb +0 -105
  746. data/vendor/rails/actionview/package.json +0 -36
  747. data/vendor/rails/actionview/test/abstract_unit.rb +0 -236
  748. data/vendor/rails/actionview/test/actionpack/abstract/abstract_controller_test.rb +0 -292
  749. data/vendor/rails/actionview/test/actionpack/abstract/helper_test.rb +0 -128
  750. data/vendor/rails/actionview/test/actionpack/abstract/layouts_test.rb +0 -568
  751. data/vendor/rails/actionview/test/actionpack/abstract/render_test.rb +0 -103
  752. data/vendor/rails/actionview/test/actionpack/abstract/views/abstract_controller/testing/me3/formatted.html.erb +0 -1
  753. data/vendor/rails/actionview/test/actionpack/abstract/views/abstract_controller/testing/me3/index.erb +0 -1
  754. data/vendor/rails/actionview/test/actionpack/abstract/views/abstract_controller/testing/me4/index.erb +0 -1
  755. data/vendor/rails/actionview/test/actionpack/abstract/views/action_with_ivars.erb +0 -1
  756. data/vendor/rails/actionview/test/actionpack/abstract/views/helper_test.erb +0 -1
  757. data/vendor/rails/actionview/test/actionpack/abstract/views/index.erb +0 -1
  758. data/vendor/rails/actionview/test/actionpack/abstract/views/layouts/abstract_controller/testing/me4.erb +0 -1
  759. data/vendor/rails/actionview/test/actionpack/abstract/views/layouts/application.erb +0 -1
  760. data/vendor/rails/actionview/test/actionpack/abstract/views/naked_render.erb +0 -1
  761. data/vendor/rails/actionview/test/actionpack/controller/capture_test.rb +0 -83
  762. data/vendor/rails/actionview/test/actionpack/controller/layout_test.rb +0 -270
  763. data/vendor/rails/actionview/test/actionpack/controller/render_test.rb +0 -1294
  764. data/vendor/rails/actionview/test/actionpack/controller/view_paths_test.rb +0 -174
  765. data/vendor/rails/actionview/test/active_record_unit.rb +0 -92
  766. data/vendor/rails/actionview/test/activerecord/controller_runtime_test.rb +0 -95
  767. data/vendor/rails/actionview/test/activerecord/debug_helper_test.rb +0 -19
  768. data/vendor/rails/actionview/test/activerecord/form_helper_activerecord_test.rb +0 -90
  769. data/vendor/rails/actionview/test/activerecord/polymorphic_routes_test.rb +0 -780
  770. data/vendor/rails/actionview/test/activerecord/relation_cache_test.rb +0 -23
  771. data/vendor/rails/actionview/test/activerecord/render_partial_with_record_identification_test.rb +0 -188
  772. data/vendor/rails/actionview/test/fixtures/_top_level_partial.html.erb +0 -1
  773. data/vendor/rails/actionview/test/fixtures/_top_level_partial_only.erb +0 -1
  774. data/vendor/rails/actionview/test/fixtures/actionpack/bad_customers/_bad_customer.html.erb +0 -1
  775. data/vendor/rails/actionview/test/fixtures/actionpack/customers/_customer.html.erb +0 -1
  776. data/vendor/rails/actionview/test/fixtures/actionpack/fun/games/_form.erb +0 -1
  777. data/vendor/rails/actionview/test/fixtures/actionpack/fun/games/hello_world.erb +0 -1
  778. data/vendor/rails/actionview/test/fixtures/actionpack/good_customers/_good_customer.html.erb +0 -1
  779. data/vendor/rails/actionview/test/fixtures/actionpack/hello.html +0 -1
  780. data/vendor/rails/actionview/test/fixtures/actionpack/layout_tests/alt/layouts/alt.erb +0 -1
  781. data/vendor/rails/actionview/test/fixtures/actionpack/layout_tests/layouts/controller_name_space/nested.erb +0 -1
  782. data/vendor/rails/actionview/test/fixtures/actionpack/layout_tests/layouts/item.erb +0 -1
  783. data/vendor/rails/actionview/test/fixtures/actionpack/layout_tests/layouts/layout_test.erb +0 -1
  784. data/vendor/rails/actionview/test/fixtures/actionpack/layout_tests/layouts/multiple_extensions.html.erb +0 -1
  785. data/vendor/rails/actionview/test/fixtures/actionpack/layout_tests/layouts/symlinked/symlinked_layout.erb +0 -5
  786. data/vendor/rails/actionview/test/fixtures/actionpack/layout_tests/layouts/third_party_template_library.mab +0 -1
  787. data/vendor/rails/actionview/test/fixtures/actionpack/layout_tests/views/goodbye.erb +0 -1
  788. data/vendor/rails/actionview/test/fixtures/actionpack/layout_tests/views/hello.erb +0 -1
  789. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/_column.html.erb +0 -2
  790. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/_customers.erb +0 -1
  791. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/_partial_and_yield.erb +0 -2
  792. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/_yield_only.erb +0 -1
  793. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/_yield_with_params.erb +0 -1
  794. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/block_with_layout.erb +0 -3
  795. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/builder.builder +0 -3
  796. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/partial_with_layout.erb +0 -3
  797. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/standard.html.erb +0 -1
  798. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/standard.text.erb +0 -1
  799. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/streaming.erb +0 -4
  800. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/talk_from_action.erb +0 -2
  801. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/with_html_partial.html.erb +0 -1
  802. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/xhr.html.erb +0 -2
  803. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/yield.erb +0 -2
  804. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/yield_with_render_inline_inside.erb +0 -2
  805. data/vendor/rails/actionview/test/fixtures/actionpack/layouts/yield_with_render_partial_inside.erb +0 -2
  806. data/vendor/rails/actionview/test/fixtures/actionpack/quiz/questions/_question.html.erb +0 -1
  807. data/vendor/rails/actionview/test/fixtures/actionpack/shared.html.erb +0 -1
  808. data/vendor/rails/actionview/test/fixtures/actionpack/test/_changing_priority.html.erb +0 -1
  809. data/vendor/rails/actionview/test/fixtures/actionpack/test/_changing_priority.json.erb +0 -1
  810. data/vendor/rails/actionview/test/fixtures/actionpack/test/_counter.html.erb +0 -1
  811. data/vendor/rails/actionview/test/fixtures/actionpack/test/_customer.erb +0 -1
  812. data/vendor/rails/actionview/test/fixtures/actionpack/test/_customer_counter.erb +0 -1
  813. data/vendor/rails/actionview/test/fixtures/actionpack/test/_customer_counter_with_as.erb +0 -1
  814. data/vendor/rails/actionview/test/fixtures/actionpack/test/_customer_greeting.erb +0 -1
  815. data/vendor/rails/actionview/test/fixtures/actionpack/test/_customer_iteration.erb +0 -1
  816. data/vendor/rails/actionview/test/fixtures/actionpack/test/_customer_iteration_with_as.erb +0 -1
  817. data/vendor/rails/actionview/test/fixtures/actionpack/test/_customer_with_var.erb +0 -1
  818. data/vendor/rails/actionview/test/fixtures/actionpack/test/_directory/_partial_with_locales.html.erb +0 -1
  819. data/vendor/rails/actionview/test/fixtures/actionpack/test/_first_json_partial.json.erb +0 -1
  820. data/vendor/rails/actionview/test/fixtures/actionpack/test/_form.erb +0 -1
  821. data/vendor/rails/actionview/test/fixtures/actionpack/test/_hash_greeting.erb +0 -1
  822. data/vendor/rails/actionview/test/fixtures/actionpack/test/_hash_object.erb +0 -2
  823. data/vendor/rails/actionview/test/fixtures/actionpack/test/_hello.builder +0 -1
  824. data/vendor/rails/actionview/test/fixtures/actionpack/test/_json_change_priority.json.erb +0 -0
  825. data/vendor/rails/actionview/test/fixtures/actionpack/test/_labelling_form.erb +0 -1
  826. data/vendor/rails/actionview/test/fixtures/actionpack/test/_layout_for_partial.html.erb +0 -3
  827. data/vendor/rails/actionview/test/fixtures/actionpack/test/_partial.erb +0 -1
  828. data/vendor/rails/actionview/test/fixtures/actionpack/test/_partial.html.erb +0 -1
  829. data/vendor/rails/actionview/test/fixtures/actionpack/test/_partial.js.erb +0 -1
  830. data/vendor/rails/actionview/test/fixtures/actionpack/test/_partial_for_use_in_layout.html.erb +0 -1
  831. data/vendor/rails/actionview/test/fixtures/actionpack/test/_partial_html_erb.html.erb +0 -1
  832. data/vendor/rails/actionview/test/fixtures/actionpack/test/_partial_name_local_variable.erb +0 -1
  833. data/vendor/rails/actionview/test/fixtures/actionpack/test/_partial_only.erb +0 -1
  834. data/vendor/rails/actionview/test/fixtures/actionpack/test/_partial_only_html.html +0 -1
  835. data/vendor/rails/actionview/test/fixtures/actionpack/test/_partial_with_partial.erb +0 -2
  836. data/vendor/rails/actionview/test/fixtures/actionpack/test/_person.erb +0 -2
  837. data/vendor/rails/actionview/test/fixtures/actionpack/test/_raise_indentation.html.erb +0 -13
  838. data/vendor/rails/actionview/test/fixtures/actionpack/test/_second_json_partial.json.erb +0 -1
  839. data/vendor/rails/actionview/test/fixtures/actionpack/test/action_talk_to_layout.erb +0 -2
  840. data/vendor/rails/actionview/test/fixtures/actionpack/test/calling_partial_with_layout.html.erb +0 -1
  841. data/vendor/rails/actionview/test/fixtures/actionpack/test/capturing.erb +0 -4
  842. data/vendor/rails/actionview/test/fixtures/actionpack/test/change_priority.html.erb +0 -2
  843. data/vendor/rails/actionview/test/fixtures/actionpack/test/content_for.erb +0 -1
  844. data/vendor/rails/actionview/test/fixtures/actionpack/test/content_for_concatenated.erb +0 -3
  845. data/vendor/rails/actionview/test/fixtures/actionpack/test/content_for_with_parameter.erb +0 -2
  846. data/vendor/rails/actionview/test/fixtures/actionpack/test/dot.directory/render_file_with_ivar.erb +0 -1
  847. data/vendor/rails/actionview/test/fixtures/actionpack/test/formatted_html_erb.html.erb +0 -1
  848. data/vendor/rails/actionview/test/fixtures/actionpack/test/formatted_xml_erb.builder +0 -1
  849. data/vendor/rails/actionview/test/fixtures/actionpack/test/formatted_xml_erb.html.erb +0 -1
  850. data/vendor/rails/actionview/test/fixtures/actionpack/test/formatted_xml_erb.xml.erb +0 -1
  851. data/vendor/rails/actionview/test/fixtures/actionpack/test/greeting.html.erb +0 -1
  852. data/vendor/rails/actionview/test/fixtures/actionpack/test/greeting.xml.erb +0 -1
  853. data/vendor/rails/actionview/test/fixtures/actionpack/test/hello,world.erb +0 -1
  854. data/vendor/rails/actionview/test/fixtures/actionpack/test/hello.builder +0 -4
  855. data/vendor/rails/actionview/test/fixtures/actionpack/test/hello/hello.erb +0 -1
  856. data/vendor/rails/actionview/test/fixtures/actionpack/test/hello_world.erb +0 -1
  857. data/vendor/rails/actionview/test/fixtures/actionpack/test/hello_world_container.builder +0 -3
  858. data/vendor/rails/actionview/test/fixtures/actionpack/test/hello_world_from_rxml.builder +0 -3
  859. data/vendor/rails/actionview/test/fixtures/actionpack/test/hello_world_with_layout_false.erb +0 -1
  860. data/vendor/rails/actionview/test/fixtures/actionpack/test/hello_world_with_partial.html.erb +0 -2
  861. data/vendor/rails/actionview/test/fixtures/actionpack/test/hello_xml_world.builder +0 -11
  862. data/vendor/rails/actionview/test/fixtures/actionpack/test/html_template.html.erb +0 -1
  863. data/vendor/rails/actionview/test/fixtures/actionpack/test/hyphen-ated.erb +0 -1
  864. data/vendor/rails/actionview/test/fixtures/actionpack/test/implicit_content_type.atom.builder +0 -2
  865. data/vendor/rails/actionview/test/fixtures/actionpack/test/list.erb +0 -1
  866. data/vendor/rails/actionview/test/fixtures/actionpack/test/non_erb_block_content_for.builder +0 -4
  867. data/vendor/rails/actionview/test/fixtures/actionpack/test/potential_conflicts.erb +0 -4
  868. data/vendor/rails/actionview/test/fixtures/actionpack/test/proper_block_detection.erb +0 -1
  869. data/vendor/rails/actionview/test/fixtures/actionpack/test/render_file_from_template.html.erb +0 -1
  870. data/vendor/rails/actionview/test/fixtures/actionpack/test/render_file_with_ivar.erb +0 -1
  871. data/vendor/rails/actionview/test/fixtures/actionpack/test/render_file_with_locals.erb +0 -1
  872. data/vendor/rails/actionview/test/fixtures/actionpack/test/render_file_with_locals_and_default.erb +0 -1
  873. data/vendor/rails/actionview/test/fixtures/actionpack/test/render_implicit_html_template_from_xhr_request.da.html.erb +0 -1
  874. data/vendor/rails/actionview/test/fixtures/actionpack/test/render_implicit_html_template_from_xhr_request.html.erb +0 -1
  875. data/vendor/rails/actionview/test/fixtures/actionpack/test/render_implicit_js_template_without_layout.js.erb +0 -1
  876. data/vendor/rails/actionview/test/fixtures/actionpack/test/render_partial_inside_directory.html.erb +0 -1
  877. data/vendor/rails/actionview/test/fixtures/actionpack/test/render_to_string_test.erb +0 -1
  878. data/vendor/rails/actionview/test/fixtures/actionpack/test/render_two_partials.html.erb +0 -2
  879. data/vendor/rails/actionview/test/fixtures/actionpack/test/using_layout_around_block.html.erb +0 -1
  880. data/vendor/rails/actionview/test/fixtures/actionpack/test/with_html_partial.html.erb +0 -1
  881. data/vendor/rails/actionview/test/fixtures/actionpack/test/with_partial.html.erb +0 -1
  882. data/vendor/rails/actionview/test/fixtures/actionpack/test/with_partial.text.erb +0 -1
  883. data/vendor/rails/actionview/test/fixtures/actionpack/test/with_xml_template.html.erb +0 -1
  884. data/vendor/rails/actionview/test/fixtures/comments/empty.de.html.erb +0 -1
  885. data/vendor/rails/actionview/test/fixtures/comments/empty.html+grid.erb +0 -1
  886. data/vendor/rails/actionview/test/fixtures/comments/empty.html.builder +0 -1
  887. data/vendor/rails/actionview/test/fixtures/comments/empty.html.erb +0 -1
  888. data/vendor/rails/actionview/test/fixtures/comments/empty.xml.erb +0 -1
  889. data/vendor/rails/actionview/test/fixtures/companies.yml +0 -24
  890. data/vendor/rails/actionview/test/fixtures/company.rb +0 -11
  891. data/vendor/rails/actionview/test/fixtures/custom_pattern/another.html.erb +0 -1
  892. data/vendor/rails/actionview/test/fixtures/custom_pattern/html/another.erb +0 -1
  893. data/vendor/rails/actionview/test/fixtures/custom_pattern/html/path.erb +0 -1
  894. data/vendor/rails/actionview/test/fixtures/customers/_customer.html.erb +0 -1
  895. data/vendor/rails/actionview/test/fixtures/customers/_customer.xml.erb +0 -1
  896. data/vendor/rails/actionview/test/fixtures/db_definitions/sqlite.sql +0 -49
  897. data/vendor/rails/actionview/test/fixtures/developer.rb +0 -8
  898. data/vendor/rails/actionview/test/fixtures/developers.yml +0 -21
  899. data/vendor/rails/actionview/test/fixtures/developers/_developer.erb +0 -1
  900. data/vendor/rails/actionview/test/fixtures/developers_projects.yml +0 -13
  901. data/vendor/rails/actionview/test/fixtures/digestor/api/comments/_comment.json.erb +0 -1
  902. data/vendor/rails/actionview/test/fixtures/digestor/api/comments/_comments.json.erb +0 -1
  903. data/vendor/rails/actionview/test/fixtures/digestor/comments/_comment.html.erb +0 -1
  904. data/vendor/rails/actionview/test/fixtures/digestor/comments/_comments.html.erb +0 -1
  905. data/vendor/rails/actionview/test/fixtures/digestor/comments/show.js.erb +0 -1
  906. data/vendor/rails/actionview/test/fixtures/digestor/events/_completed.html.erb +0 -0
  907. data/vendor/rails/actionview/test/fixtures/digestor/events/_event.html.erb +0 -0
  908. data/vendor/rails/actionview/test/fixtures/digestor/events/index.html.erb +0 -1
  909. data/vendor/rails/actionview/test/fixtures/digestor/level/_recursion.html.erb +0 -1
  910. data/vendor/rails/actionview/test/fixtures/digestor/level/below/_header.html.erb +0 -0
  911. data/vendor/rails/actionview/test/fixtures/digestor/level/below/index.html.erb +0 -1
  912. data/vendor/rails/actionview/test/fixtures/digestor/level/recursion.html.erb +0 -1
  913. data/vendor/rails/actionview/test/fixtures/digestor/messages/_form.html.erb +0 -0
  914. data/vendor/rails/actionview/test/fixtures/digestor/messages/_header.html.erb +0 -0
  915. data/vendor/rails/actionview/test/fixtures/digestor/messages/_message.html.erb +0 -1
  916. data/vendor/rails/actionview/test/fixtures/digestor/messages/actions/_move.html.erb +0 -0
  917. data/vendor/rails/actionview/test/fixtures/digestor/messages/edit.html.erb +0 -5
  918. data/vendor/rails/actionview/test/fixtures/digestor/messages/index.html.erb +0 -2
  919. data/vendor/rails/actionview/test/fixtures/digestor/messages/new.html+iphone.erb +0 -15
  920. data/vendor/rails/actionview/test/fixtures/digestor/messages/peek.html.erb +0 -2
  921. data/vendor/rails/actionview/test/fixtures/digestor/messages/show.html.erb +0 -14
  922. data/vendor/rails/actionview/test/fixtures/digestor/messages/thread.json.erb +0 -1
  923. data/vendor/rails/actionview/test/fixtures/fun/games/_game.erb +0 -1
  924. data/vendor/rails/actionview/test/fixtures/fun/games/hello_world.erb +0 -1
  925. data/vendor/rails/actionview/test/fixtures/fun/serious/games/_game.erb +0 -1
  926. data/vendor/rails/actionview/test/fixtures/games/_game.erb +0 -1
  927. data/vendor/rails/actionview/test/fixtures/good_customers/_good_customer.html.erb +0 -1
  928. data/vendor/rails/actionview/test/fixtures/helpers/abc_helper.rb +0 -5
  929. data/vendor/rails/actionview/test/fixtures/helpers/helpery_test_helper.rb +0 -7
  930. data/vendor/rails/actionview/test/fixtures/helpers_missing/invalid_require_helper.rb +0 -6
  931. data/vendor/rails/actionview/test/fixtures/layout_tests/alt/hello.erb +0 -1
  932. data/vendor/rails/actionview/test/fixtures/layouts/_column.html.erb +0 -2
  933. data/vendor/rails/actionview/test/fixtures/layouts/_customers.erb +0 -1
  934. data/vendor/rails/actionview/test/fixtures/layouts/_partial_and_yield.erb +0 -2
  935. data/vendor/rails/actionview/test/fixtures/layouts/_yield_only.erb +0 -1
  936. data/vendor/rails/actionview/test/fixtures/layouts/_yield_with_params.erb +0 -1
  937. data/vendor/rails/actionview/test/fixtures/layouts/render_partial_html.erb +0 -2
  938. data/vendor/rails/actionview/test/fixtures/layouts/streaming.erb +0 -4
  939. data/vendor/rails/actionview/test/fixtures/layouts/streaming_with_capture.erb +0 -6
  940. data/vendor/rails/actionview/test/fixtures/layouts/streaming_with_locale.erb +0 -2
  941. data/vendor/rails/actionview/test/fixtures/layouts/yield.erb +0 -2
  942. data/vendor/rails/actionview/test/fixtures/layouts/yield_with_render_inline_inside.erb +0 -2
  943. data/vendor/rails/actionview/test/fixtures/layouts/yield_with_render_partial_inside.erb +0 -2
  944. data/vendor/rails/actionview/test/fixtures/mascot.rb +0 -5
  945. data/vendor/rails/actionview/test/fixtures/mascots.yml +0 -4
  946. data/vendor/rails/actionview/test/fixtures/mascots/_mascot.html.erb +0 -1
  947. data/vendor/rails/actionview/test/fixtures/override/test/hello_world.erb +0 -1
  948. data/vendor/rails/actionview/test/fixtures/override2/layouts/test/sub.erb +0 -1
  949. data/vendor/rails/actionview/test/fixtures/plain_text.raw +0 -1
  950. data/vendor/rails/actionview/test/fixtures/plain_text_with_characters.raw +0 -1
  951. data/vendor/rails/actionview/test/fixtures/project.rb +0 -9
  952. data/vendor/rails/actionview/test/fixtures/projects.yml +0 -7
  953. data/vendor/rails/actionview/test/fixtures/projects/_project.erb +0 -1
  954. data/vendor/rails/actionview/test/fixtures/public/elsewhere/cools.js +0 -1
  955. data/vendor/rails/actionview/test/fixtures/public/elsewhere/file.css +0 -1
  956. data/vendor/rails/actionview/test/fixtures/public/foo/baz.css +0 -3
  957. data/vendor/rails/actionview/test/fixtures/public/javascripts/application.js +0 -1
  958. data/vendor/rails/actionview/test/fixtures/public/javascripts/bank.js +0 -1
  959. data/vendor/rails/actionview/test/fixtures/public/javascripts/common.javascript +0 -1
  960. data/vendor/rails/actionview/test/fixtures/public/javascripts/controls.js +0 -1
  961. data/vendor/rails/actionview/test/fixtures/public/javascripts/dragdrop.js +0 -1
  962. data/vendor/rails/actionview/test/fixtures/public/javascripts/effects.js +0 -1
  963. data/vendor/rails/actionview/test/fixtures/public/javascripts/prototype.js +0 -1
  964. data/vendor/rails/actionview/test/fixtures/public/javascripts/robber.js +0 -1
  965. data/vendor/rails/actionview/test/fixtures/public/javascripts/subdir/subdir.js +0 -1
  966. data/vendor/rails/actionview/test/fixtures/public/javascripts/version.1.0.js +0 -1
  967. data/vendor/rails/actionview/test/fixtures/public/stylesheets/bank.css +0 -1
  968. data/vendor/rails/actionview/test/fixtures/public/stylesheets/random.styles +0 -1
  969. data/vendor/rails/actionview/test/fixtures/public/stylesheets/robber.css +0 -1
  970. data/vendor/rails/actionview/test/fixtures/public/stylesheets/subdir/subdir.css +0 -1
  971. data/vendor/rails/actionview/test/fixtures/public/stylesheets/version.1.0.css +0 -1
  972. data/vendor/rails/actionview/test/fixtures/replies.yml +0 -15
  973. data/vendor/rails/actionview/test/fixtures/replies/_reply.erb +0 -1
  974. data/vendor/rails/actionview/test/fixtures/reply.rb +0 -9
  975. data/vendor/rails/actionview/test/fixtures/respond_to/using_defaults_with_all.html.erb +0 -1
  976. data/vendor/rails/actionview/test/fixtures/ruby_template.ruby +0 -2
  977. data/vendor/rails/actionview/test/fixtures/shared.html.erb +0 -1
  978. data/vendor/rails/actionview/test/fixtures/test/_200.html.erb +0 -1
  979. data/vendor/rails/actionview/test/fixtures/test/_FooBar.html.erb +0 -1
  980. data/vendor/rails/actionview/test/fixtures/test/_a-in.html.erb +0 -0
  981. data/vendor/rails/actionview/test/fixtures/test/_b_layout_for_partial.html.erb +0 -1
  982. data/vendor/rails/actionview/test/fixtures/test/_b_layout_for_partial_with_object.html.erb +0 -1
  983. data/vendor/rails/actionview/test/fixtures/test/_b_layout_for_partial_with_object_counter.html.erb +0 -1
  984. data/vendor/rails/actionview/test/fixtures/test/_builder_tag_nested_in_content_tag.erb +0 -3
  985. data/vendor/rails/actionview/test/fixtures/test/_cached_customer.erb +0 -3
  986. data/vendor/rails/actionview/test/fixtures/test/_cached_customer_as.erb +0 -3
  987. data/vendor/rails/actionview/test/fixtures/test/_cached_nested_cached_customer.erb +0 -3
  988. data/vendor/rails/actionview/test/fixtures/test/_changing_priority.html.erb +0 -1
  989. data/vendor/rails/actionview/test/fixtures/test/_changing_priority.json.erb +0 -1
  990. data/vendor/rails/actionview/test/fixtures/test/_content_tag_nested_in_content_tag.erb +0 -3
  991. data/vendor/rails/actionview/test/fixtures/test/_counter.html.erb +0 -1
  992. data/vendor/rails/actionview/test/fixtures/test/_customer.erb +0 -1
  993. data/vendor/rails/actionview/test/fixtures/test/_customer.mobile.erb +0 -1
  994. data/vendor/rails/actionview/test/fixtures/test/_customer_greeting.erb +0 -1
  995. data/vendor/rails/actionview/test/fixtures/test/_customer_with_var.erb +0 -1
  996. data/vendor/rails/actionview/test/fixtures/test/_directory/_partial_with_locales.html.erb +0 -1
  997. data/vendor/rails/actionview/test/fixtures/test/_first_json_partial.json.erb +0 -1
  998. data/vendor/rails/actionview/test/fixtures/test/_from_helper.erb +0 -1
  999. data/vendor/rails/actionview/test/fixtures/test/_json_change_priority.json.erb +0 -0
  1000. data/vendor/rails/actionview/test/fixtures/test/_klass.erb +0 -1
  1001. data/vendor/rails/actionview/test/fixtures/test/_label_with_block.erb +0 -4
  1002. data/vendor/rails/actionview/test/fixtures/test/_layout_for_block_with_args.html.erb +0 -3
  1003. data/vendor/rails/actionview/test/fixtures/test/_layout_for_partial.html.erb +0 -3
  1004. data/vendor/rails/actionview/test/fixtures/test/_layout_with_partial_and_yield.html.erb +0 -4
  1005. data/vendor/rails/actionview/test/fixtures/test/_local_inspector.html.erb +0 -1
  1006. data/vendor/rails/actionview/test/fixtures/test/_nested_cached_customer.erb +0 -1
  1007. data/vendor/rails/actionview/test/fixtures/test/_object_inspector.erb +0 -1
  1008. data/vendor/rails/actionview/test/fixtures/test/_one.html.erb +0 -1
  1009. data/vendor/rails/actionview/test/fixtures/test/_partial.erb +0 -1
  1010. data/vendor/rails/actionview/test/fixtures/test/_partial.html.erb +0 -1
  1011. data/vendor/rails/actionview/test/fixtures/test/_partial.js.erb +0 -1
  1012. data/vendor/rails/actionview/test/fixtures/test/_partial_for_use_in_layout.html.erb +0 -1
  1013. data/vendor/rails/actionview/test/fixtures/test/_partial_iteration_1.erb +0 -1
  1014. data/vendor/rails/actionview/test/fixtures/test/_partial_iteration_2.erb +0 -1
  1015. data/vendor/rails/actionview/test/fixtures/test/_partial_name_in_local_assigns.erb +0 -1
  1016. data/vendor/rails/actionview/test/fixtures/test/_partial_name_local_variable.erb +0 -1
  1017. data/vendor/rails/actionview/test/fixtures/test/_partial_only.erb +0 -1
  1018. data/vendor/rails/actionview/test/fixtures/test/_partial_shortcut_with_block_content.html.erb +0 -3
  1019. data/vendor/rails/actionview/test/fixtures/test/_partial_with_layout.erb +0 -2
  1020. data/vendor/rails/actionview/test/fixtures/test/_partial_with_layout_block_content.erb +0 -4
  1021. data/vendor/rails/actionview/test/fixtures/test/_partial_with_layout_block_partial.erb +0 -4
  1022. data/vendor/rails/actionview/test/fixtures/test/_partial_with_only_html_version.html.erb +0 -1
  1023. data/vendor/rails/actionview/test/fixtures/test/_partial_with_partial.erb +0 -2
  1024. data/vendor/rails/actionview/test/fixtures/test/_partial_with_variants.html+grid.erb +0 -1
  1025. data/vendor/rails/actionview/test/fixtures/test/_partialhtml.html +0 -1
  1026. data/vendor/rails/actionview/test/fixtures/test/_raise.html.erb +0 -1
  1027. data/vendor/rails/actionview/test/fixtures/test/_raise_indentation.html.erb +0 -13
  1028. data/vendor/rails/actionview/test/fixtures/test/_second_json_partial.json.erb +0 -1
  1029. data/vendor/rails/actionview/test/fixtures/test/_two.html.erb +0 -1
  1030. data/vendor/rails/actionview/test/fixtures/test/_utf8_partial.html.erb +0 -1
  1031. data/vendor/rails/actionview/test/fixtures/test/_utf8_partial_magic.html.erb +0 -2
  1032. data/vendor/rails/actionview/test/fixtures/test/_/360/237/215/243.erb +0 -1
  1033. data/vendor/rails/actionview/test/fixtures/test/basic.html.erb +0 -1
  1034. data/vendor/rails/actionview/test/fixtures/test/calling_partial_with_layout.html.erb +0 -1
  1035. data/vendor/rails/actionview/test/fixtures/test/change_priority.html.erb +0 -2
  1036. data/vendor/rails/actionview/test/fixtures/test/dont_pick_me +0 -1
  1037. data/vendor/rails/actionview/test/fixtures/test/dot.directory/render_file_with_ivar.erb +0 -1
  1038. data/vendor/rails/actionview/test/fixtures/test/greeting.xml.erb +0 -1
  1039. data/vendor/rails/actionview/test/fixtures/test/hello.builder +0 -4
  1040. data/vendor/rails/actionview/test/fixtures/test/hello/hello.erb +0 -1
  1041. data/vendor/rails/actionview/test/fixtures/test/hello_world.da.html.erb +0 -1
  1042. data/vendor/rails/actionview/test/fixtures/test/hello_world.erb +0 -1
  1043. data/vendor/rails/actionview/test/fixtures/test/hello_world.erb~ +0 -1
  1044. data/vendor/rails/actionview/test/fixtures/test/hello_world.html+phone.erb +0 -1
  1045. data/vendor/rails/actionview/test/fixtures/test/hello_world.pt-BR.html.erb +0 -1
  1046. data/vendor/rails/actionview/test/fixtures/test/hello_world.text+phone.erb +0 -1
  1047. data/vendor/rails/actionview/test/fixtures/test/hello_world_with_partial.html.erb +0 -2
  1048. data/vendor/rails/actionview/test/fixtures/test/html_template.html.erb +0 -1
  1049. data/vendor/rails/actionview/test/fixtures/test/layout_render_file.erb +0 -2
  1050. data/vendor/rails/actionview/test/fixtures/test/layout_render_object.erb +0 -1
  1051. data/vendor/rails/actionview/test/fixtures/test/list.erb +0 -1
  1052. data/vendor/rails/actionview/test/fixtures/test/malformed/malformed.en.html.erb~ +0 -1
  1053. data/vendor/rails/actionview/test/fixtures/test/malformed/malformed.erb~ +0 -1
  1054. data/vendor/rails/actionview/test/fixtures/test/malformed/malformed.html.erb~ +0 -1
  1055. data/vendor/rails/actionview/test/fixtures/test/malformed/malformed~ +0 -1
  1056. data/vendor/rails/actionview/test/fixtures/test/nested_layout.erb +0 -3
  1057. data/vendor/rails/actionview/test/fixtures/test/nested_streaming.erb +0 -3
  1058. data/vendor/rails/actionview/test/fixtures/test/nil_return.erb +0 -1
  1059. data/vendor/rails/actionview/test/fixtures/test/one.html.erb +0 -1
  1060. data/vendor/rails/actionview/test/fixtures/test/render_file_inspect_local_assigns.erb +0 -1
  1061. data/vendor/rails/actionview/test/fixtures/test/render_file_instance_variable.erb +0 -1
  1062. data/vendor/rails/actionview/test/fixtures/test/render_file_unicode_local.erb +0 -1
  1063. data/vendor/rails/actionview/test/fixtures/test/render_file_with_ivar.erb +0 -1
  1064. data/vendor/rails/actionview/test/fixtures/test/render_file_with_locals.erb +0 -1
  1065. data/vendor/rails/actionview/test/fixtures/test/render_file_with_locals_and_default.erb +0 -1
  1066. data/vendor/rails/actionview/test/fixtures/test/render_file_with_ruby_keyword_locals.erb +0 -1
  1067. data/vendor/rails/actionview/test/fixtures/test/render_partial_inside_directory.html.erb +0 -1
  1068. data/vendor/rails/actionview/test/fixtures/test/render_two_partials.html.erb +0 -2
  1069. data/vendor/rails/actionview/test/fixtures/test/streaming.erb +0 -3
  1070. data/vendor/rails/actionview/test/fixtures/test/streaming_buster.erb +0 -3
  1071. data/vendor/rails/actionview/test/fixtures/test/streaming_with_locale.erb +0 -1
  1072. data/vendor/rails/actionview/test/fixtures/test/sub_template_raise.html.erb +0 -1
  1073. data/vendor/rails/actionview/test/fixtures/test/template.erb +0 -1
  1074. data/vendor/rails/actionview/test/fixtures/test/test_template_with_delegation_reserved_keywords.erb +0 -1
  1075. data/vendor/rails/actionview/test/fixtures/test/update_element_with_capture.erb +0 -9
  1076. data/vendor/rails/actionview/test/fixtures/test/utf8.html.erb +0 -4
  1077. data/vendor/rails/actionview/test/fixtures/test/utf8_magic.html.erb +0 -5
  1078. data/vendor/rails/actionview/test/fixtures/test/utf8_magic_with_bare_partial.html.erb +0 -5
  1079. data/vendor/rails/actionview/test/fixtures/topic.rb +0 -5
  1080. data/vendor/rails/actionview/test/fixtures/topics.yml +0 -22
  1081. data/vendor/rails/actionview/test/fixtures/topics/_topic.html.erb +0 -1
  1082. data/vendor/rails/actionview/test/fixtures/translations/templates/array.erb +0 -1
  1083. data/vendor/rails/actionview/test/fixtures/translations/templates/default.erb +0 -1
  1084. data/vendor/rails/actionview/test/fixtures/translations/templates/found.erb +0 -1
  1085. data/vendor/rails/actionview/test/fixtures/translations/templates/missing.erb +0 -1
  1086. data/vendor/rails/actionview/test/fixtures/with_format.json.erb +0 -1
  1087. data/vendor/rails/actionview/test/lib/controller/fake_models.rb +0 -204
  1088. data/vendor/rails/actionview/test/template/active_model_helper_test.rb +0 -172
  1089. data/vendor/rails/actionview/test/template/asset_tag_helper_test.rb +0 -913
  1090. data/vendor/rails/actionview/test/template/atom_feed_helper_test.rb +0 -375
  1091. data/vendor/rails/actionview/test/template/capture_helper_test.rb +0 -228
  1092. data/vendor/rails/actionview/test/template/compiled_templates_test.rb +0 -94
  1093. data/vendor/rails/actionview/test/template/controller_helper_test.rb +0 -34
  1094. data/vendor/rails/actionview/test/template/date_helper_i18n_test.rb +0 -166
  1095. data/vendor/rails/actionview/test/template/date_helper_test.rb +0 -3642
  1096. data/vendor/rails/actionview/test/template/dependency_tracker_test.rb +0 -195
  1097. data/vendor/rails/actionview/test/template/digestor_test.rb +0 -389
  1098. data/vendor/rails/actionview/test/template/erb/form_for_test.rb +0 -13
  1099. data/vendor/rails/actionview/test/template/erb/helper.rb +0 -26
  1100. data/vendor/rails/actionview/test/template/erb/tag_helper_test.rb +0 -32
  1101. data/vendor/rails/actionview/test/template/erb_util_test.rb +0 -114
  1102. data/vendor/rails/actionview/test/template/form_collections_helper_test.rb +0 -527
  1103. data/vendor/rails/actionview/test/template/form_helper/form_with_test.rb +0 -2293
  1104. data/vendor/rails/actionview/test/template/form_helper_test.rb +0 -3554
  1105. data/vendor/rails/actionview/test/template/form_options_helper_i18n_test.rb +0 -30
  1106. data/vendor/rails/actionview/test/template/form_options_helper_test.rb +0 -1452
  1107. data/vendor/rails/actionview/test/template/form_tag_helper_test.rb +0 -785
  1108. data/vendor/rails/actionview/test/template/html_test.rb +0 -19
  1109. data/vendor/rails/actionview/test/template/javascript_helper_test.rb +0 -68
  1110. data/vendor/rails/actionview/test/template/log_subscriber_test.rb +0 -224
  1111. data/vendor/rails/actionview/test/template/lookup_context_test.rb +0 -289
  1112. data/vendor/rails/actionview/test/template/number_helper_test.rb +0 -204
  1113. data/vendor/rails/actionview/test/template/output_safety_helper_test.rb +0 -119
  1114. data/vendor/rails/actionview/test/template/partial_iteration_test.rb +0 -35
  1115. data/vendor/rails/actionview/test/template/record_identifier_test.rb +0 -93
  1116. data/vendor/rails/actionview/test/template/record_tag_helper_test.rb +0 -33
  1117. data/vendor/rails/actionview/test/template/render_test.rb +0 -725
  1118. data/vendor/rails/actionview/test/template/resolver_cache_test.rb +0 -9
  1119. data/vendor/rails/actionview/test/template/resolver_patterns_test.rb +0 -44
  1120. data/vendor/rails/actionview/test/template/sanitize_helper_test.rb +0 -43
  1121. data/vendor/rails/actionview/test/template/streaming_render_test.rb +0 -132
  1122. data/vendor/rails/actionview/test/template/tag_helper_test.rb +0 -357
  1123. data/vendor/rails/actionview/test/template/template_error_test.rb +0 -37
  1124. data/vendor/rails/actionview/test/template/template_test.rb +0 -207
  1125. data/vendor/rails/actionview/test/template/test_case_test.rb +0 -335
  1126. data/vendor/rails/actionview/test/template/test_test.rb +0 -94
  1127. data/vendor/rails/actionview/test/template/testing/fixture_resolver_test.rb +0 -20
  1128. data/vendor/rails/actionview/test/template/testing/null_resolver_test.rb +0 -14
  1129. data/vendor/rails/actionview/test/template/text_helper_test.rb +0 -535
  1130. data/vendor/rails/actionview/test/template/text_test.rb +0 -25
  1131. data/vendor/rails/actionview/test/template/translation_helper_test.rb +0 -238
  1132. data/vendor/rails/actionview/test/template/url_helper_test.rb +0 -976
  1133. data/vendor/rails/actionview/test/ujs/config.ru +0 -6
  1134. data/vendor/rails/actionview/test/ujs/public/test/call-ajax.js +0 -26
  1135. data/vendor/rails/actionview/test/ujs/public/test/call-remote-callbacks.js +0 -239
  1136. data/vendor/rails/actionview/test/ujs/public/test/call-remote.js +0 -275
  1137. data/vendor/rails/actionview/test/ujs/public/test/csrf-refresh.js +0 -24
  1138. data/vendor/rails/actionview/test/ujs/public/test/csrf-token.js +0 -27
  1139. data/vendor/rails/actionview/test/ujs/public/test/data-confirm.js +0 -316
  1140. data/vendor/rails/actionview/test/ujs/public/test/data-disable-with.js +0 -394
  1141. data/vendor/rails/actionview/test/ujs/public/test/data-disable.js +0 -322
  1142. data/vendor/rails/actionview/test/ujs/public/test/data-method.js +0 -85
  1143. data/vendor/rails/actionview/test/ujs/public/test/data-remote.js +0 -441
  1144. data/vendor/rails/actionview/test/ujs/public/test/override.js +0 -56
  1145. data/vendor/rails/actionview/test/ujs/public/test/settings.js +0 -118
  1146. data/vendor/rails/actionview/test/ujs/public/vendor/jquery-2.2.0.js +0 -9831
  1147. data/vendor/rails/actionview/test/ujs/public/vendor/jquery.metadata.js +0 -122
  1148. data/vendor/rails/actionview/test/ujs/public/vendor/qunit.css +0 -237
  1149. data/vendor/rails/actionview/test/ujs/public/vendor/qunit.js +0 -2288
  1150. data/vendor/rails/actionview/test/ujs/server.rb +0 -86
  1151. data/vendor/rails/actionview/test/ujs/views/layouts/application.html.erb +0 -26
  1152. data/vendor/rails/actionview/test/ujs/views/tests/index.html.erb +0 -11
  1153. data/vendor/rails/ci/qunit-selenium-runner.rb +0 -16
  1154. data/vendor/rails/ci/travis.rb +0 -187
  1155. data/vendor/rails/rails.gemspec +0 -36
  1156. data/vendor/rails/version.rb +0 -17
@@ -1,1345 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "abstract_unit"
4
- require "openssl"
5
- require "active_support/key_generator"
6
- require "active_support/messages/rotation_configuration"
7
-
8
- class CookieJarTest < ActiveSupport::TestCase
9
- attr_reader :request
10
-
11
- def setup
12
- @request = ActionDispatch::Request.empty
13
- end
14
-
15
- def test_fetch
16
- x = Object.new
17
- assert_not request.cookie_jar.key?("zzzzzz")
18
- assert_equal x, request.cookie_jar.fetch("zzzzzz", x)
19
- assert_not request.cookie_jar.key?("zzzzzz")
20
- end
21
-
22
- def test_fetch_exists
23
- x = Object.new
24
- request.cookie_jar["foo"] = "bar"
25
- assert_equal "bar", request.cookie_jar.fetch("foo", x)
26
- end
27
-
28
- def test_fetch_block
29
- x = Object.new
30
- assert_not request.cookie_jar.key?("zzzzzz")
31
- assert_equal x, request.cookie_jar.fetch("zzzzzz") { x }
32
- end
33
-
34
- def test_key_is_to_s
35
- request.cookie_jar["foo"] = "bar"
36
- assert_equal "bar", request.cookie_jar.fetch(:foo)
37
- end
38
-
39
- def test_to_hash
40
- request.cookie_jar["foo"] = "bar"
41
- assert_equal({ "foo" => "bar" }, request.cookie_jar.to_hash)
42
- assert_equal({ "foo" => "bar" }, request.cookie_jar.to_h)
43
- end
44
-
45
- def test_fetch_type_error
46
- assert_raises(KeyError) do
47
- request.cookie_jar.fetch(:omglolwut)
48
- end
49
- end
50
-
51
- def test_each
52
- request.cookie_jar["foo"] = :bar
53
- list = []
54
- request.cookie_jar.each do |k, v|
55
- list << [k, v]
56
- end
57
-
58
- assert_equal [["foo", :bar]], list
59
- end
60
-
61
- def test_enumerable
62
- request.cookie_jar["foo"] = :bar
63
- actual = request.cookie_jar.map { |k, v| [k.to_s, v.to_s] }
64
- assert_equal [["foo", "bar"]], actual
65
- end
66
-
67
- def test_key_methods
68
- assert !request.cookie_jar.key?(:foo)
69
- assert !request.cookie_jar.has_key?("foo")
70
-
71
- request.cookie_jar[:foo] = :bar
72
- assert request.cookie_jar.key?(:foo)
73
- assert request.cookie_jar.has_key?("foo")
74
- end
75
-
76
- def test_write_doesnt_set_a_nil_header
77
- headers = {}
78
- request.cookie_jar.write(headers)
79
- assert_not_includes headers, "Set-Cookie"
80
- end
81
- end
82
-
83
- class CookiesTest < ActionController::TestCase
84
- class CustomSerializer
85
- def self.load(value)
86
- value.to_s + " and loaded"
87
- end
88
-
89
- def self.dump(value)
90
- value.to_s + " was dumped"
91
- end
92
- end
93
-
94
- class TestController < ActionController::Base
95
- def authenticate
96
- cookies["user_name"] = "david"
97
- head :ok
98
- end
99
-
100
- def set_with_with_escapable_characters
101
- cookies["that & guy"] = "foo & bar => baz"
102
- head :ok
103
- end
104
-
105
- def authenticate_for_fourteen_days
106
- cookies["user_name"] = { "value" => "david", "expires" => Time.utc(2005, 10, 10, 5) }
107
- head :ok
108
- end
109
-
110
- def authenticate_for_fourteen_days_with_symbols
111
- cookies[:user_name] = { value: "david", expires: Time.utc(2005, 10, 10, 5) }
112
- head :ok
113
- end
114
-
115
- def set_multiple_cookies
116
- cookies["user_name"] = { "value" => "david", "expires" => Time.utc(2005, 10, 10, 5) }
117
- cookies["login"] = "XJ-122"
118
- head :ok
119
- end
120
-
121
- def access_frozen_cookies
122
- cookies["will"] = "work"
123
- head :ok
124
- end
125
-
126
- def logout
127
- cookies.delete("user_name")
128
- head :ok
129
- end
130
-
131
- alias delete_cookie logout
132
-
133
- def delete_cookie_with_path
134
- cookies.delete("user_name", path: "/beaten")
135
- head :ok
136
- end
137
-
138
- def authenticate_with_http_only
139
- cookies["user_name"] = { value: "david", httponly: true }
140
- head :ok
141
- end
142
-
143
- def authenticate_with_secure
144
- cookies["user_name"] = { value: "david", secure: true }
145
- head :ok
146
- end
147
-
148
- def set_permanent_cookie
149
- cookies.permanent[:user_name] = "Jamie"
150
- head :ok
151
- end
152
-
153
- def set_signed_cookie
154
- cookies.signed[:user_id] = 45
155
- head :ok
156
- end
157
-
158
- def get_signed_cookie
159
- cookies.signed[:user_id]
160
- head :ok
161
- end
162
-
163
- def set_encrypted_cookie
164
- cookies.encrypted[:foo] = "bar"
165
- head :ok
166
- end
167
-
168
- class JSONWrapper
169
- def initialize(obj)
170
- @obj = obj
171
- end
172
-
173
- def as_json(options = nil)
174
- "wrapped: #{@obj.as_json(options)}"
175
- end
176
- end
177
-
178
- def set_wrapped_signed_cookie
179
- cookies.signed[:user_id] = JSONWrapper.new(45)
180
- head :ok
181
- end
182
-
183
- def set_wrapped_encrypted_cookie
184
- cookies.encrypted[:foo] = JSONWrapper.new("bar")
185
- head :ok
186
- end
187
-
188
- def get_encrypted_cookie
189
- cookies.encrypted[:foo]
190
- head :ok
191
- end
192
-
193
- def set_invalid_encrypted_cookie
194
- cookies[:invalid_cookie] = "invalid--9170e00a57cfc27083363b5c75b835e477bd90cf"
195
- head :ok
196
- end
197
-
198
- def raise_data_overflow
199
- cookies.signed[:foo] = "bye!" * 1024
200
- head :ok
201
- end
202
-
203
- def tampered_cookies
204
- cookies[:tampered] = "BAh7BjoIZm9vIghiYXI%3D--123456780"
205
- cookies.signed[:tampered]
206
- head :ok
207
- end
208
-
209
- def set_permanent_signed_cookie
210
- cookies.permanent.signed[:remember_me] = 100
211
- head :ok
212
- end
213
-
214
- def delete_and_set_cookie
215
- cookies.delete :user_name
216
- cookies[:user_name] = { value: "david", expires: Time.utc(2005, 10, 10, 5) }
217
- head :ok
218
- end
219
-
220
- def set_cookie_with_domain
221
- cookies[:user_name] = { value: "rizwanreza", domain: :all }
222
- head :ok
223
- end
224
-
225
- def set_cookie_with_domain_all_as_string
226
- cookies[:user_name] = { value: "rizwanreza", domain: "all" }
227
- head :ok
228
- end
229
-
230
- def delete_cookie_with_domain
231
- cookies.delete(:user_name, domain: :all)
232
- head :ok
233
- end
234
-
235
- def delete_cookie_with_domain_all_as_string
236
- cookies.delete(:user_name, domain: "all")
237
- head :ok
238
- end
239
-
240
- def set_cookie_with_domain_and_tld
241
- cookies[:user_name] = { value: "rizwanreza", domain: :all, tld_length: 2 }
242
- head :ok
243
- end
244
-
245
- def delete_cookie_with_domain_and_tld
246
- cookies.delete(:user_name, domain: :all, tld_length: 2)
247
- head :ok
248
- end
249
-
250
- def set_cookie_with_domains
251
- cookies[:user_name] = { value: "rizwanreza", domain: %w(example1.com example2.com .example3.com) }
252
- head :ok
253
- end
254
-
255
- def delete_cookie_with_domains
256
- cookies.delete(:user_name, domain: %w(example1.com example2.com .example3.com))
257
- head :ok
258
- end
259
-
260
- def symbol_key
261
- cookies[:user_name] = "david"
262
- head :ok
263
- end
264
-
265
- def string_key
266
- cookies["user_name"] = "dhh"
267
- head :ok
268
- end
269
-
270
- def symbol_key_mock
271
- cookies[:user_name] = "david" if cookies[:user_name] == "andrew"
272
- head :ok
273
- end
274
-
275
- def string_key_mock
276
- cookies["user_name"] = "david" if cookies["user_name"] == "andrew"
277
- head :ok
278
- end
279
-
280
- def noop
281
- head :ok
282
- end
283
-
284
- def encrypted_cookie
285
- cookies.encrypted["foo"]
286
- end
287
-
288
- def cookie_expires_in_two_hours
289
- cookies[:user_name] = { value: "assain", expires: 2.hours }
290
- head :ok
291
- end
292
- end
293
-
294
- tests TestController
295
-
296
- SECRET_KEY_BASE = "b3c631c314c0bbca50c1b2843150fe33"
297
- SIGNED_COOKIE_SALT = "signed cookie"
298
- ENCRYPTED_COOKIE_SALT = "encrypted cookie"
299
- ENCRYPTED_SIGNED_COOKIE_SALT = "sigend encrypted cookie"
300
- AUTHENTICATED_ENCRYPTED_COOKIE_SALT = "authenticated encrypted cookie"
301
-
302
- def setup
303
- super
304
-
305
- @request.env["action_dispatch.key_generator"] = ActiveSupport::KeyGenerator.new(SECRET_KEY_BASE, iterations: 2)
306
- @request.env["action_dispatch.cookies_rotations"] = ActiveSupport::Messages::RotationConfiguration.new
307
-
308
- @request.env["action_dispatch.secret_key_base"] = SECRET_KEY_BASE
309
- @request.env["action_dispatch.use_authenticated_cookie_encryption"] = true
310
-
311
- @request.env["action_dispatch.signed_cookie_salt"] = SIGNED_COOKIE_SALT
312
- @request.env["action_dispatch.encrypted_cookie_salt"] = ENCRYPTED_COOKIE_SALT
313
- @request.env["action_dispatch.encrypted_signed_cookie_salt"] = ENCRYPTED_SIGNED_COOKIE_SALT
314
- @request.env["action_dispatch.authenticated_encrypted_cookie_salt"] = AUTHENTICATED_ENCRYPTED_COOKIE_SALT
315
-
316
- @request.host = "www.nextangle.com"
317
- end
318
-
319
- def test_setting_cookie
320
- get :authenticate
321
- assert_cookie_header "user_name=david; path=/"
322
- assert_equal({ "user_name" => "david" }, @response.cookies)
323
- end
324
-
325
- def test_setting_the_same_value_to_cookie
326
- request.cookies[:user_name] = "david"
327
- get :authenticate
328
- assert_empty response.cookies
329
- end
330
-
331
- def test_setting_the_same_value_to_permanent_cookie
332
- request.cookies[:user_name] = "Jamie"
333
- get :set_permanent_cookie
334
- assert_equal({ "user_name" => "Jamie" }, response.cookies)
335
- end
336
-
337
- def test_setting_with_escapable_characters
338
- get :set_with_with_escapable_characters
339
- assert_cookie_header "that+%26+guy=foo+%26+bar+%3D%3E+baz; path=/"
340
- assert_equal({ "that & guy" => "foo & bar => baz" }, @response.cookies)
341
- end
342
-
343
- def test_setting_cookie_for_fourteen_days
344
- get :authenticate_for_fourteen_days
345
- assert_cookie_header "user_name=david; path=/; expires=Mon, 10 Oct 2005 05:00:00 -0000"
346
- assert_equal({ "user_name" => "david" }, @response.cookies)
347
- end
348
-
349
- def test_setting_cookie_for_fourteen_days_with_symbols
350
- get :authenticate_for_fourteen_days_with_symbols
351
- assert_cookie_header "user_name=david; path=/; expires=Mon, 10 Oct 2005 05:00:00 -0000"
352
- assert_equal({ "user_name" => "david" }, @response.cookies)
353
- end
354
-
355
- def test_setting_cookie_with_http_only
356
- get :authenticate_with_http_only
357
- assert_cookie_header "user_name=david; path=/; HttpOnly"
358
- assert_equal({ "user_name" => "david" }, @response.cookies)
359
- end
360
-
361
- def test_setting_cookie_with_secure
362
- @request.env["HTTPS"] = "on"
363
- get :authenticate_with_secure
364
- assert_cookie_header "user_name=david; path=/; secure"
365
- assert_equal({ "user_name" => "david" }, @response.cookies)
366
- end
367
-
368
- def test_setting_cookie_with_secure_when_always_write_cookie_is_true
369
- old_cookie, @request.cookie_jar.always_write_cookie = @request.cookie_jar.always_write_cookie, true
370
- get :authenticate_with_secure
371
- assert_cookie_header "user_name=david; path=/; secure"
372
- assert_equal({ "user_name" => "david" }, @response.cookies)
373
- ensure
374
- @request.cookie_jar.always_write_cookie = old_cookie
375
- end
376
-
377
- def test_not_setting_cookie_with_secure
378
- get :authenticate_with_secure
379
- assert_not_cookie_header "user_name=david; path=/; secure"
380
- assert_not_equal({ "user_name" => "david" }, @response.cookies)
381
- end
382
-
383
- def test_multiple_cookies
384
- get :set_multiple_cookies
385
- assert_equal 2, @response.cookies.size
386
- assert_cookie_header "user_name=david; path=/; expires=Mon, 10 Oct 2005 05:00:00 -0000\nlogin=XJ-122; path=/"
387
- assert_equal({ "login" => "XJ-122", "user_name" => "david" }, @response.cookies)
388
- end
389
-
390
- def test_setting_test_cookie
391
- assert_nothing_raised { get :access_frozen_cookies }
392
- end
393
-
394
- def test_expiring_cookie
395
- request.cookies[:user_name] = "Joe"
396
- get :logout
397
- assert_cookie_header "user_name=; path=/; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 -0000"
398
- assert_equal({ "user_name" => nil }, @response.cookies)
399
- end
400
-
401
- def test_delete_cookie_with_path
402
- request.cookies[:user_name] = "Joe"
403
- get :delete_cookie_with_path
404
- assert_cookie_header "user_name=; path=/beaten; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 -0000"
405
- end
406
-
407
- def test_delete_unexisting_cookie
408
- request.cookies.clear
409
- get :delete_cookie
410
- assert_empty @response.cookies
411
- end
412
-
413
- def test_deleted_cookie_predicate
414
- cookies[:user_name] = "Joe"
415
- cookies.delete("user_name")
416
- assert cookies.deleted?("user_name")
417
- assert_equal false, cookies.deleted?("another")
418
- end
419
-
420
- def test_deleted_cookie_predicate_with_mismatching_options
421
- cookies[:user_name] = "Joe"
422
- cookies.delete("user_name", path: "/path")
423
- assert_equal false, cookies.deleted?("user_name", path: "/different")
424
- end
425
-
426
- def test_cookies_persist_throughout_request
427
- response = get :authenticate
428
- assert_match(/user_name=david/, response.headers["Set-Cookie"])
429
- end
430
-
431
- def test_set_permanent_cookie
432
- get :set_permanent_cookie
433
- assert_match(/Jamie/, @response.headers["Set-Cookie"])
434
- assert_match(%r(#{20.years.from_now.utc.year}), @response.headers["Set-Cookie"])
435
- end
436
-
437
- def test_read_permanent_cookie
438
- get :set_permanent_cookie
439
- assert_equal "Jamie", @controller.send(:cookies).permanent[:user_name]
440
- end
441
-
442
- def test_signed_cookie_using_default_digest
443
- get :set_signed_cookie
444
- cookies = @controller.send :cookies
445
- assert_not_equal 45, cookies[:user_id]
446
- assert_equal 45, cookies.signed[:user_id]
447
-
448
- key_generator = @request.env["action_dispatch.key_generator"]
449
- secret = key_generator.generate_key(@request.env["action_dispatch.signed_cookie_salt"])
450
-
451
- verifier = ActiveSupport::MessageVerifier.new(secret, serializer: Marshal, digest: "SHA1")
452
- assert_equal verifier.generate(45), cookies[:user_id]
453
- end
454
-
455
- def test_signed_cookie_using_custom_digest
456
- @request.env["action_dispatch.signed_cookie_digest"] = "SHA256"
457
-
458
- get :set_signed_cookie
459
- cookies = @controller.send :cookies
460
- assert_not_equal 45, cookies[:user_id]
461
- assert_equal 45, cookies.signed[:user_id]
462
-
463
- key_generator = @request.env["action_dispatch.key_generator"]
464
- secret = key_generator.generate_key(@request.env["action_dispatch.signed_cookie_salt"])
465
-
466
- verifier = ActiveSupport::MessageVerifier.new(secret, serializer: Marshal, digest: "SHA256")
467
- assert_equal verifier.generate(45), cookies[:user_id]
468
- end
469
-
470
- def test_signed_cookie_rotating_secret_and_digest
471
- secret = "b3c631c314c0bbca50c1b2843150fe33"
472
-
473
- @request.env["action_dispatch.signed_cookie_digest"] = "SHA256"
474
- @request.env["action_dispatch.cookies_rotations"].rotate :signed, secret, digest: "SHA1"
475
-
476
- old_message = ActiveSupport::MessageVerifier.new(secret, digest: "SHA1", serializer: Marshal).generate(45)
477
- @request.headers["Cookie"] = "user_id=#{old_message}"
478
-
479
- get :get_signed_cookie
480
- assert_equal 45, @controller.send(:cookies).signed[:user_id]
481
-
482
- key_generator = @request.env["action_dispatch.key_generator"]
483
- secret = key_generator.generate_key(@request.env["action_dispatch.signed_cookie_salt"])
484
- verifier = ActiveSupport::MessageVerifier.new(secret, digest: "SHA256", serializer: Marshal)
485
- assert_equal 45, verifier.verify(@response.cookies["user_id"])
486
- end
487
-
488
- def test_signed_cookie_with_legacy_secret_scheme
489
- @request.env["action_dispatch.secret_token"] = "b3c631c314c0bbca50c1b2843150fe33"
490
-
491
- old_message = ActiveSupport::MessageVerifier.new("b3c631c314c0bbca50c1b2843150fe33", digest: "SHA1", serializer: Marshal).generate(45)
492
-
493
- @request.headers["Cookie"] = "user_id=#{old_message}"
494
- get :get_signed_cookie
495
- assert_equal 45, @controller.send(:cookies).signed[:user_id]
496
-
497
- key_generator = @request.env["action_dispatch.key_generator"]
498
- secret = key_generator.generate_key("signed cookie")
499
- verifier = ActiveSupport::MessageVerifier.new(secret, digest: "SHA1", serializer: Marshal)
500
- assert_equal 45, verifier.verify(@response.cookies["user_id"])
501
- end
502
-
503
- def test_tampered_with_signed_cookie
504
- key_generator = @request.env["action_dispatch.key_generator"]
505
- secret = key_generator.generate_key(@request.env["action_dispatch.signed_cookie_salt"])
506
-
507
- verifier = ActiveSupport::MessageVerifier.new(secret, serializer: Marshal, digest: "SHA1")
508
- message = verifier.generate(45)
509
-
510
- @request.headers["Cookie"] = "user_id=#{Marshal.dump 45}--#{message.split("--").last}"
511
- get :get_signed_cookie
512
- assert_nil @controller.send(:cookies).signed[:user_id]
513
- end
514
-
515
- def test_signed_cookie_using_default_serializer
516
- get :set_signed_cookie
517
- cookies = @controller.send :cookies
518
- assert_not_equal 45, cookies[:user_id]
519
- assert_equal 45, cookies.signed[:user_id]
520
- end
521
-
522
- def test_signed_cookie_using_marshal_serializer
523
- @request.env["action_dispatch.cookies_serializer"] = :marshal
524
- get :set_signed_cookie
525
- cookies = @controller.send :cookies
526
- assert_not_equal 45, cookies[:user_id]
527
- assert_equal 45, cookies.signed[:user_id]
528
- end
529
-
530
- def test_signed_cookie_using_json_serializer
531
- @request.env["action_dispatch.cookies_serializer"] = :json
532
- get :set_signed_cookie
533
- cookies = @controller.send :cookies
534
- assert_not_equal 45, cookies[:user_id]
535
- assert_equal 45, cookies.signed[:user_id]
536
- end
537
-
538
- def test_wrapped_signed_cookie_using_json_serializer
539
- @request.env["action_dispatch.cookies_serializer"] = :json
540
- get :set_wrapped_signed_cookie
541
- cookies = @controller.send :cookies
542
- assert_not_equal "wrapped: 45", cookies[:user_id]
543
- assert_equal "wrapped: 45", cookies.signed[:user_id]
544
- end
545
-
546
- def test_signed_cookie_using_custom_serializer
547
- @request.env["action_dispatch.cookies_serializer"] = CustomSerializer
548
- get :set_signed_cookie
549
- assert_not_equal 45, cookies[:user_id]
550
- assert_equal "45 was dumped and loaded", cookies.signed[:user_id]
551
- end
552
-
553
- def test_signed_cookie_using_hybrid_serializer_can_migrate_marshal_dumped_value_to_json
554
- @request.env["action_dispatch.cookies_serializer"] = :hybrid
555
-
556
- key_generator = @request.env["action_dispatch.key_generator"]
557
- secret = key_generator.generate_key(@request.env["action_dispatch.signed_cookie_salt"])
558
-
559
- marshal_value = ActiveSupport::MessageVerifier.new(secret, serializer: Marshal).generate(45)
560
- @request.headers["Cookie"] = "user_id=#{marshal_value}"
561
-
562
- get :get_signed_cookie
563
-
564
- cookies = @controller.send :cookies
565
- assert_not_equal 45, cookies[:user_id]
566
- assert_equal 45, cookies.signed[:user_id]
567
-
568
- verifier = ActiveSupport::MessageVerifier.new(secret, serializer: JSON)
569
- assert_equal 45, verifier.verify(@response.cookies["user_id"])
570
- end
571
-
572
- def test_signed_cookie_using_hybrid_serializer_can_read_from_json_dumped_value
573
- @request.env["action_dispatch.cookies_serializer"] = :hybrid
574
-
575
- key_generator = @request.env["action_dispatch.key_generator"]
576
- secret = key_generator.generate_key(@request.env["action_dispatch.signed_cookie_salt"])
577
-
578
- json_value = ActiveSupport::MessageVerifier.new(secret, serializer: JSON).generate(45)
579
- @request.headers["Cookie"] = "user_id=#{json_value}"
580
-
581
- get :get_signed_cookie
582
-
583
- cookies = @controller.send :cookies
584
- assert_not_equal 45, cookies[:user_id]
585
- assert_equal 45, cookies.signed[:user_id]
586
-
587
- assert_nil @response.cookies["user_id"]
588
- end
589
-
590
- def test_accessing_nonexistent_signed_cookie_should_not_raise_an_invalid_signature
591
- get :set_signed_cookie
592
- assert_nil @controller.send(:cookies).signed[:non_existent_attribute]
593
- end
594
-
595
- def test_encrypted_cookie_using_default_serializer
596
- get :set_encrypted_cookie
597
- cookies = @controller.send :cookies
598
- assert_not_equal "bar", cookies[:foo]
599
- assert_nil cookies.signed[:foo]
600
- assert_equal "bar", cookies.encrypted[:foo]
601
- end
602
-
603
- def test_encrypted_cookie_using_marshal_serializer
604
- @request.env["action_dispatch.cookies_serializer"] = :marshal
605
- get :set_encrypted_cookie
606
- cookies = @controller.send :cookies
607
- assert_not_equal "bar", cookies[:foo]
608
- assert_nil cookies.signed[:foo]
609
- assert_equal "bar", cookies.encrypted[:foo]
610
- end
611
-
612
- def test_encrypted_cookie_using_json_serializer
613
- @request.env["action_dispatch.cookies_serializer"] = :json
614
- get :set_encrypted_cookie
615
- cookies = @controller.send :cookies
616
- assert_not_equal "bar", cookies[:foo]
617
- assert_nil cookies.signed[:foo]
618
- assert_equal "bar", cookies.encrypted[:foo]
619
- end
620
-
621
- def test_wrapped_encrypted_cookie_using_json_serializer
622
- @request.env["action_dispatch.cookies_serializer"] = :json
623
- get :set_wrapped_encrypted_cookie
624
- cookies = @controller.send :cookies
625
- assert_not_equal "wrapped: bar", cookies[:foo]
626
- assert_nil cookies.signed[:foo]
627
- assert_equal "wrapped: bar", cookies.encrypted[:foo]
628
- end
629
-
630
- def test_encrypted_cookie_using_custom_serializer
631
- @request.env["action_dispatch.cookies_serializer"] = CustomSerializer
632
- get :set_encrypted_cookie
633
- assert_not_equal "bar", cookies.encrypted[:foo]
634
- assert_equal "bar was dumped and loaded", cookies.encrypted[:foo]
635
- end
636
-
637
- def test_encrypted_cookie_using_hybrid_serializer_can_migrate_marshal_dumped_value_to_json
638
- @request.env["action_dispatch.cookies_serializer"] = :hybrid
639
-
640
- key_generator = @request.env["action_dispatch.key_generator"]
641
- secret = key_generator.generate_key(@request.env["action_dispatch.authenticated_encrypted_cookie_salt"], 32)
642
-
643
- encryptor = ActiveSupport::MessageEncryptor.new(secret, cipher: "aes-256-gcm", serializer: Marshal)
644
- marshal_value = encryptor.encrypt_and_sign("bar")
645
- @request.headers["Cookie"] = "foo=#{::Rack::Utils.escape marshal_value}"
646
-
647
- get :get_encrypted_cookie
648
-
649
- cookies = @controller.send :cookies
650
- assert_not_equal "bar", cookies[:foo]
651
- assert_equal "bar", cookies.encrypted[:foo]
652
-
653
- json_encryptor = ActiveSupport::MessageEncryptor.new(secret, cipher: "aes-256-gcm", serializer: JSON)
654
- assert_not_nil @response.cookies["foo"]
655
- assert_equal "bar", json_encryptor.decrypt_and_verify(@response.cookies["foo"])
656
- end
657
-
658
- def test_encrypted_cookie_using_hybrid_serializer_can_read_from_json_dumped_value
659
- @request.env["action_dispatch.cookies_serializer"] = :hybrid
660
-
661
- key_generator = @request.env["action_dispatch.key_generator"]
662
- secret = key_generator.generate_key(@request.env["action_dispatch.authenticated_encrypted_cookie_salt"], 32)
663
-
664
- encryptor = ActiveSupport::MessageEncryptor.new(secret, cipher: "aes-256-gcm", serializer: JSON)
665
- json_value = encryptor.encrypt_and_sign("bar")
666
- @request.headers["Cookie"] = "foo=#{::Rack::Utils.escape json_value}"
667
-
668
- get :get_encrypted_cookie
669
-
670
- cookies = @controller.send :cookies
671
- assert_not_equal "bar", cookies[:foo]
672
- assert_equal "bar", cookies.encrypted[:foo]
673
-
674
- assert_nil @response.cookies["foo"]
675
- end
676
-
677
- def test_accessing_nonexistent_encrypted_cookie_should_not_raise_invalid_message
678
- get :set_encrypted_cookie
679
- assert_nil @controller.send(:cookies).encrypted[:non_existent_attribute]
680
- end
681
-
682
- def test_setting_invalid_encrypted_cookie_should_return_nil_when_accessing_it
683
- get :set_invalid_encrypted_cookie
684
- assert_nil @controller.send(:cookies).encrypted[:invalid_cookie]
685
- end
686
-
687
- def test_permanent_signed_cookie
688
- get :set_permanent_signed_cookie
689
- assert_match(%r(#{20.years.from_now.utc.year}), @response.headers["Set-Cookie"])
690
- assert_equal 100, @controller.send(:cookies).signed[:remember_me]
691
- end
692
-
693
- def test_delete_and_set_cookie
694
- request.cookies[:user_name] = "Joe"
695
- get :delete_and_set_cookie
696
- assert_cookie_header "user_name=david; path=/; expires=Mon, 10 Oct 2005 05:00:00 -0000"
697
- assert_equal({ "user_name" => "david" }, @response.cookies)
698
- end
699
-
700
- def test_raise_data_overflow
701
- assert_raise(ActionDispatch::Cookies::CookieOverflow) do
702
- get :raise_data_overflow
703
- end
704
- end
705
-
706
- def test_tampered_cookies
707
- assert_nothing_raised do
708
- get :tampered_cookies
709
- assert_response :success
710
- end
711
- end
712
-
713
- def test_cookie_jar_mutated_by_request_persists_on_future_requests
714
- get :authenticate
715
- cookie_jar = @request.cookie_jar
716
- cookie_jar.signed[:user_id] = 123
717
- assert_equal ["user_name", "user_id"], @request.cookie_jar.instance_variable_get(:@cookies).keys
718
- get :get_signed_cookie
719
- assert_equal ["user_name", "user_id"], @request.cookie_jar.instance_variable_get(:@cookies).keys
720
- end
721
-
722
- def test_raises_argument_error_if_missing_secret
723
- assert_raise(ArgumentError, nil.inspect) {
724
- @request.env["action_dispatch.key_generator"] = ActiveSupport::LegacyKeyGenerator.new(nil)
725
- get :set_signed_cookie
726
- }
727
-
728
- assert_raise(ArgumentError, "".inspect) {
729
- @request.env["action_dispatch.key_generator"] = ActiveSupport::LegacyKeyGenerator.new("")
730
- get :set_signed_cookie
731
- }
732
- end
733
-
734
- def test_raises_argument_error_if_secret_is_probably_insecure
735
- assert_raise(ArgumentError, "password".inspect) {
736
- @request.env["action_dispatch.key_generator"] = ActiveSupport::LegacyKeyGenerator.new("password")
737
- get :set_signed_cookie
738
- }
739
-
740
- assert_raise(ArgumentError, "secret".inspect) {
741
- @request.env["action_dispatch.key_generator"] = ActiveSupport::LegacyKeyGenerator.new("secret")
742
- get :set_signed_cookie
743
- }
744
-
745
- assert_raise(ArgumentError, "12345678901234567890123456789".inspect) {
746
- @request.env["action_dispatch.key_generator"] = ActiveSupport::LegacyKeyGenerator.new("12345678901234567890123456789")
747
- get :set_signed_cookie
748
- }
749
- end
750
-
751
- def test_legacy_signed_cookie_is_read_and_transparently_upgraded_by_signed_cookie_jar_if_both_secret_token_and_secret_key_base_are_set
752
- @request.env["action_dispatch.secret_token"] = "b3c631c314c0bbca50c1b2843150fe33"
753
-
754
- legacy_value = ActiveSupport::MessageVerifier.new("b3c631c314c0bbca50c1b2843150fe33").generate(45)
755
-
756
- @request.headers["Cookie"] = "user_id=#{legacy_value}"
757
- get :get_signed_cookie
758
-
759
- assert_equal 45, @controller.send(:cookies).signed[:user_id]
760
-
761
- key_generator = @request.env["action_dispatch.key_generator"]
762
- secret = key_generator.generate_key(@request.env["action_dispatch.signed_cookie_salt"])
763
- verifier = ActiveSupport::MessageVerifier.new(secret)
764
- assert_equal 45, verifier.verify(@response.cookies["user_id"])
765
- end
766
-
767
- def test_legacy_signed_cookie_is_read_and_transparently_encrypted_by_encrypted_cookie_jar_if_both_secret_token_and_secret_key_base_are_set
768
- @request.env["action_dispatch.secret_token"] = "b3c631c314c0bbca50c1b2843150fe33"
769
-
770
- legacy_value = ActiveSupport::MessageVerifier.new("b3c631c314c0bbca50c1b2843150fe33").generate("bar")
771
-
772
- @request.headers["Cookie"] = "foo=#{legacy_value}"
773
- get :get_encrypted_cookie
774
-
775
- assert_equal "bar", @controller.send(:cookies).encrypted[:foo]
776
-
777
- secret = @request.env["action_dispatch.key_generator"].generate_key(@request.env["action_dispatch.authenticated_encrypted_cookie_salt"], 32)
778
- encryptor = ActiveSupport::MessageEncryptor.new(secret, cipher: "aes-256-gcm", serializer: Marshal)
779
- assert_equal "bar", encryptor.decrypt_and_verify(@response.cookies["foo"])
780
- end
781
-
782
- def test_legacy_json_signed_cookie_is_read_and_transparently_upgraded_by_signed_json_cookie_jar_if_both_secret_token_and_secret_key_base_are_set
783
- @request.env["action_dispatch.cookies_serializer"] = :json
784
- @request.env["action_dispatch.secret_token"] = "b3c631c314c0bbca50c1b2843150fe33"
785
-
786
- legacy_value = ActiveSupport::MessageVerifier.new("b3c631c314c0bbca50c1b2843150fe33", serializer: JSON).generate(45)
787
-
788
- @request.headers["Cookie"] = "user_id=#{legacy_value}"
789
- get :get_signed_cookie
790
-
791
- assert_equal 45, @controller.send(:cookies).signed[:user_id]
792
-
793
- key_generator = @request.env["action_dispatch.key_generator"]
794
- secret = key_generator.generate_key(@request.env["action_dispatch.signed_cookie_salt"])
795
- verifier = ActiveSupport::MessageVerifier.new(secret, serializer: JSON)
796
- assert_equal 45, verifier.verify(@response.cookies["user_id"])
797
- end
798
-
799
- def test_legacy_json_signed_cookie_is_read_and_transparently_encrypted_by_encrypted_json_cookie_jar_if_both_secret_token_and_secret_key_base_are_set
800
- @request.env["action_dispatch.cookies_serializer"] = :json
801
- @request.env["action_dispatch.secret_token"] = "b3c631c314c0bbca50c1b2843150fe33"
802
-
803
- legacy_value = ActiveSupport::MessageVerifier.new("b3c631c314c0bbca50c1b2843150fe33", serializer: JSON).generate("bar")
804
-
805
- @request.headers["Cookie"] = "foo=#{legacy_value}"
806
- get :get_encrypted_cookie
807
-
808
- assert_equal "bar", @controller.send(:cookies).encrypted[:foo]
809
-
810
- cipher = "aes-256-gcm"
811
- salt = @request.env["action_dispatch.authenticated_encrypted_cookie_salt"]
812
- secret = @request.env["action_dispatch.key_generator"].generate_key(salt)[0, ActiveSupport::MessageEncryptor.key_len(cipher)]
813
- encryptor = ActiveSupport::MessageEncryptor.new(secret, cipher: cipher, serializer: JSON)
814
- assert_equal "bar", encryptor.decrypt_and_verify(@response.cookies["foo"])
815
- end
816
-
817
- def test_legacy_json_signed_cookie_is_read_and_transparently_upgraded_by_signed_json_hybrid_jar_if_both_secret_token_and_secret_key_base_are_set
818
- @request.env["action_dispatch.cookies_serializer"] = :hybrid
819
- @request.env["action_dispatch.secret_token"] = "b3c631c314c0bbca50c1b2843150fe33"
820
-
821
- legacy_value = ActiveSupport::MessageVerifier.new("b3c631c314c0bbca50c1b2843150fe33", serializer: JSON).generate(45)
822
-
823
- @request.headers["Cookie"] = "user_id=#{legacy_value}"
824
- get :get_signed_cookie
825
-
826
- assert_equal 45, @controller.send(:cookies).signed[:user_id]
827
-
828
- key_generator = @request.env["action_dispatch.key_generator"]
829
- secret = key_generator.generate_key(@request.env["action_dispatch.signed_cookie_salt"])
830
- verifier = ActiveSupport::MessageVerifier.new(secret, serializer: JSON)
831
- assert_equal 45, verifier.verify(@response.cookies["user_id"])
832
- end
833
-
834
- def test_legacy_json_signed_cookie_is_read_and_transparently_encrypted_by_encrypted_hybrid_cookie_jar_if_both_secret_token_and_secret_key_base_are_set
835
- @request.env["action_dispatch.cookies_serializer"] = :hybrid
836
- @request.env["action_dispatch.secret_token"] = "b3c631c314c0bbca50c1b2843150fe33"
837
-
838
- legacy_value = ActiveSupport::MessageVerifier.new("b3c631c314c0bbca50c1b2843150fe33", serializer: JSON).generate("bar")
839
-
840
- @request.headers["Cookie"] = "foo=#{legacy_value}"
841
- get :get_encrypted_cookie
842
-
843
- assert_equal "bar", @controller.send(:cookies).encrypted[:foo]
844
-
845
- salt = @request.env["action_dispatch.authenticated_encrypted_cookie_salt"]
846
- secret = @request.env["action_dispatch.key_generator"].generate_key(salt)[0, ActiveSupport::MessageEncryptor.key_len("aes-256-gcm")]
847
- encryptor = ActiveSupport::MessageEncryptor.new(secret, cipher: "aes-256-gcm", serializer: JSON)
848
- assert_equal "bar", encryptor.decrypt_and_verify(@response.cookies["foo"])
849
- end
850
-
851
- def test_legacy_marshal_signed_cookie_is_read_and_transparently_upgraded_by_signed_json_hybrid_jar_if_both_secret_token_and_secret_key_base_are_set
852
- @request.env["action_dispatch.cookies_serializer"] = :hybrid
853
- @request.env["action_dispatch.secret_token"] = "b3c631c314c0bbca50c1b2843150fe33"
854
-
855
- legacy_value = ActiveSupport::MessageVerifier.new("b3c631c314c0bbca50c1b2843150fe33").generate(45)
856
-
857
- @request.headers["Cookie"] = "user_id=#{legacy_value}"
858
- get :get_signed_cookie
859
-
860
- assert_equal 45, @controller.send(:cookies).signed[:user_id]
861
-
862
- key_generator = @request.env["action_dispatch.key_generator"]
863
- secret = key_generator.generate_key(@request.env["action_dispatch.signed_cookie_salt"])
864
- verifier = ActiveSupport::MessageVerifier.new(secret, serializer: JSON)
865
- assert_equal 45, verifier.verify(@response.cookies["user_id"])
866
- end
867
-
868
- def test_legacy_marshal_signed_cookie_is_read_and_transparently_encrypted_by_encrypted_hybrid_cookie_jar_if_both_secret_token_and_secret_key_base_are_set
869
- @request.env["action_dispatch.cookies_serializer"] = :hybrid
870
-
871
- @request.env["action_dispatch.use_authenticated_cookie_encryption"] = true
872
- @request.env["action_dispatch.secret_token"] = "b3c631c314c0bbca50c1b2843150fe33"
873
- @request.env["action_dispatch.secret_key_base"] = "c3b95688f35581fad38df788add315ff"
874
-
875
- legacy_value = ActiveSupport::MessageVerifier.new("b3c631c314c0bbca50c1b2843150fe33").generate("bar")
876
-
877
- @request.headers["Cookie"] = "foo=#{legacy_value}"
878
- get :get_encrypted_cookie
879
-
880
- assert_equal "bar", @controller.send(:cookies).encrypted[:foo]
881
-
882
- salt = @request.env["action_dispatch.authenticated_encrypted_cookie_salt"]
883
- secret = @request.env["action_dispatch.key_generator"].generate_key(salt)[0, ActiveSupport::MessageEncryptor.key_len("aes-256-gcm")]
884
- encryptor = ActiveSupport::MessageEncryptor.new(secret, cipher: "aes-256-gcm", serializer: JSON)
885
- assert_equal "bar", encryptor.decrypt_and_verify(@response.cookies["foo"])
886
- end
887
-
888
- def test_legacy_signed_cookie_is_treated_as_nil_by_signed_cookie_jar_if_tampered
889
- @request.env["action_dispatch.secret_token"] = "b3c631c314c0bbca50c1b2843150fe33"
890
-
891
- @request.headers["Cookie"] = "user_id=45"
892
- get :get_signed_cookie
893
-
894
- assert_nil @controller.send(:cookies).signed[:user_id]
895
- assert_nil @response.cookies["user_id"]
896
- end
897
-
898
- def test_legacy_signed_cookie_is_treated_as_nil_by_encrypted_cookie_jar_if_tampered
899
- @request.env["action_dispatch.secret_token"] = "b3c631c314c0bbca50c1b2843150fe33"
900
-
901
- @request.headers["Cookie"] = "foo=baz"
902
- get :get_encrypted_cookie
903
-
904
- assert_nil @controller.send(:cookies).encrypted[:foo]
905
- assert_nil @response.cookies["foo"]
906
- end
907
-
908
- def test_use_authenticated_cookie_encryption_uses_legacy_hmac_aes_cbc_encryption_when_not_enabled
909
- @request.env["action_dispatch.use_authenticated_cookie_encryption"] = nil
910
-
911
- key_generator = @request.env["action_dispatch.key_generator"]
912
- encrypted_cookie_salt = @request.env["action_dispatch.encrypted_cookie_salt"]
913
- encrypted_signed_cookie_salt = @request.env["action_dispatch.encrypted_signed_cookie_salt"]
914
- secret = key_generator.generate_key(encrypted_cookie_salt, ActiveSupport::MessageEncryptor.key_len("aes-256-cbc"))
915
- sign_secret = key_generator.generate_key(encrypted_signed_cookie_salt)
916
- encryptor = ActiveSupport::MessageEncryptor.new(secret, sign_secret, cipher: "aes-256-cbc", digest: "SHA1", serializer: Marshal)
917
-
918
- get :set_encrypted_cookie
919
-
920
- cookies = @controller.send :cookies
921
- assert_not_equal "bar", cookies[:foo]
922
- assert_equal "bar", cookies.encrypted[:foo]
923
- assert_equal "bar", encryptor.decrypt_and_verify(@response.cookies["foo"])
924
- end
925
-
926
- def test_rotating_signed_cookies_digest
927
- @request.env["action_dispatch.signed_cookie_digest"] = "SHA256"
928
- @request.env["action_dispatch.cookies_rotations"].rotate :signed, digest: "SHA1"
929
-
930
- key_generator = @request.env["action_dispatch.key_generator"]
931
-
932
- old_secret = key_generator.generate_key(@request.env["action_dispatch.signed_cookie_salt"])
933
- old_value = ActiveSupport::MessageVerifier.new(old_secret).generate(45)
934
-
935
- @request.headers["Cookie"] = "user_id=#{old_value}"
936
- get :get_signed_cookie
937
-
938
- assert_equal 45, @controller.send(:cookies).signed[:user_id]
939
-
940
- secret = key_generator.generate_key(@request.env["action_dispatch.signed_cookie_salt"])
941
- verifier = ActiveSupport::MessageVerifier.new(secret, digest: "SHA256")
942
- assert_equal 45, verifier.verify(@response.cookies["user_id"])
943
- end
944
-
945
- def test_legacy_hmac_aes_cbc_encrypted_marshal_cookie_is_upgraded_to_authenticated_encrypted_cookie
946
- key_generator = @request.env["action_dispatch.key_generator"]
947
- encrypted_cookie_salt = @request.env["action_dispatch.encrypted_cookie_salt"]
948
- encrypted_signed_cookie_salt = @request.env["action_dispatch.encrypted_signed_cookie_salt"]
949
- secret = key_generator.generate_key(encrypted_cookie_salt, ActiveSupport::MessageEncryptor.key_len("aes-256-cbc"))
950
- sign_secret = key_generator.generate_key(encrypted_signed_cookie_salt)
951
- marshal_value = ActiveSupport::MessageEncryptor.new(secret, sign_secret, cipher: "aes-256-cbc", serializer: Marshal).encrypt_and_sign("bar")
952
-
953
- @request.headers["Cookie"] = "foo=#{marshal_value}"
954
-
955
- get :get_encrypted_cookie
956
-
957
- cookies = @controller.send :cookies
958
- assert_not_equal "bar", cookies[:foo]
959
- assert_equal "bar", cookies.encrypted[:foo]
960
-
961
- aead_salt = @request.env["action_dispatch.authenticated_encrypted_cookie_salt"]
962
- aead_secret = key_generator.generate_key(aead_salt, ActiveSupport::MessageEncryptor.key_len("aes-256-gcm"))
963
- aead_encryptor = ActiveSupport::MessageEncryptor.new(aead_secret, cipher: "aes-256-gcm", serializer: Marshal)
964
-
965
- assert_equal "bar", aead_encryptor.decrypt_and_verify(@response.cookies["foo"])
966
- end
967
-
968
- def test_legacy_hmac_aes_cbc_encrypted_json_cookie_is_upgraded_to_authenticated_encrypted_cookie
969
- @request.env["action_dispatch.cookies_serializer"] = :json
970
-
971
- key_generator = @request.env["action_dispatch.key_generator"]
972
- encrypted_cookie_salt = @request.env["action_dispatch.encrypted_cookie_salt"]
973
- encrypted_signed_cookie_salt = @request.env["action_dispatch.encrypted_signed_cookie_salt"]
974
- secret = key_generator.generate_key(encrypted_cookie_salt, ActiveSupport::MessageEncryptor.key_len("aes-256-cbc"))
975
- sign_secret = key_generator.generate_key(encrypted_signed_cookie_salt)
976
- marshal_value = ActiveSupport::MessageEncryptor.new(secret, sign_secret, cipher: "aes-256-cbc", serializer: JSON).encrypt_and_sign("bar")
977
-
978
- @request.headers["Cookie"] = "foo=#{marshal_value}"
979
-
980
- get :get_encrypted_cookie
981
-
982
- cookies = @controller.send :cookies
983
- assert_not_equal "bar", cookies[:foo]
984
- assert_equal "bar", cookies.encrypted[:foo]
985
-
986
- aead_salt = @request.env["action_dispatch.authenticated_encrypted_cookie_salt"]
987
- aead_secret = key_generator.generate_key(aead_salt)[0, ActiveSupport::MessageEncryptor.key_len("aes-256-gcm")]
988
- aead_encryptor = ActiveSupport::MessageEncryptor.new(aead_secret, cipher: "aes-256-gcm", serializer: JSON)
989
-
990
- assert_equal "bar", aead_encryptor.decrypt_and_verify(@response.cookies["foo"])
991
- end
992
-
993
- def test_legacy_hmac_aes_cbc_encrypted_cookie_using_64_byte_key_is_upgraded_to_authenticated_encrypted_cookie
994
- @request.env["action_dispatch.secret_key_base"] = "c3b95688f35581fad38df788add315ff"
995
- @request.env["action_dispatch.encrypted_cookie_salt"] = "b3c631c314c0bbca50c1b2843150fe33"
996
- @request.env["action_dispatch.encrypted_signed_cookie_salt"] = "b3c631c314c0bbca50c1b2843150fe33"
997
-
998
- # Cookie generated with 64 bytes secret
999
- message = ["566d4e75536d686e633246564e6b493062557079626c566d51574d30515430394c53315665564a694e4563786555744f57537454576b396a5a31566a626e52525054303d2d2d34663234333330623130623261306163363562316266323335396164666364613564643134623131"].pack("H*")
1000
- @request.headers["Cookie"] = "foo=#{message}"
1001
-
1002
- get :get_encrypted_cookie
1003
-
1004
- cookies = @controller.send :cookies
1005
- assert_not_equal "bar", cookies[:foo]
1006
- assert_equal "bar", cookies.encrypted[:foo]
1007
-
1008
- salt = @request.env["action_dispatch.authenticated_encrypted_cookie_salt"]
1009
- secret = @request.env["action_dispatch.key_generator"].generate_key(salt, ActiveSupport::MessageEncryptor.key_len("aes-256-gcm"))
1010
- encryptor = ActiveSupport::MessageEncryptor.new(secret, cipher: "aes-256-gcm", serializer: Marshal)
1011
-
1012
- assert_equal "bar", encryptor.decrypt_and_verify(@response.cookies["foo"])
1013
- end
1014
-
1015
- def test_encrypted_cookie_rotating_secret
1016
- secret = "b3c631c314c0bbca50c1b2843150fe33"
1017
-
1018
- @request.env["action_dispatch.encrypted_cookie_cipher"] = "aes-256-gcm"
1019
- @request.env["action_dispatch.cookies_rotations"].rotate :encrypted, secret
1020
-
1021
- key_len = ActiveSupport::MessageEncryptor.key_len("aes-256-gcm")
1022
-
1023
- old_message = ActiveSupport::MessageEncryptor.new(secret, cipher: "aes-256-gcm", serializer: Marshal).encrypt_and_sign(45)
1024
-
1025
- @request.headers["Cookie"] = "foo=#{::Rack::Utils.escape old_message}"
1026
-
1027
- get :get_encrypted_cookie
1028
- assert_equal 45, @controller.send(:cookies).encrypted[:foo]
1029
-
1030
- key_generator = @request.env["action_dispatch.key_generator"]
1031
- secret = key_generator.generate_key(@request.env["action_dispatch.authenticated_encrypted_cookie_salt"], key_len)
1032
- encryptor = ActiveSupport::MessageEncryptor.new(secret, cipher: "aes-256-gcm", serializer: Marshal)
1033
- assert_equal 45, encryptor.decrypt_and_verify(@response.cookies["foo"])
1034
- end
1035
-
1036
- def test_cookie_with_all_domain_option
1037
- get :set_cookie_with_domain
1038
- assert_response :success
1039
- assert_cookie_header "user_name=rizwanreza; domain=.nextangle.com; path=/"
1040
- end
1041
-
1042
- def test_cookie_with_all_domain_option_using_a_non_standard_tld
1043
- @request.host = "two.subdomains.nextangle.local"
1044
- get :set_cookie_with_domain
1045
- assert_response :success
1046
- assert_cookie_header "user_name=rizwanreza; domain=.nextangle.local; path=/"
1047
- end
1048
-
1049
- def test_cookie_with_all_domain_option_using_australian_style_tld
1050
- @request.host = "nextangle.com.au"
1051
- get :set_cookie_with_domain
1052
- assert_response :success
1053
- assert_cookie_header "user_name=rizwanreza; domain=.nextangle.com.au; path=/"
1054
- end
1055
-
1056
- def test_cookie_with_all_domain_option_using_uk_style_tld
1057
- @request.host = "nextangle.co.uk"
1058
- get :set_cookie_with_domain
1059
- assert_response :success
1060
- assert_cookie_header "user_name=rizwanreza; domain=.nextangle.co.uk; path=/"
1061
- end
1062
-
1063
- def test_cookie_with_all_domain_option_using_host_with_port
1064
- @request.host = "nextangle.local:3000"
1065
- get :set_cookie_with_domain
1066
- assert_response :success
1067
- assert_cookie_header "user_name=rizwanreza; domain=.nextangle.local; path=/"
1068
- end
1069
-
1070
- def test_cookie_with_all_domain_option_using_localhost
1071
- @request.host = "localhost"
1072
- get :set_cookie_with_domain
1073
- assert_response :success
1074
- assert_cookie_header "user_name=rizwanreza; path=/"
1075
- end
1076
-
1077
- def test_cookie_with_all_domain_option_using_ipv4_address
1078
- @request.host = "192.168.1.1"
1079
- get :set_cookie_with_domain
1080
- assert_response :success
1081
- assert_cookie_header "user_name=rizwanreza; path=/"
1082
- end
1083
-
1084
- def test_cookie_with_all_domain_option_using_ipv6_address
1085
- @request.host = "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
1086
- get :set_cookie_with_domain
1087
- assert_response :success
1088
- assert_cookie_header "user_name=rizwanreza; path=/"
1089
- end
1090
-
1091
- def test_deleting_cookie_with_all_domain_option
1092
- request.cookies[:user_name] = "Joe"
1093
- get :delete_cookie_with_domain
1094
- assert_response :success
1095
- assert_cookie_header "user_name=; domain=.nextangle.com; path=/; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 -0000"
1096
- end
1097
-
1098
- def test_cookie_with_all_domain_option_and_tld_length
1099
- get :set_cookie_with_domain_and_tld
1100
- assert_response :success
1101
- assert_cookie_header "user_name=rizwanreza; domain=.nextangle.com; path=/"
1102
- end
1103
-
1104
- def test_cookie_with_all_domain_option_using_a_non_standard_tld_and_tld_length
1105
- @request.host = "two.subdomains.nextangle.local"
1106
- get :set_cookie_with_domain_and_tld
1107
- assert_response :success
1108
- assert_cookie_header "user_name=rizwanreza; domain=.nextangle.local; path=/"
1109
- end
1110
-
1111
- def test_cookie_with_all_domain_option_using_a_non_standard_2_letter_tld
1112
- @request.host = "admin.lvh.me"
1113
- get :set_cookie_with_domain_and_tld
1114
- assert_response :success
1115
- assert_cookie_header "user_name=rizwanreza; domain=.lvh.me; path=/"
1116
- end
1117
-
1118
- def test_cookie_with_all_domain_option_using_host_with_port_and_tld_length
1119
- @request.host = "nextangle.local:3000"
1120
- get :set_cookie_with_domain_and_tld
1121
- assert_response :success
1122
- assert_cookie_header "user_name=rizwanreza; domain=.nextangle.local; path=/"
1123
- end
1124
-
1125
- def test_deleting_cookie_with_all_domain_option_and_tld_length
1126
- request.cookies[:user_name] = "Joe"
1127
- get :delete_cookie_with_domain_and_tld
1128
- assert_response :success
1129
- assert_cookie_header "user_name=; domain=.nextangle.com; path=/; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 -0000"
1130
- end
1131
-
1132
- def test_cookie_with_several_preset_domains_using_one_of_these_domains
1133
- @request.host = "example1.com"
1134
- get :set_cookie_with_domains
1135
- assert_response :success
1136
- assert_cookie_header "user_name=rizwanreza; domain=example1.com; path=/"
1137
- end
1138
-
1139
- def test_cookie_with_several_preset_domains_using_other_domain
1140
- @request.host = "other-domain.com"
1141
- get :set_cookie_with_domains
1142
- assert_response :success
1143
- assert_cookie_header "user_name=rizwanreza; path=/"
1144
- end
1145
-
1146
- def test_cookie_with_several_preset_domains_using_shared_domain
1147
- @request.host = "example3.com"
1148
- get :set_cookie_with_domains
1149
- assert_response :success
1150
- assert_cookie_header "user_name=rizwanreza; domain=.example3.com; path=/"
1151
- end
1152
-
1153
- def test_deletings_cookie_with_several_preset_domains_using_one_of_these_domains
1154
- @request.host = "example2.com"
1155
- request.cookies[:user_name] = "Joe"
1156
- get :delete_cookie_with_domains
1157
- assert_response :success
1158
- assert_cookie_header "user_name=; domain=example2.com; path=/; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 -0000"
1159
- end
1160
-
1161
- def test_deletings_cookie_with_several_preset_domains_using_other_domain
1162
- @request.host = "other-domain.com"
1163
- request.cookies[:user_name] = "Joe"
1164
- get :delete_cookie_with_domains
1165
- assert_response :success
1166
- assert_cookie_header "user_name=; path=/; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 -0000"
1167
- end
1168
-
1169
- def test_cookies_hash_is_indifferent_access
1170
- get :symbol_key
1171
- assert_equal "david", cookies[:user_name]
1172
- assert_equal "david", cookies["user_name"]
1173
- get :string_key
1174
- assert_equal "dhh", cookies[:user_name]
1175
- assert_equal "dhh", cookies["user_name"]
1176
- end
1177
-
1178
- def test_setting_request_cookies_is_indifferent_access
1179
- cookies.clear
1180
- cookies[:user_name] = "andrew"
1181
- get :string_key_mock
1182
- assert_equal "david", cookies["user_name"]
1183
-
1184
- cookies.clear
1185
- cookies["user_name"] = "andrew"
1186
- get :symbol_key_mock
1187
- assert_equal "david", cookies[:user_name]
1188
- end
1189
-
1190
- def test_cookies_retained_across_requests
1191
- get :symbol_key
1192
- assert_cookie_header "user_name=david; path=/"
1193
- assert_equal "david", cookies[:user_name]
1194
-
1195
- get :noop
1196
- assert_not_includes @response.headers, "Set-Cookie"
1197
- assert_equal "david", cookies[:user_name]
1198
-
1199
- get :noop
1200
- assert_not_includes @response.headers, "Set-Cookie"
1201
- assert_equal "david", cookies[:user_name]
1202
- end
1203
-
1204
- def test_cookies_can_be_cleared
1205
- get :symbol_key
1206
- assert_equal "david", cookies[:user_name]
1207
-
1208
- cookies.clear
1209
- get :noop
1210
- assert_nil cookies[:user_name]
1211
-
1212
- get :symbol_key
1213
- assert_equal "david", cookies[:user_name]
1214
- end
1215
-
1216
- def test_can_set_http_cookie_header
1217
- @request.env["HTTP_COOKIE"] = "user_name=david"
1218
- get :noop
1219
- assert_equal "david", cookies["user_name"]
1220
- assert_equal "david", cookies[:user_name]
1221
-
1222
- get :noop
1223
- assert_equal "david", cookies["user_name"]
1224
- assert_equal "david", cookies[:user_name]
1225
-
1226
- @request.env["HTTP_COOKIE"] = "user_name=andrew"
1227
- get :noop
1228
- assert_equal "andrew", cookies["user_name"]
1229
- assert_equal "andrew", cookies[:user_name]
1230
- end
1231
-
1232
- def test_can_set_request_cookies
1233
- @request.cookies["user_name"] = "david"
1234
- get :noop
1235
- assert_equal "david", cookies["user_name"]
1236
- assert_equal "david", cookies[:user_name]
1237
-
1238
- get :noop
1239
- assert_equal "david", cookies["user_name"]
1240
- assert_equal "david", cookies[:user_name]
1241
-
1242
- @request.cookies[:user_name] = "andrew"
1243
- get :noop
1244
- assert_equal "andrew", cookies["user_name"]
1245
- assert_equal "andrew", cookies[:user_name]
1246
- end
1247
-
1248
- def test_cookies_precedence_over_http_cookie
1249
- @request.env["HTTP_COOKIE"] = "user_name=andrew"
1250
- get :authenticate
1251
- assert_equal "david", cookies["user_name"]
1252
- assert_equal "david", cookies[:user_name]
1253
-
1254
- get :noop
1255
- assert_equal "david", cookies["user_name"]
1256
- assert_equal "david", cookies[:user_name]
1257
- end
1258
-
1259
- def test_cookies_precedence_over_request_cookies
1260
- @request.cookies["user_name"] = "andrew"
1261
- get :authenticate
1262
- assert_equal "david", cookies["user_name"]
1263
- assert_equal "david", cookies[:user_name]
1264
-
1265
- get :noop
1266
- assert_equal "david", cookies["user_name"]
1267
- assert_equal "david", cookies[:user_name]
1268
- end
1269
-
1270
- def test_cookies_are_not_cleared
1271
- cookies.encrypted["foo"] = "bar"
1272
- get :noop
1273
- assert_equal "bar", @controller.encrypted_cookie
1274
- end
1275
-
1276
- def test_signed_cookie_with_expires_set_relatively
1277
- cookies.signed[:user_name] = { value: "assain", expires: 2.hours }
1278
-
1279
- travel 1.hour
1280
- assert_equal "assain", cookies.signed[:user_name]
1281
-
1282
- travel 2.hours
1283
- assert_nil cookies.signed[:user_name]
1284
- end
1285
-
1286
- def test_signed_cookie_does_not_embed_expiration_if_config_is_set_to_false
1287
- @request.env['action_dispatch.use_authenticated_cookie_encryption'] = false
1288
-
1289
- cookies.signed[:user_name] = { value: "assain", expires: 2.hours }
1290
-
1291
- travel 1.hour
1292
- assert_equal "assain", cookies.signed[:user_name]
1293
-
1294
- travel 2.hours
1295
- assert_equal "assain", cookies.signed[:user_name]
1296
- end
1297
-
1298
- def test_encrypted_cookie_with_expires_set_relatively
1299
- cookies.encrypted[:user_name] = { value: "assain", expires: 2.hours }
1300
-
1301
- travel 1.hour
1302
- assert_equal "assain", cookies.encrypted[:user_name]
1303
-
1304
- travel 2.hours
1305
- assert_nil cookies.encrypted[:user_name]
1306
- end
1307
-
1308
- def test_encrypted_cookie_does_not_embed_expiration_if_config_is_set_to_false
1309
- @request.env['action_dispatch.use_authenticated_cookie_encryption'] = false
1310
-
1311
- cookies.encrypted[:user_name] = { value: "assain", expires: 2.hours }
1312
-
1313
- travel 1.hour
1314
- assert_equal "assain", cookies.encrypted[:user_name]
1315
-
1316
- travel 2.hours
1317
- assert_equal "assain", cookies.encrypted[:user_name]
1318
- end
1319
-
1320
- def test_vanilla_cookie_with_expires_set_relatively
1321
- travel_to Time.utc(2017, 8, 15) do
1322
- get :cookie_expires_in_two_hours
1323
- assert_cookie_header "user_name=assain; path=/; expires=Tue, 15 Aug 2017 02:00:00 -0000"
1324
- end
1325
- end
1326
-
1327
- private
1328
- def assert_cookie_header(expected)
1329
- header = @response.headers["Set-Cookie"]
1330
- if header.respond_to?(:to_str)
1331
- assert_equal expected.split("\n").sort, header.split("\n").sort
1332
- else
1333
- assert_equal expected.split("\n"), header
1334
- end
1335
- end
1336
-
1337
- def assert_not_cookie_header(expected)
1338
- header = @response.headers["Set-Cookie"]
1339
- if header.respond_to?(:to_str)
1340
- assert_not_equal expected.split("\n").sort, header.split("\n").sort
1341
- else
1342
- assert_not_equal expected.split("\n"), header
1343
- end
1344
- end
1345
- end