diff options
author | José Valim <jose.valim@gmail.com> | 2011-06-07 23:39:49 -0700 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2011-06-07 23:39:49 -0700 |
commit | c6503f48bd13c696fcc81f2a4a87b8cd7c009657 (patch) | |
tree | c4c1ddcce93b19d22b5ec69d01cc5f4aa1a19ed5 | |
parent | 185235333c7b345e7cbb6384446c89d8447f5d79 (diff) | |
parent | 1bbc51e5a73a5f97565abae43f13f96209441bb8 (diff) | |
download | rails-c6503f48bd13c696fcc81f2a4a87b8cd7c009657.tar.gz rails-c6503f48bd13c696fcc81f2a4a87b8cd7c009657.tar.bz2 rails-c6503f48bd13c696fcc81f2a4a87b8cd7c009657.zip |
Merge pull request #1547 from sikachu/safebuffer
Fix ActionPack tests on `master`
-rw-r--r-- | actionpack/lib/action_view/helpers/cache_helper.rb | 10 | ||||
-rw-r--r-- | actionpack/lib/action_view/helpers/url_helper.rb | 4 | ||||
-rw-r--r-- | actionpack/test/abstract_unit.rb | 1 |
3 files changed, 10 insertions, 5 deletions
diff --git a/actionpack/lib/action_view/helpers/cache_helper.rb b/actionpack/lib/action_view/helpers/cache_helper.rb index d070f14af1..b57617b3d1 100644 --- a/actionpack/lib/action_view/helpers/cache_helper.rb +++ b/actionpack/lib/action_view/helpers/cache_helper.rb @@ -51,9 +51,13 @@ module ActionView # This dance is needed because Builder can't use capture pos = output_buffer.length yield - safe_output_buffer = output_buffer.to_str - fragment = safe_output_buffer.slice!(pos..-1) - self.output_buffer = ActionView::OutputBuffer.new(safe_output_buffer) + if output_buffer.is_a?(ActionView::OutputBuffer) + safe_output_buffer = output_buffer.to_str + fragment = safe_output_buffer.slice!(pos..-1) + self.output_buffer = ActionView::OutputBuffer.new(safe_output_buffer) + else + fragment = output_buffer.slice!(pos..-1) + end controller.write_fragment(name, fragment, options) end end diff --git a/actionpack/lib/action_view/helpers/url_helper.rb b/actionpack/lib/action_view/helpers/url_helper.rb index 25411856cb..489b96856d 100644 --- a/actionpack/lib/action_view/helpers/url_helper.rb +++ b/actionpack/lib/action_view/helpers/url_helper.rb @@ -497,14 +497,14 @@ module ActionView }.compact extras = extras.empty? ? '' : '?' + ERB::Util.html_escape(extras.join('&')) - email_address_obfuscated = email_address.dup + email_address_obfuscated = email_address.to_str email_address_obfuscated.gsub!(/@/, html_options.delete("replace_at")) if html_options.key?("replace_at") email_address_obfuscated.gsub!(/\./, html_options.delete("replace_dot")) if html_options.key?("replace_dot") case encode when "javascript" string = '' html = content_tag("a", name || email_address_obfuscated.html_safe, html_options.merge("href" => "mailto:#{email_address}#{extras}".html_safe)) - html = escape_javascript(html) + html = escape_javascript(html.to_str) "document.write('#{html}');".each_byte do |c| string << sprintf("%%%x", c) end diff --git a/actionpack/test/abstract_unit.rb b/actionpack/test/abstract_unit.rb index 60534a9746..24d071df39 100644 --- a/actionpack/test/abstract_unit.rb +++ b/actionpack/test/abstract_unit.rb @@ -151,6 +151,7 @@ class BasicController config.assets_dir = public_dir config.javascripts_dir = "#{public_dir}/javascripts" config.stylesheets_dir = "#{public_dir}/stylesheets" + config.assets = ActiveSupport::InheritableOptions.new({ :prefix => "assets" }) config end end |