Revert benchmark helper regression. Use a #capture within a #benchmark

block. Breaks benchmark calls that return non-String values otherwise.

Revert "add benchmark helper that works in erb"

This reverts commit 904e544cc8f5846de7c31827bb5556c6a238c0de.

Conflicts:
	actionpack/lib/action_view/helpers.rb
	actionpack/lib/action_view/helpers/benchmark_helper.rb
	actionpack/test/template/benchmark_helper_test.rb
This commit is contained in:
Jeremy Kemper 2013-01-14 10:24:43 -07:00
parent 0246712bc1
commit bf095770e5
3 changed files with 3 additions and 39 deletions

@ -1,3 +1,5 @@
require 'active_support/benchmarkable'
module ActionView #:nodoc:
module Helpers #:nodoc:
extend ActiveSupport::Autoload
@ -6,7 +8,6 @@ module Helpers #:nodoc:
autoload :AssetTagHelper
autoload :AssetUrlHelper
autoload :AtomFeedHelper
autoload :BenchmarkHelper
autoload :CacheHelper
autoload :CaptureHelper
autoload :ControllerHelper
@ -29,11 +30,11 @@ module Helpers #:nodoc:
extend ActiveSupport::Concern
include ActiveSupport::Benchmarkable
include ActiveModelHelper
include AssetTagHelper
include AssetUrlHelper
include AtomFeedHelper
include BenchmarkHelper
include CacheHelper
include CaptureHelper
include ControllerHelper

@ -1,13 +0,0 @@
require 'active_support/benchmarkable'
module ActionView
module Helpers
module BenchmarkHelper #:nodoc:
include ActiveSupport::Benchmarkable
def benchmark(*)
capture { super }
end
end
end
end

@ -1,24 +0,0 @@
require 'abstract_unit'
require 'stringio'
class BenchmarkHelperTest < ActionView::TestCase
include RenderERBUtils
tests ActionView::Helpers::BenchmarkHelper
def test_output_in_erb
output = render_erb("Hello <%= benchmark do %>world<% end %>")
expected = 'Hello world'
assert_equal expected, output
end
def test_returns_value_from_block
assert_equal 'test', benchmark { 'test' }
end
def test_default_message
log = StringIO.new
self.stubs(:logger).returns(Logger.new(log))
benchmark {}
assert_match(/Benchmarking \(\d+.\d+ms\)/, log.rewind && log.read)
end
end