aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/template/render_test.rb
Commit message (Collapse)AuthorAgeFilesLines
...
* All tests pass without memoizing view_contextCarlhuda2010-03-181-1/+1
|
* Add deprecation notices for <% %>.Carlhuda2010-03-151-0/+8
| | | | | | | | | | | | | | | | * The approach is to compile <% %> into a method call that checks whether the value returned from a block is a String. If it is, it concats to the buffer and prints a deprecation warning. * <%= %> uses exactly the same logic to compile the template, which first checks to see whether it's compiling a block. * This should have no impact on other uses of block in templates. For instance, in <% [1,2,3].each do |i| %><%= i %><% end %>, the call to each returns an Array, not a String, so the result is not concatenated * In two cases (#capture and #cache), a String can be returned that should *never* be concatenated. We have temporarily created a String subclass called NonConcattingString which behaves (and is serialized) identically to String, but is not concatenated by the code that handles deprecated <% %> block helpers. Once we remove support for <% %> block helpers, we can remove NonConcattingString.
* Optimize and clean up how details key get expired.José Valim2010-03-101-4/+4
|
* Speed up performance in resolvers by adding fallbacks just when required.José Valim2010-03-081-3/+3
|
* Solved a problem that prevented render :file => work in layoutsJose Fernandez2010-03-051-0/+5
| | | | Signed-off-by: wycats <wycats@gmail.com>
* Fix some tests that relied on hardcoded Exception information (ht: evan)Yehuda Katz2010-03-021-2/+2
|
* Reorganize autoloads:Carlhuda2009-12-021-4/+4
| | | | | | | | | | | | | | | | | | | | | * A new module (ActiveSupport::Autoload) is provide that extends autoloading with new behavior. * All autoloads in modules that have extended ActiveSupport::Autoload will be eagerly required in threadsafe environments * Autoloads can optionally leave off the path if the path is the same as full_constant_name.underscore * It is possible to specify that a group of autoloads live under an additional path. For instance, all of ActionDispatch's middlewares are ActionDispatch::MiddlewareName, but they live under "action_dispatch/middlewares/middleware_name" * It is possible to specify that a group of autoloads are all found at the same path. For instance, a number of exceptions might all be declared there. * One consequence of this is that testing-related constants are not autoloaded. To get the testing helpers for a given component, require "component_name/test_case". For instance, "action_controller/test_case". * test_help.rb, which is automatically required by a Rails application's test helper, requires the test_case.rb for all active components, so this change will not be disruptive in existing or new applications.
* Switch to on-by-default XSS escaping for rails.Michael Koziarski2009-10-081-1/+1
| | | | | | | | | | | | This consists of: * String#html_safe! a method to mark a string as 'safe' * ActionView::SafeBuffer a string subclass which escapes anything unsafe which is concatenated to it * Calls to String#html_safe! throughout the rails helpers * a 'raw' helper which lets you concatenate trusted HTML from non-safety-aware sources (e.g. presantized strings in the DB) * New ERB implementation based on erubis which uses a SafeBuffer instead of a String Hat tip to Django for the inspiration.
* Ensure changes to I18n locale get reset during testsJoshua Peek2009-09-191-9/+5
|
* Got tests to pass with some more changes.Yehuda Katz2009-08-151-0/+2
| | | | | | | | | | | | | | | | * 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 cleanup of ActionView and reduction in need for blocks in some cases:Yehuda Katz2009-08-151-1/+1
| | | | | | | | * only one of partial_name or :as will be available as a local * `object` is removed * Simplify _layout_for in most cases. * Remove <% render :partial do |args| %> * <% render :partial do %> still works fine
* Clean up ActionView some:Yehuda Katz2009-08-151-11/+23
| | | | | | | | | | * Call _evaluate_assigns_and_ivars at the two entry points so we don't have to do a check at every render. * Make template.render viable without having to go through a wrapper method * Remove old TemplateHandler#render(template, local_assigns) path so we don't have to set self.template every time we render a template. * Move Template rescuing code to Template#render so it gets caught every time. * Pull in some tests from Pratik that test render @object in ActionView
* Rename ActionView::Template::Path ActionView::ResolverYehuda Katz + Carl Lerche2009-06-171-3/+3
|
* Fixing pending tests and fixed some formats / partial rendering semanticsYehuda Katz + Carl Lerche2009-06-171-23/+0
|
* ActionPack components should no longer have undeclared dependencies.Yehuda Katz + Carl Lerche2009-06-081-1/+1
| | | | | | | * Tests can be run in isolation * Dependencies added * A few tests modified to avoid depending on AS deps not depended on my files they were testing
* Ensure ERB source begins with the encoding commentJeremy Kemper2009-06-011-4/+21
|
* Ruby 1.9: ERB template encoding using a magic comment at the top of the fileJeremy Kemper2009-05-281-1/+1
|
* Refactor ActionView::TemplateYehuda Katz + Carl Lerche2009-04-271-11/+3
| | | | | | | | ActionView::Template is now completely independent from template storage, which allows different back ends such as the database. ActionView::Template's only responsibility is to take in the template source (passed in from ActionView::Path), compile it, and render it.
* Refactor ActionView::PathYehuda Katz + Carl Lerche2009-04-221-12/+8
| | | | | | | | * Decouple from ActionController and ActionMailer * Bring back localization support. * Prepare to decouple templates from the filesystem. * Prepare to decouple localization from ActionView * Fix ActionMailer to take advantage of ActionView::Path
* Makes rails-dev-boost work againCarl Lerche & Yehuda Katz2009-04-141-3/+3
|
* Bring abstract_controller up to date with rails/masterCarl Lerche & Yehuda Katz2009-04-131-1/+58
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolved all the conflicts since 2.3.0 -> HEAD. Following is a list of commits that could not be applied cleanly or are obviated with the abstract_controller refactor. They all need to be revisited to ensure that fixes made in 2.3 do not reappear in 3.0: 2259ecf368e6a6715966f69216e3ee86bf1a82a7 AR not available * This will be reimplemented with ActionORM or equivalent 06182ea02e92afad579998aa80144588e8865ac3 implicitly rendering a js response should not use the default layout [#1844 state:resolved] * This will be handled generically 893e9eb99504705419ad6edac14d00e71cef5f12 Improve view rendering performance in development mode and reinstate template recompiling in production [#1909 state:resolved] * We will need to reimplement rails-dev-boost on top of the refactor; the changes here are very implementation specific and cannot be cleanly applied. The following commits are implicated: 199e750d46c04970b5e7684998d09405648ecbd4 3942cb406e1d5db0ac00e03153809cc8dc4cc4db f8ea9f85d4f1e3e6f3b5d895bef6b013aa4b0690 e3b166aab37ddc2fbab030b146eb61713b91bf55 ae9f258e03c9fd5088da12c1c6cd216cc89a01f7 44423126c6f6133a1d9cf1d0832b527e8711d40f 0cb020b4d6d838025859bd60fb8151c8e21b8e84 workaround for picking layouts based on wrong view_paths [#1974 state:resolved] * The specifics of this commit no longer apply. Since it is a two-line commit, we will reimplement this change. 8c5cc66a831aadb159f3daaffa4208064c30af0e make action_controller/layouts pick templates from the current instance's view_paths instead of the class view_paths [#1974 state:resolved] * This does not apply at all. It should be trivial to apply the feature to the reimplemented ActionController::Base. 87e8b162463f13bd50d27398f020769460a770e3 fix HTML fallback for explicit templates [#2052 state:resolved] * There were a number of patches related to this that simply compounded each other. Basically none of them apply cleanly, and the underlying issue needs to be revisited. After discussing the underlying problem with Koz, we will defer these fixes for further discussion.
| * Additional template render test for backup files [#2367 state:resolved]Cezary Baginski2009-04-021-0/+6
| | | | | | | | Signed-off-by: Joshua Peek <josh@joshpeek.com>
| * Fixed simplified render with nested models [#2042 state:resolved]Joshua Peek2009-03-071-0/+4
| |
| * Fix spelling in test name.Mike Gunderloy2009-02-281-1/+1
| | | | | | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
| * Template without a known template handler should only be reachable through ↵thedarkone2009-02-241-0/+10
| | | | | | | | | | | | its exact path. [#2027 state:resolved] Signed-off-by: Joshua Peek <josh@joshpeek.com>
| * Port fast reloadable templates from rails-dev-boost.thedarkone2009-02-121-4/+25
| |
| * Improve view rendering performance in development mode and reinstate ↵Andrew White2009-02-091-14/+1
| | | | | | | | | | | | template recompiling in production [#1909 state:resolved] Signed-off-by: Joshua Peek <josh@joshpeek.com>
| * Render implicit html template when xhr request now supports localization ↵José Valim2009-02-071-0/+19
| | | | | | | | | | | | [#1886 state:resolved] Signed-off-by: Joshua Peek <josh@joshpeek.com>
| * Added support to dashed locales in templates localization [#1888 state:resolved]José Valim2009-02-061-0/+9
| | | | | | | | Signed-off-by: Joshua Peek <josh@joshpeek.com>
| * Ruby 1.9 compat: change encoding of action_view/renderable to utf-8, so erb ↵Eugene Pimenov2009-02-061-0/+9
| | | | | | | | | | | | | | | | templates can use utf-8 properly [#1881 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
| * Fix unsorted array comparisonJeremy Kemper2009-01-311-1/+1
| |
* | Add support for pendingYehuda Katz2009-02-021-7/+11
| |
* | Merge commit 'rails/3-0-unstable'Yehuda Katz2009-01-301-1/+1
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | Conflicts: actionpack/lib/action_controller/base.rb actionpack/lib/action_dispatch/http/mime_type.rb actionpack/lib/action_dispatch/http/request.rb actionpack/lib/action_view/base.rb actionpack/lib/action_view/paths.rb actionpack/test/controller/session/cookie_store_test.rb actionpack/test/dispatch/rack_test.rb actionpack/test/dispatch/request_test.rb
| * Begin unifying the interface between ActionController and ActionViewYehuda Katz2009-01-221-1/+1
| |
* | Add localized templatesJoshua Peek2009-01-251-0/+15
|/ | | | | | | | # Default locale app/views/messages/index.html.erb # I18n.locale is set to :da (Danish) app/views/messages/index.da.html.erb
* Clean up view path cruft and split path implementations into Template::Path ↵Joshua Peek2008-12-291-3/+4
| | | | and Template::EagerPath
* Set template_format to html inside rjs templates so renders within it ↵Joshua Peek2008-12-041-6/+0
| | | | default to html.
* fixed template recompile issue with previous commit and add some better ↵Joshua Peek2008-11-281-8/+18
| | | | tests so we can make sure it doesn't happen again
* Reinstate "Super lazy load view paths in development mode (no indexing or ↵Joshua Peek2008-11-281-2/+15
| | | | caching at all). Switch layout finders to use view path api to take advantage of cache." as it killed dev mode reloading."
* Revert "Super lazy load view paths in development mode (no indexing or ↵David Heinemeier Hansson2008-11-271-15/+2
| | | | | | caching at all). Switch layout finders to use view path api to take advantage of cache." as it killed dev mode reloading. This reverts commit 4d910b033379727e5e7355590c50c72fc75e56db.
* Super lazy load view paths in development mode (no indexing or caching at ↵Joshua Peek2008-11-261-2/+15
| | | | all). Switch layout finders to use view path api to take advantage of cache.
* A back support for legacy TemplateHandler#render APIJoshua Peek2008-11-231-0/+11
|
* Changed the default of ActionView#render to assume partials instead of files ↵David Heinemeier Hansson2008-11-191-7/+15
| | | | when not given an options hash [DHH]
* Dup local assigns for partial collections so nil values doesn't get ↵Joshua Peek2008-10-301-0/+4
| | | | overwritten [#1250 state:resolved]
* Ensure @content_for_* is checked before yielding to block in render :layout ↵Ryan Bates2008-10-281-0/+10
| | | | | | [#8994 state:resolved] Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Track rendered templates in stack so the current template can always be ↵Joshua Peek2008-10-281-0/+4
| | | | accessed. Added ActionView::Base#template to access the template object.
* Fixed missing template paths on exception [#1082 state:resolved]Claudio Poli2008-09-201-1/+17
| | | | Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Ensure :partial => @collection and :collection => @collection behaves same. ↵Ryan Bates2008-08-221-0/+4
| | | | | | [#884 state:resolved] Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Return nil instead of a space when passing an empty collection or nil to ↵Ryan Bates2008-08-191-0/+8
| | | | | | 'render :partial' [#791 state:resolved] Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Fix rendering partials at the top level [#795 state:resolved]Joshua Peek2008-08-131-0/+18
|