1 require "#{File.dirname(__FILE__)}/../abstract_unit"
2 require 'action_view/helpers/benchmark_helper'
4 class BenchmarkHelperTest < Test::Unit::TestCase
5 include ActionView::Helpers::BenchmarkHelper
14 def method_missing(method, *args)
15 @logged << [method, args]
20 @logger = MockLogger.new
23 def test_without_logger_or_block
25 assert_nothing_raised { benchmark }
28 def test_without_block
29 assert_raise(LocalJumpError) { benchmark }
30 assert @logger.logged.empty?
33 def test_without_logger
36 benchmark { i_was_run = true }
42 benchmark { i_was_run = true }
44 assert 1, @logger.logged.size
50 benchmark('test_run') { i_was_run = true }
52 assert 1, @logger.logged.size
53 assert_last_logged 'test_run'
56 def test_with_message_and_level
58 benchmark('debug_run', :debug) { i_was_run = true }
60 assert 1, @logger.logged.size
61 assert_last_logged 'debug_run', :debug
65 def assert_last_logged(message = 'Benchmarking', level = :info)
66 last = @logger.logged.last
68 assert_equal level, last.first
69 assert 1, last[1].size
70 assert last[1][0] =~ /^#{message} \(.*\)$/