From 7b08d87e1c31601a9df4b30b56879dbf8731b497 Mon Sep 17 00:00:00 2001 From: Sebastian A. Espindola Date: Sun, 25 Jul 2010 03:37:36 -0300 Subject: [PATCH] Fixed output_buffer encoding problem [#5179] --- .../lib/action_view/helpers/capture_helper.rb | 2 +- actionpack/test/template/javascript_helper_test.rb | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletions(-) diff --git a/actionpack/lib/action_view/helpers/capture_helper.rb b/actionpack/lib/action_view/helpers/capture_helper.rb index f9105ca..89e95e8 100644 --- a/actionpack/lib/action_view/helpers/capture_helper.rb +++ b/actionpack/lib/action_view/helpers/capture_helper.rb @@ -165,7 +165,7 @@ module ActionView def with_output_buffer(buf = nil) #:nodoc: unless buf buf = ActionView::OutputBuffer.new - buf.force_encoding(output_buffer.encoding) if output_buffer && buf.respond_to?(:force_encoding) + buf.force_encoding(output_buffer.encoding) if output_buffer.respond_to?(:encoding) && buf.respond_to?(:force_encoding) end self.output_buffer, old_buffer = buf, output_buffer yield diff --git a/actionpack/test/template/javascript_helper_test.rb b/actionpack/test/template/javascript_helper_test.rb index c5c2a6b..eccb706 100644 --- a/actionpack/test/template/javascript_helper_test.rb +++ b/actionpack/test/template/javascript_helper_test.rb @@ -89,6 +89,15 @@ class JavaScriptHelperTest < ActionView::TestCase link_to_function("Greeting", "alert('Hello world!')", :href => 'http://example.com/') end + def test_link_to_function_with_inner_block + html = link_to_function("Greet me!") do |page| + content_tag :h1 do + 'Hi' + end + end + end + + def test_javascript_tag self.output_buffer = 'foo' -- 1.7.0.4