2012-07-04 14:16:21 -04:00
|
|
|
|
gem 'minitest' # make sure we get the gem, not stdlib
|
2012-01-06 18:18:12 -05:00
|
|
|
|
require 'minitest/spec'
|
2008-11-23 17:48:36 -05:00
|
|
|
|
require 'active_support/testing/setup_and_teardown'
|
|
|
|
|
require 'active_support/testing/assertions'
|
|
|
|
|
require 'active_support/testing/deprecation'
|
2009-06-30 15:00:50 -04:00
|
|
|
|
require 'active_support/testing/isolation'
|
2012-07-03 17:21:53 -04:00
|
|
|
|
require 'active_support/testing/mocha_module'
|
2010-03-17 16:44:24 -04:00
|
|
|
|
require 'active_support/core_ext/kernel/reporting'
|
2012-07-09 16:11:05 -04:00
|
|
|
|
require 'active_support/deprecation'
|
2008-11-23 17:48:36 -05:00
|
|
|
|
|
2008-11-22 22:18:30 -05:00
|
|
|
|
module ActiveSupport
|
2012-01-06 18:50:06 -05:00
|
|
|
|
class TestCase < ::MiniTest::Spec
|
|
|
|
|
|
2012-07-03 17:21:53 -04:00
|
|
|
|
include ActiveSupport::Testing::MochaModule
|
|
|
|
|
|
2012-01-06 18:50:06 -05:00
|
|
|
|
# Use AS::TestCase for the base class when describing a model
|
|
|
|
|
register_spec_type(self) do |desc|
|
2012-07-09 16:11:05 -04:00
|
|
|
|
Class === desc && desc < ActiveRecord::Model
|
2012-01-06 18:50:06 -05:00
|
|
|
|
end
|
|
|
|
|
|
2011-12-31 03:22:37 -05:00
|
|
|
|
Assertion = MiniTest::Assertion
|
2012-06-06 08:56:27 -04:00
|
|
|
|
alias_method :method_name, :__name__
|
2008-11-07 12:45:48 -05:00
|
|
|
|
|
2009-05-20 19:52:56 -04:00
|
|
|
|
$tags = {}
|
|
|
|
|
def self.for_tag(tag)
|
|
|
|
|
yield if $tags[tag]
|
|
|
|
|
end
|
|
|
|
|
|
2012-01-05 19:51:37 -05:00
|
|
|
|
# FIXME: we have tests that depend on run order, we should fix that and
|
|
|
|
|
# remove this method.
|
|
|
|
|
def self.test_order # :nodoc:
|
|
|
|
|
:sorted
|
|
|
|
|
end
|
|
|
|
|
|
2008-11-07 12:45:48 -05:00
|
|
|
|
include ActiveSupport::Testing::SetupAndTeardown
|
|
|
|
|
include ActiveSupport::Testing::Assertions
|
2008-11-23 16:11:07 -05:00
|
|
|
|
include ActiveSupport::Testing::Deprecation
|
2012-07-09 16:11:05 -04:00
|
|
|
|
|
|
|
|
|
def self.describe(text)
|
|
|
|
|
if block_given?
|
|
|
|
|
super
|
|
|
|
|
else
|
|
|
|
|
ActiveSupport::Deprecation.warn("`describe` without a block is deprecated, please switch to: `def self.name; #{text.inspect}; end`\n")
|
|
|
|
|
|
|
|
|
|
class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
|
|
|
|
|
def self.name
|
|
|
|
|
"#{text}"
|
|
|
|
|
end
|
|
|
|
|
RUBY_EVAL
|
|
|
|
|
end
|
|
|
|
|
end
|
2012-07-08 13:54:21 -04:00
|
|
|
|
|
|
|
|
|
class << self
|
|
|
|
|
alias :test :it
|
|
|
|
|
end
|
2012-01-05 18:46:17 -05:00
|
|
|
|
|
|
|
|
|
# test/unit backwards compatibility methods
|
|
|
|
|
alias :assert_raise :assert_raises
|
|
|
|
|
alias :assert_not_nil :refute_nil
|
|
|
|
|
alias :assert_not_equal :refute_equal
|
|
|
|
|
alias :assert_no_match :refute_match
|
2012-01-06 17:04:09 -05:00
|
|
|
|
alias :assert_not_same :refute_same
|
2012-01-05 18:46:17 -05:00
|
|
|
|
|
2012-06-19 16:08:13 -04:00
|
|
|
|
# Fails if the block raises an exception.
|
|
|
|
|
#
|
|
|
|
|
# assert_nothing_raised do
|
|
|
|
|
# ...
|
|
|
|
|
# end
|
2012-01-05 18:46:17 -05:00
|
|
|
|
def assert_nothing_raised(*args)
|
|
|
|
|
yield
|
|
|
|
|
end
|
2008-11-07 12:45:48 -05:00
|
|
|
|
end
|
2008-11-22 22:18:30 -05:00
|
|
|
|
end
|