aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test
Commit message (Collapse)AuthorAgeFilesLines
* pull `formatted` up the stackAaron Patterson2015-08-121-1/+10
| | | | this reduces the number of times we have to mutate the options hash.
* add a regression test for scoped `format` paramsAaron Patterson2015-08-121-0/+11
| | | | This just ensures that `format` is applied to things inside the scope
* add a regression test for adding arbitrary keys to `scope`Aaron Patterson2015-08-121-0/+15
|
* add a method to `Scope` for getting mapping optionsAaron Patterson2015-08-121-1/+2
| | | | | Eventually we don't want to expose the "options" hash from scope, only read values from it. Lets start by adding a reader method.
* pull `via` all the way out of `add_route`Aaron Patterson2015-08-121-0/+8
|
* add a test for adding "via" using `scope`Aaron Patterson2015-08-121-0/+9
|
* pull `via` extraction upAaron Patterson2015-08-121-2/+2
| | | | | | We're going to try pulling this up further, and check `via` validity sooner. This way we don't have to do a bunch of processing on `options` hashes only to find out that the route is incorrect
* Merge pull request #21203 from denniss/issue-21199Sean Griffin2015-08-111-0/+8
|\ | | | | Authorization scheme should be case insensitive. Fixes #21199
| * Authorization scheme should be case insensitive. Fixes #21199Dennis Suratna2015-08-111-0/+8
| |
* | pull `to` upAaron Patterson2015-08-111-1/+1
| | | | | | | | | | this way we don't have to insert / delete it from the options hash so many times.
* | push option decomposition up a bit moreAaron Patterson2015-08-111-2/+2
| | | | | | | | | | I think we can find the original place where `action` is added to the options hash now.
* | pull up the "options.delete(:controller)" logicAaron Patterson2015-08-111-2/+2
| | | | | | | | | | | | we want to try to pull this logic up to where the user actually passed in "controller" so that it's close to the related call. That way when we're down the stack, we don't need to wonder "why are we doing this?"
* | Refactor route assertion methods in resources testeileencodes2015-08-081-50/+51
| | | | | | | | | | | | | | | | The tests and methods were hard to read with `options[:options]` all over the place. This refactoring makes the code easier to understand. The change came out of work for moving the underlying code of controller tests to integraiton tests.
* | Merge pull request #11352 from xaviershay/dispatcher-apiRafael Mendonça França2015-08-083-17/+14
|\ \ | | | | | | Allow a custom dispatcher to be provided to routing.
| * | Allow a custom dispatcher to be provided to routing.Xavier Shay2015-08-073-17/+14
| | |
* | | Fix deprecation warning in testseileencodes2015-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using the string version of the class reference is now deprecated when referencing middleware. This should be written as a class not as a string. Deprecation warning that this change fixes: ``` DEPRECATION WARNING: Passing strings or symbols to the middleware builder is deprecated, please change them to actual class references. For example: "ActionDispatch::ShowExceptions" => ActionDispatch::ShowExceptions ```
* | | Refactor to remove DrawOnce moduleeileencodes2015-08-081-27/+8
|/ / | | | | | | | | | | We were doing extra work that could be pushed off to Integration test and SharedRoutes. Creating an extra module isn't necessary when those are created by their respective classes.
* | remove vestigial codeAaron Patterson2015-08-071-43/+0
| | | | | | | | | | Looks like this was left over from converting Rails to Rack. I think it's safe to remove now.
* | finish deprecating handling strings and symbolsAaron Patterson2015-08-075-61/+20
| | | | | | | | | | since we only work with instances of classes, it greatly simplifies the `Middleware` implementation.
* | Using strings or symbols for middleware class names is deprecated.Aaron Patterson2015-08-073-30/+26
| | | | | | | | | | | | | | | | | | | | Convert things like this: middleware.use "Foo::Bar" to this: middleware.use Foo::Bar
* | simplify the Middleware constructorAaron Patterson2015-08-071-39/+24
| | | | | | | | | | | | We should do the hard work outside the constructor. Also fix the tests to not directly construct middleware objects, but to go through the stack object.
* | do not add common ports to HTTP_HOSTMichael Grosser2015-08-061-0/+19
| | | | | | | | | | - webservers do not do it - it makes redirect urls ugly when request.host is used for redirection
* | ExceptionWrapper doesn't need to know about `env`Aaron Patterson2015-08-061-17/+15
| | | | | | | | | | | | ExceptionWrapper only cares about the backtrace cleaner, so lets just pass the cleaner to the wrapper. It does not need to know that env exists or what key the backtrace cleaner is stored in
* | use a request object to reduce string allocations and not know about ENV keysAaron Patterson2015-08-061-1/+1
| |
* | Merge pull request #21131 from eagletmt/percent-filenameRafael Mendonça França2015-08-062-0/+21
|\ \ | | | | | | Fix Encoding::UndefinedConversionError with multibyte UTF-8 filename containing "%" character
| * | Add failing spec on utf8 filename with percent characterKohei Suzuki2015-08-042-0/+21
| |/
* / Adds missing argument handling for ActionController::TestSession toMatthew Gerrior2015-08-061-0/+10
|/ | | | allow testing controllers that use session#fetch with a default value.
* Add missing assertion for test_route_with_colon_firstAditya Kapoor2015-08-031-2/+4
|
* Merge pull request #20590 from vngrs/set_default_charsetRafael Mendonça França2015-07-271-0/+7
|\ | | | | Document, refactor and create test case for ActionDispatch::Response
| * Document, refactor and create test case for ↵Mehmet Emin İNAÇ2015-06-171-0/+7
| | | | | | | | ActionDispatch::Response#charset= method
* | Fix state being carried over from previous transactionRoque Pinel2015-07-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This clears the transaction record state when the transaction finishes with a `:committed` status. Considering the following example where `name` is a required attribute. Before we had `new_record?` returning `true` for a persisted record: ```ruby author = Author.create! name: 'foo' author.name = nil author.save # => false author.new_record? # => true ```
* | Fix exception overwritten for parameters fetch methodRoque Pinel2015-07-181-0/+13
| | | | | | | | | | | | | | | | | | When executing an `ActionController::Parameters#fetch` with a block that raises a `KeyError` the raised `KeyError` will be rescued and converted to an `ActionController::ParameterMissing` exception, covering up the original exception. [Jonas Schubert Erlandsson & Roque Pinel]
* | Stop using deprecated `render :text` in testPrem Sichanugrist2015-07-1732-215/+215
| | | | | | | | | | | | | | | | | | This will silence deprecation warnings. Most of the test can be changed from `render :text` to render `:plain` or `render :body` right away. However, there are some tests that needed to be fixed by hand as they actually assert the default Content-Type returned from `render :body`.
* | Add deprecation warning for `render :text`Prem Sichanugrist2015-07-171-11/+42
| | | | | | | | | | | | We've started on discouraging the usage of `render :text` in #12374. This is a follow-up commit to make sure that we print out the deprecation warning.
* | Skip a few failing tests on JRuby with the attached ticketsRobin Dupret2015-07-173-0/+8
| |
* | Make AC::Parameters not inherited from HashPrem Sichanugrist2015-07-156-7/+11
| | | | | | | | | | | | | | | | This is another take at #14384 as we decided to wait until `master` is targeting Rails 5.0. This commit is implementation-complete, as it guarantees that all the public methods on the hash-inherited Parameters are still working (based on test case). We can decide to follow-up later if we want to remove some methods out from Parameters.
* | Merge pull request #20866 from jdantonio/countdown-latchAaron Patterson2015-07-142-21/+21
|\ \ | | | | | | Replace `ActiveSupport::Concurrency::Latch` with `Concurrent::CountDownLatch` from concurrent-ruby.
| * | Replaced `ActiveSupport::Concurrency::Latch` with concurrent-ruby.Jerry D'Antonio2015-07-132-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The concurrent-ruby gem is a toolset containing many concurrency utilities. Many of these utilities include runtime-specific optimizations when possible. Rather than clutter the Rails codebase with concurrency utilities separate from the core task, such tools can be superseded by similar tools in the more specialized gem. This commit replaces `ActiveSupport::Concurrency::Latch` with `Concurrent::CountDownLatch`, which is functionally equivalent.
* | | Merge pull request #20877 from sikachu/rename-ac-test_responseRafael Mendonça França2015-07-141-1/+1
|\ \ \ | | | | | | | | Change AC::TestResponse to AD::TestResponse
| * | | Change AC::TestResponse to AD::TestResponsePrem Sichanugrist2015-07-141-1/+1
| | | | | | | | | | | | | | | | | | | | ActionController::TestResponse was removed in d9fe10c and caused a test failure on Action View as its test case still refers to it.
* | | | only call methods that are on the superclassAaron Patterson2015-07-143-7/+6
|/ / / | | | | | | | | | | | | | | | We want to treat the response object as if it's a real response object (not a test object), so we should only call methods that are on the superclass.
* | | use a lookup table for `assert_response`Aaron Patterson2015-07-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | We shouldn't depend on specific methods imlemented in the TestResponse subclass because the response could actually be a real response object. In the future, we should either push the aliased predicate methods in TestResponse up to the real response object, or remove them
* | | only have one TestResponse classAaron Patterson2015-07-131-1/+1
|/ /
* | use `Rack::Test::UploadedFile` when uploading filesAaron Patterson2015-07-091-2/+2
| | | | | | | | | | We should use rack-test's upload file objects on the test side so that we will be able to correctly generate mime blob posts in the future
* | set parameters as a query stringAaron Patterson2015-07-091-1/+1
| | | | | | | | | | | | We should convert request parameters to a query string, then let the request object parse that query string. This should give us results that are more similar to the real-world
* | use JSON to communicate between the controller and the testsAaron Patterson2015-07-091-12/+12
| |
* | build and assign parameters rather than rely on mutationsAaron Patterson2015-07-081-3/+3
| | | | | | | | | | We should assign parameters to the request object rather than mutate the hash that is returned by `query_parameters` or `request_parameters`
* | request objects are no longer recycledAaron Patterson2015-07-081-6/+0
| | | | | | | | | | | | Instead of trying to manually clear out a request object, lets just allocate a new one. The rack ENV is reused and cleaned (still), but the request object is not.
* | pass the variant as a parameter to more reflect real world appsAaron Patterson2015-07-081-3/+3
| |
* | add a new constructor for allocating test requestsAaron Patterson2015-07-081-9/+9
| |