aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorSebastian A. Espindola <sespindola@gmail.com>2010-07-25 03:37:36 -0300
committerJosé Valim <jose.valim@gmail.com>2010-07-25 16:33:04 +0200
commit8d5b792e7dadf8b2f64b75b6fee51d15fde70699 (patch)
treebf7da2be389fe3bb4f70637c40aab6823f44633b /actionpack
parent749948a264ded0aebd77ead087be15d8d5a51ea0 (diff)
downloadrails-8d5b792e7dadf8b2f64b75b6fee51d15fde70699.tar.gz
rails-8d5b792e7dadf8b2f64b75b6fee51d15fde70699.tar.bz2
rails-8d5b792e7dadf8b2f64b75b6fee51d15fde70699.zip
Fixed output_buffer encoding problem [#5179]
Signed-off-by: Santiago Pastorino <santiago@wyeworks.com> Signed-off-by: José Valim <jose.valim@gmail.com>
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_view/helpers/capture_helper.rb2
-rw-r--r--actionpack/test/template/javascript_helper_test.rb9
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 f9105ca364..89e95e8694 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 c5c2a6b952..eccb706501 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'