aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2012-02-20 11:48:14 -0800
committerJosé Valim <jose.valim@gmail.com>2012-02-20 11:48:14 -0800
commit8c870f11f2acecc56bfb6e77db2330cd9bdd9135 (patch)
treeaf11d970322b2527eb7101a992e33068c5669aae
parent3b824d66cd17965e3a9e76e36d569cf14463dcec (diff)
parent68d3a4619490a0d9df1951f38068bd06d9e0fbb9 (diff)
downloadrails-8c870f11f2acecc56bfb6e77db2330cd9bdd9135.tar.gz
rails-8c870f11f2acecc56bfb6e77db2330cd9bdd9135.tar.bz2
rails-8c870f11f2acecc56bfb6e77db2330cd9bdd9135.zip
Merge pull request #5101 from ckdake/ckdake_actionview_handler_reset
Reset memoized hash keys when new ActionView::Template handler is registered
-rw-r--r--actionpack/lib/action_view/template/handlers.rb1
-rw-r--r--actionpack/test/template/render_test.rb6
2 files changed, 7 insertions, 0 deletions
diff --git a/actionpack/lib/action_view/template/handlers.rb b/actionpack/lib/action_view/template/handlers.rb
index aa693335e3..192e527a7b 100644
--- a/actionpack/lib/action_view/template/handlers.rb
+++ b/actionpack/lib/action_view/template/handlers.rb
@@ -26,6 +26,7 @@ module ActionView #:nodoc:
# return the rendered template as a string.
def register_template_handler(extension, klass)
@@template_handlers[extension.to_sym] = klass
+ @@template_extensions = nil
end
def template_handler_extensions
diff --git a/actionpack/test/template/render_test.rb b/actionpack/test/template/render_test.rb
index b1a866b148..893c3498e8 100644
--- a/actionpack/test/template/render_test.rb
+++ b/actionpack/test/template/render_test.rb
@@ -329,6 +329,12 @@ module RenderTestCases
ActionView::Template.register_template_handler :foo, CustomHandler
assert_equal 'source: "Hello, <%= name %>!"', @view.render(:inline => "Hello, <%= name %>!", :locals => { :name => "Josh" }, :type => :foo)
end
+
+ def test_render_knows_about_types_registered_when_extensions_are_checked_earlier_in_initialization
+ ActionView::Template::Handlers.extensions
+ ActionView::Template.register_template_handler :foo, CustomHandler
+ assert ActionView::Template::Handlers.extensions.include?(:foo)
+ end
def test_render_ignores_templates_with_malformed_template_handlers
ActiveSupport::Deprecation.silence do