37 lines
985 B
Ruby
37 lines
985 B
Ruby
require 'test/unit'
|
|
require 'rubygems'
|
|
|
|
# gem install redgreen for colored test output
|
|
begin require 'redgreen'; rescue LoadError; end
|
|
|
|
require 'boot' unless defined?(ActiveRecord)
|
|
|
|
class Test::Unit::TestCase
|
|
protected
|
|
def assert_respond_to_all object, methods
|
|
methods.each do |method|
|
|
[method.to_s, method.to_sym].each { |m| assert_respond_to object, m }
|
|
end
|
|
end
|
|
|
|
def collect_deprecations
|
|
old_behavior = WillPaginate::Deprecation.behavior
|
|
deprecations = []
|
|
WillPaginate::Deprecation.behavior = Proc.new do |message, callstack|
|
|
deprecations << message
|
|
end
|
|
result = yield
|
|
[result, deprecations]
|
|
ensure
|
|
WillPaginate::Deprecation.behavior = old_behavior
|
|
end
|
|
end
|
|
|
|
# Wrap tests that use Mocha and skip if unavailable.
|
|
def uses_mocha(test_name)
|
|
require 'mocha' unless Object.const_defined?(:Mocha)
|
|
rescue LoadError => load_error
|
|
$stderr.puts "Skipping #{test_name} tests. `gem install mocha` and try again."
|
|
else
|
|
yield
|
|
end
|