tracks/vendor/rails/actionpack/test/template/benchmark_helper_test.rb
Luke Melia 901a58f8a3 Upgraded to Rails 2.1. This can have wide ranging consequences, so please help track down any issues introduced by the upgrade. Requires environment.rb modifications.
Changes you will need to make:

 * In your environment.rb, you will need to update references to a few files per environment.rb.tmpl
 * In your environment.rb, you will need to specify the local time zone of the computer that is running your Tracks install.

Other notes on my changes:

 * Modified our code to take advantage of Rails 2.1's slick time zone support.
 * Upgraded will_paginate for compatibility
 * Hacked the Selenium on Rails plugin, which has not been updated in some time and does not support Rails 2.1
 * Verified that all tests pass on my machine, including Selenium tests -- I'd like confirmation from others, too.
2008-06-17 01:13:25 -04:00

60 lines
1.4 KiB
Ruby

require 'abstract_unit'
require 'action_view/helpers/benchmark_helper'
class BenchmarkHelperTest < ActionView::TestCase
tests ActionView::Helpers::BenchmarkHelper
class MockLogger
attr_reader :logged
def initialize
@logged = []
end
def method_missing(method, *args)
@logged << [method, args]
end
end
def controller
@controller ||= Struct.new(:logger).new(MockLogger.new)
end
def test_without_block
assert_raise(LocalJumpError) { benchmark }
assert controller.logger.logged.empty?
end
def test_defaults
i_was_run = false
benchmark { i_was_run = true }
assert i_was_run
assert 1, controller.logger.logged.size
assert_last_logged
end
def test_with_message
i_was_run = false
benchmark('test_run') { i_was_run = true }
assert i_was_run
assert 1, controller.logger.logged.size
assert_last_logged 'test_run'
end
def test_with_message_and_level
i_was_run = false
benchmark('debug_run', :debug) { i_was_run = true }
assert i_was_run
assert 1, controller.logger.logged.size
assert_last_logged 'debug_run', :debug
end
private
def assert_last_logged(message = 'Benchmarking', level = :info)
last = controller.logger.logged.last
assert 2, last.size
assert_equal level, last.first
assert 1, last[1].size
assert last[1][0] =~ /^#{message} \(.*\)$/
end
end