aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/testing
Commit message (Collapse)AuthorAgeFilesLines
* Replace decaying routing internals w/ rack-mountJoshua Peek2009-10-191-1/+8
|
* Test cases should see all the cookies, not just cookies that have been set ↵Craig Smith2009-10-151-1/+1
| | | | | | | | | | | | | in the controller. Previously this example would always pass, even when cookies.delete was not called. @request.cookies['foo'] = 'bar' get :delete_cookie assert_nil cookies['foo'] Signed-off-by: Michael Koziarski <michael@koziarski.com> [#2768 state:committed]
* Ported the new ActionView::TestCase from 2-3-stable to master [#3260Erik Ostrom2009-09-281-1/+1
| | | | | | | | | | | | | | | | | state:resolved] The test case now mimicks the template environment more closely, so it's possible to use render, load helper dependencies. This also fixes assert_select, and similar assertions. Because view tests and helpers generally don't render full templates assert_select looks first in rendered and then in output_buffer to find the rendered output. Additional `master'-only changes: Made the Action Pack Rakefile run the ActionView::TestCase tests, and made ActionView::Rendering#_render_text always return a string. Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Move middleware and route configuration from AC::Dispatcher to Rails ↵Joshua Peek2009-09-261-2/+0
| | | | application object
* Move railties/lib/* into railties/lib/*Yehuda Katz + Carl Lerche2009-09-241-0/+1
|
* Move helpers specific to functional tests out of TestProcess into AC::TestCaseJoshua Peek2009-09-232-152/+149
|
* Move integration test runner into ActionDispatchJoshua Peek2009-09-232-493/+0
|
* Omit PATH_INFO in integration test so rack mock will properly override itJoshua Peek2009-09-131-1/+0
|
* Cleanup hacky routing with controller_path in url helper tests. This doesn't ↵Joshua Peek2009-09-061-1/+1
| | | | work in real life anyway.
* rack-test 0.4.2 has rack 1.1.pre goodies, we'll use it insteadJoshua Peek2009-08-312-9/+7
|
* Back off rack 1.1-pre and bundle in the new testing goodiesJoshua Peek2009-08-312-2/+3
|
* Reset session in integration tests after changing routes to reload the ↵Joshua Peek2009-08-271-1/+3
| | | | middleware stack
* Got tests to pass with some more changes.Yehuda Katz2009-08-151-1/+1
| | | | | | | | | | | | | | | | * request.formats is much simpler now * For XHRs or Accept headers with a single item, we use the Accept header * For other requests, we use params[:format] or fallback to HTML * This is primarily to work around the fact that browsers provide completely broken Accept headers, so we have to whitelist the few cases we can specifically isolate and treat other requests as coming from the browser * For APIs, we can support single-item Accept headers, which disambiguates from the browsers * Requests to an action that only has an XML template from the browser will no longer find the template. This worked previously because most browsers provide a catch-all */*, but this was mostly accidental behavior. If you want to serve XML, either use the :xml format in links, or explicitly specify the XML template: render "template.xml".
* More perf work:Yehuda Katz2009-08-112-2/+1
| | | | | | | | | | | | | | * Move #set_cookie and #delete_cookie inline to optimize. These optimizations should almost certainly be sent back upstream to Rack. The optimization involves using an ivar for cookies instead of indexing into the headers each time. * Was able to use a bare Hash for headers now that cookies have their own joining semantics (some code assumed that the raw cookies were an Array). * Cache blankness of body on body= * Improve expand_cache_key for Arrays of a single element (common in our case) * Use a simple layout condition check unless conditions are used * Cache visible actions * Lazily load the UrlRewriter * Make etag an ivar that is set on prepare!
* Got overhead down from 127 to 85. All tests pass:Yehuda Katz2009-08-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * Tentatively replaced HeaderHash with SimpleHeaderHash, which does not preserve case but does handle converting Arrays to Strings in to_hash. This requires further discussion. * Moved default_charset to ActionDispatch::Response to avoid having to hop over to ActionController. Ideally, this would be a constant on AD::Response, but some tests expect to be able to change it dynamically and I didn't want to change them yet. * Completely override #initialize from Rack::Response. Previously, it was creating a HeaderHash, and then we were creating an entirely new one. There is no way to call super without incurring the overhead of creating a HeaderHash. * Override #write from Rack::Response. Its implementation tracks Content-Length, and doing so adds additional overhead that could be mooted if other middleware changes the body. It is more efficiently done at the top-level server. * Change sending_file to an instance_variable instead of header inspection. In general, if a state is important, it should be set as a property of the response not reconstructed later. * Set the Etag to @body instead of .body. AS::Cache.expand_cache_key handles Arrays fine, and it's more efficient to let it handle the body parts, since it is not forced to create a joined String. * If we detect the default cache control case, just set it, rather than setting the constituent parts and then running the normal (expensive) code to generate the string.
* Update cache_control to be a Hash of options that is used to build the header.Yehuda Katz2009-08-021-1/+1
| | | | * Significantly simplifies setting and modifying cache control in other areas
* Merge docrailsPratik Naik2009-07-251-2/+2
|
* Add some missing dependenciesYehuda Katz2009-07-151-0/+1
|
* Missed file from the previous commit 92b229e1251d7d3578c3f73e8185972354e76436Pratik Naik2009-06-251-0/+15
|
* Make performance tests work againPratik Naik2009-06-251-15/+0
|
* Merge process2 into process to people's regular tests run :PYehuda Katz + Carl Lerche2009-06-163-115/+12
|
* Finish making things pass with updated internal content_type semanticsYehuda Katz + Carl Lerche2009-06-151-0/+2
|
* uses Object#metaclass and Object#class_eval in a few spotsXavier Noria2009-06-121-1/+2
| | | | | | [#2797 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Break up DependencyModule's dual function of providing a "depend_on" DSL and ↵Joshua Peek2009-05-281-1/+1
| | | | "included" block DSL into separate modules. But, unify both approaches under AS::Concern.
* Get controller/test_test.rb to pass on new baseCarl Lerche2009-05-261-1/+2
|
* Make assertion tests pass with the new basePratik Naik2009-05-221-0/+1
|
* Remove some response content type concepts from ActionViewYehuda Katz + Carl Lerche2009-05-211-0/+1
|
* Add Streaming to new basePratik Naik2009-05-211-0/+1
|
* Made ActionController::Verification work with new_basePratik Naik2009-05-211-1/+1
|
* Added responds_to to new base.Yehuda Katz + Carl Lerche2009-05-201-0/+1
|
* Temporarily bundle rack-test while MockSession is bakingJoshua Peek2009-05-191-1/+2
|
* Refactor ActionController instantiation captureBryan Helmkamp2009-05-191-14/+10
|
* Integrating Rack::MockSession (from Rack::Test)Bryan Helmkamp2009-05-191-12/+13
|
* Change integration test helpers to accept Rack environment instead of just ↵Pratik Naik2009-05-191-6/+4
| | | | | | | HTTP Headers. Before : get '/path', {}, 'Accept' => 'text/javascript' After : get '/path', {}, 'HTTP_ACCEPT' => 'text/javascript'
* Rescue hack was supposed to be removed. Some how it crept back in.Joshua Peek2009-05-171-3/+0
|
* Cherry-pick core extensionsJeremy Kemper2009-05-131-0/+1
|
* Implemented redirects and partial rendering in new base.Yehuda Katz + Carl Lerche2009-05-122-4/+7
|
* Merge branch 'master' into wip_abstract_controllerYehuda Katz + Carl Lerche2009-05-112-22/+30
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: actionpack/lib/action_controller/abstract/callbacks.rb actionpack/lib/action_controller/abstract/renderer.rb actionpack/lib/action_controller/base/base.rb actionpack/lib/action_controller/dispatch/dispatcher.rb actionpack/lib/action_controller/routing/route_set.rb actionpack/lib/action_controller/testing/process.rb actionpack/test/abstract_controller/layouts_test.rb actionpack/test/controller/filters_test.rb actionpack/test/controller/helper_test.rb actionpack/test/controller/render_test.rb actionpack/test/new_base/test_helper.rb
| * Switch functional tests to run through the rack interface instead of processJoshua Peek2009-05-021-2/+11
| |
| * Functional test runner finalizes response just like the integration test ↵Joshua Peek2009-05-021-1/+4
| | | | | | | | | | runner. In both runners, the @response object will now behave the same. Some functional tests will need to be updated if they are relying on preprocessed data on the response.
| * Deprecate assert_redirect_to's partial hash matchingJoshua Peek2009-05-021-9/+9
| |
* | Aliased AbstractController::ActionNotFound to ActionController::UnknownActionYehuda Katz + Carl Lerche2009-05-111-0/+1
| |
* | Implement FooController.action(:name)Yehuda Katz2009-05-021-0/+4
| | | | | | | | | | | | * Rails actions are now Rack endpoints, and can be retrieved via FooController.action(name) and called with an env * Updated some tests that relied on the old internal #process/#call implementation
* | Get render :inline workingYehuda Katz + Carl Lerche2009-05-011-1/+1
| |
* | A few more tweaks to get new Base running old render tests againYehuda Katz + Carl Lerche2009-05-011-2/+2
| |
* | Starting to get new_base to run on old testsYehuda Katz + Carl Lerche2009-05-011-0/+68
|/
* alias method chain process with testJoshua Peek2009-04-301-3/+6
|
* Move TestRequest#query_parameters into AD TestRequestJoshua Peek2009-04-301-12/+2
|
* Set rack.input instead of RAW_POST_DATA in TestRequestJoshua Peek2009-04-301-28/+11
|
* Missed stray @request_uriJoshua Peek2009-04-301-2/+0
|