1 require 'abstract_unit'
2 require 'action_view/helpers/benchmark_helper'
4 class BenchmarkHelperTest
< ActionView
::TestCase
5 tests ActionView
::Helpers::BenchmarkHelper
8 controller
.logger
.send(:clear_buffer)
12 logger
= ActiveSupport
::BufferedLogger.new(StringIO
.new
)
13 logger
.auto_flushing
= false
14 @controller ||= Struct
.new(:logger).new(logger
)
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
)