1
require 'abstract_unit'
2
require 'action_view/helpers/benchmark_helper'
4
class BenchmarkHelperTest < ActionView::TestCase
5
tests ActionView::Helpers::BenchmarkHelper
9
controller.logger = ActiveSupport::BufferedLogger.new(StringIO.new)
10
controller.logger.auto_flushing = false
14
controller.logger.send(:clear_buffer)
17
def test_without_block
18
assert_raise(LocalJumpError) { benchmark }
24
benchmark { i_was_run = true }
31
benchmark('test_run') { i_was_run = true }
33
assert_last_logged 'test_run'
36
def test_with_message_and_deprecated_level
40
benchmark('debug_run', :debug) { i_was_run = true }
44
assert_last_logged 'debug_run'
48
controller.logger.level = ActiveSupport::BufferedLogger::DEBUG
49
benchmark('included_debug_run', :level => :debug) { }
50
assert_last_logged 'included_debug_run'
53
def test_outside_level
54
controller.logger.level = ActiveSupport::BufferedLogger::ERROR
55
benchmark('skipped_debug_run', :level => :debug) { }
56
assert_no_match(/skipped_debug_run/, buffer.last)
58
controller.logger.level = ActiveSupport::BufferedLogger::DEBUG
61
def test_without_silencing
62
benchmark('debug_run', :silence => false) do
63
controller.logger.info "not silenced!"
66
assert_equal 2, buffer.size
69
def test_with_silencing
70
benchmark('debug_run', :silence => true) do
71
controller.logger.info "silenced!"
74
assert_equal 1, buffer.size
80
controller.logger.send(:buffer)
83
def assert_last_logged(message = 'Benchmarking')
84
assert_match(/^#{message} \(.*\)$/, buffer.last)