aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/dispatch
Commit message (Collapse)AuthorAgeFilesLines
* Request#check_method no longer breaks when :en is not available localeStefan Henzen2014-10-091-0/+16
| | | | | | | | Request#check_method would use to_sentence(locale: :en), which breaks when I18n.available_locales does not include :en and I18n.enforce_available_locales is true (default). Inlined to_sentence functionality to solve this.
* Use Hash#each_key instead of Hash#keys.eachErik Michaels-Ober2014-09-291-1/+1
| | | | | | Hash#keys.each allocates an array of keys; Hash#each_key iterates through the keys without allocating a new array. This is the reason why Hash#each_key exists.
* Revert "Merge pull request #16966 from why-el/symbolize-path-params"Rafael Mendonça França2014-09-251-8/+0
| | | | | | | | This reverts commit 9d05d6de52871e57bfbf54a60de005e8a5f5b0e4, reversing changes made to 0863c9248fd47a15e88e05ce4fcd80966684c0e3. The change in the behaviour reported at #16958 doesn't exist since 4.0 and 4.1 works in the same way
* Ensure named path params are symbols (Fixes #16958)Mohamed Wael Khobalatte2014-09-251-0/+8
|
* Rescue Rack::Utils::ParameterTypeError instead of TypeErrorYuki Nishijima2014-09-131-3/+3
| | | | | | | | As of rack/rack@167b6480235ff00ed5f355698bf00ec2f250f72e, Rack raises Rack::Utils::ParameterTypeError which inherits TypeError. In terms of the behavior, Rescuing TypeError still works but this method shouldn't rescue if TypeError is raised for other reasons.
* Add support for Rack::ContentLength middelwareJavan Makhmali2014-09-061-0/+14
|
* Deprecate implicit AD::Response splatting and Array conversionJeremy Kemper2014-09-061-3/+17
|
* Add test to assert_recognizes with custom messageRafael Mendonça França2014-09-051-1/+9
|
* Merge pull request #14911 from estsauver/14908Rafael Mendonça França2014-09-051-0/+8
|\ | | | | | | Propagate test messages through assert_routing helper, Fixes #14908
| * Propagate test messages through assert_routing helper, Fixes #14908Earl St Sauver2014-04-291-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | assert_routing was not raising the message passed into the assertion violation that it raised. This change propagates messages through the on_fail error. This fixes this error: https://github.com/rails/rails/issues/14908 A test case for this issue is located here. https://github.com/estsauver/test14908 To see that test case fail in the example app, just run ruby -Itest test/controllers/guests_controller_test.rb
* | Merge pull request #16637 from Agis-/redirect-with-constraint-routeAaron Patterson2014-08-281-0/+24
|\ \ | | | | | | Fix the router ignoring constraints when used together with a redirect route
| * | Don't ignore constraints in redirect routesAgis-2014-08-251-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | https://github.com/rails/rails/commit/402c2af55053c2f29319091ad21fd6fa6b90ee89 introduced a regression that caused any constraints added to redirect routes to be ignored. Fixes #16605
* | | Refactor out Dir.glob from ActionDispatch::Staticschneems2014-08-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Dir.glob can be a security concern. The original use was to provide logic of fallback files. Example a request to `/` should render the file from `/public/index.html`. We can replace the dir glob with the specific logic it represents. The glob {,index,index.html} will look for the current path, then in the directory of the path with index file and then in the directory of the path with index.html. This PR replaces the glob logic by manually checking each potential match. Best case scenario this results in one less file API request, worst case, this has one more file API request. Related to #16464 Update: added a test for when a file of a given name (`public/bar.html` and a directory `public/bar` both exist in the same root directory. Changed logic to accommodate this scenario.
* | | Use less iterations for KeyGenerator in testsPeter Suschlik2014-08-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit improves performance of cookie tests: Ruby | After | Before ----- | --------:| --------: MRI | 5.03s | 9.28s JRuby | 25.45s | 1648.23s Please note the improvement for JRuby.
* | | Address comments on Gzip implementationschneems2014-08-241-2/+24
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | - don't mutate PATH_INFO in env, test - test fallback content type matches Rack::File - change assertion style - make HTTP_ACCEPT_ENCODING comparison case insensitive - return gzip path from method instead of true/false so we don't have to assume later - don't allocate un-needed hash. Original comments: https://github.com/rails/rails/commit/ cfaaacd9763642e91761de54c90669a88d772e5a#commitcomment-7468728 cc @jeremy
* | Avoid duplicating routes for HEAD requests.Guo Xiang Tan2014-08-211-0/+12
| | | | | | | | | | | | | | | | Follow up to rails#15321 Instead of duplicating the routes, we will first match the HEAD request to HEAD routes. If no match is found, we will then map the HEAD request to GET routes.
* | Enable gzip compression by defaultschneems2014-08-201-2/+22
| | | | | | | | | | | | If someone is using ActionDispatch::Static to serve assets and makes it past the `match?` then the file exists on disk and it will be served. This PR adds in logic that checks to see if the file being served is already compressed (via gzip) and on disk, if it is it will be served as long as the client can handle gzip encoding. If not, then a non gzip file will be served. This additional logic slows down an individual asset request but should speed up the consumer experience as compressed files are served and production applications should be delivered with a CDN. This PR allows a CDN to cache a gzip file by setting the `Vary` header appropriately. In net this should speed up a production application that are using Rails as an origin for a CDN. Non-asset request speed is not affected in this PR.
* | Protect against error when parsing parameters with Bad RequestRafael Mendonça França2014-08-191-0/+25
| | | | | | | | Related with #11795.
* | Expectations firstAkira Matsuda2014-08-184-11/+11
| |
* | Use AS::JSON for (de)serializing cookiesGodfrey Chan2014-08-171-0/+39
| | | | | | | | | | | | | | | | Use the Active Support JSON encoder for cookie jars using the `:json` or `:hybrid` serializer. This allows you to serialize custom Ruby objects into cookies by defining the `#as_json` hook on such objects. Fixes #16520.
* | Fixed broken reference caused by 14965baGodfrey Chan2014-08-171-2/+2
| |
* | Merge pull request #16467 from strzalek/cookies-digest-config-option2Godfrey Chan2014-08-171-0/+50
|\ \ | | | | | | | | | | | | | | | | | | | | | Cookies digest config option (pt. 2) Conflicts: actionpack/CHANGELOG.md actionpack/lib/action_dispatch/middleware/cookies.rb
| * | Add config option for cookies digestŁukasz Strzałkowski2014-08-121-0/+50
| | | | | | | | | | | | | | | | | | You can now configure custom digest for cookies in the same way as `serializer`: config.action_dispatch.cookies_digest = 'SHA256'
* | | fewer operations on the options hashAaron Patterson2014-08-131-1/+1
| | | | | | | | | | | | | | | since we pass `as` down, then we won't have to do an insert / delete dance with the options hash
* | | [ci skip] fix spelling of overrideAkshay Vishnoi2014-08-131-1/+1
| | |
* | | Revert "Merge pull request #16434 from strzalek/cookies-digest-config-option"Santiago Pastorino2014-08-081-17/+0
| | | | | | | | | | | | | | | | | | | | | This reverts commit 705977620539e2be6548027042f33175ebdc2505, reversing changes made to dde91e9bf5ab246f0f684b40288b272f4ba9a699. IT BROKE THE BUILD!!!
* | | Add config option for cookies digestŁukasz Strzałkowski2014-08-081-0/+17
|/ / | | | | | | | | | | You can now configure custom digest for cookies in the same way as `serializer`: config.action_dispatch.cookies_digest = \SHA256'
* | call the routes method on enginesAaron Patterson2014-08-051-74/+37
| | | | | | | | if we access the instance, we can free up lots of codes
* | a rails application should be an engine subclassAaron Patterson2014-08-051-1/+1
| |
* | no reason to lazily instantiate the routesAaron Patterson2014-08-051-45/+42
| | | | | | | | | | especially if you're just going to add a call two lines down that populates the cache. common.
* | just assign the instance variables on the testAaron Patterson2014-08-051-7/+3
| |
* | Regenerate sid when sbdy tries to fixate the sessionSantiago Pastorino2014-08-041-9/+8
| | | | | | | | | | | | Fixed broken test. Thanks Stephen Richards for reporting.
* | Remove unnecessary call to #tapCarlos Antonio da Silva2014-07-311-5/+3
| | | | | | | | | | This is not storying the RouteSet instance anywhere as the other examples in the file, so no need to use #tap.
* | Merge pull request #16303 from rajcybage/removing_masterYves Senn2014-07-281-0/+2
|\ \ | | | | | | | | | remove empty unused method
| * | add comment to the empty each method for not removing it in futureRajarshi Das2014-07-261-1/+2
|/ /
* | Improve description of tests.Guo Xiang Tan2014-07-251-4/+4
| |
* | Bug fix for assert_template when opening a new session.Guo Xiang Tan2014-07-251-0/+40
| | | | | | | | See https://github.com/rails/rails/pull/16234#commitcomment-7115670.
* | Fix AC::TemplateAssertions instance variables not resetting.Guo Xiang Tan2014-07-211-0/+58
| | | | | | | | Fixes https://github.com/rails/rails/issues/16119.
* | Merge pull request #16098 from tgxworld/fixes_to_request_testRafael Mendonça França2014-07-181-22/+14
|\ \ | | | | | | Fixes to request method test.
| * | Remove redundant test.Guo Xiang Tan2014-07-181-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | Since we're stubbing the request, the test is actually just asserting that `@method = env['REQUEST_METHOD']`. In order to the test against the methodoverride middleware, we should test it against an actual request. However, Rack is already covering this scenario so we can remove this test.
| * | Fix duplicated test.Guo Xiang Tan2014-07-181-2/+6
| | | | | | | | | | | | | | | There is already another test covering Request#request_method. This test should cover Request#method.
| * | Update test to clearly reflect what it is testing for.Guo Xiang Tan2014-07-181-5/+7
| | |
| * | Update outdated test.Guo Xiang Tan2014-07-181-6/+3
| | | | | | | | | | | | | | | The current test is asserting against an outdated version of Request#method where HEAD requests are treated as GET requests.
* | | Add CHANGELOG for #14886Arthur Neves2014-07-181-1/+1
| | | | | | | | | | | | | | | | | | | | | Also cleanup test a bit [related #14886] [related #14743]
* | | LOCALHOST definition should match any 127.0.0.0/8 addressEarl J St Sauver2014-07-181-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The entire 127.0.0.0/8 range is assigned to the loopback address, not only 127.0.0.0/24. This patch allows ActionDispatch::Request::LOCALHOST to match any IPv4 127.0.0.0/8 loopback address. The only place that the #local? method was previously under test was in the show_expectations_test.rb file. I don't particularly like that that's implicitly where this code is under test, and I feel like I should move some of that testing code into the test/dispatch/request_test.rb file, but I wanted some feedback first. Credit goes to @sriedel for discovering the issue and adding the patch.
* | | Rails-ish apps should descend from Rails::RailtieAaron Patterson2014-07-162-5/+12
| | | | | | | | | | | | | | | Use an is_a check to ensure it's a Railsish app so we can avoid respond_to calls everywhere.
* | | always transcode the file to utf-8Aaron Patterson2014-07-161-0/+6
| | | | | | | | | | | | | | | | | | people may be passing filenames to the constructor that are not utf-8, but they will assome that calling `original_filename` returns utf-8 (because that's what it used to do).
* | | RouteSet should be in charge of constructing the dispatherAaron Patterson2014-07-151-2/+2
| | | | | | | | | | | | Now we can override how requests are dispatched in the routeset object
* | | Stash original path in `ShowExceptions` middlewareGrey Baker2014-07-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `ActionDispatch::ShowExceptions` overwrites `PATH_INFO` with the status code for the exception defined in `ExceptionWrapper`, so the path the user was visiting when an exception occurred was not previously available to any custom exceptions_app. The original `PATH_INFO` is now stashed in `env["action_dispatch.original_path"]`.
* | | Merge pull request #13999 from jamox/update_rackAaron Patterson2014-07-082-7/+17
|\ \ \ | |/ / |/| | This updates rails to use edge rack