1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Revert "minitest provides "it" and "describe""

This reverts commit 22bc12ec37.

REASON: We will remove the MiniTest::Spec from Rails and we need these
methods again

Conflicts:
	activesupport/lib/active_support/test_case.rb
This commit is contained in:
Rafael Mendonça França 2012-12-28 14:06:10 -03:00
parent 5e5107430b
commit d58d71f565
2 changed files with 42 additions and 19 deletions

View file

@ -5,6 +5,7 @@ require 'active_support/testing/setup_and_teardown'
require 'active_support/testing/assertions' require 'active_support/testing/assertions'
require 'active_support/testing/deprecation' require 'active_support/testing/deprecation'
require 'active_support/testing/pending' require 'active_support/testing/pending'
require 'active_support/testing/declarative'
require 'active_support/testing/isolation' require 'active_support/testing/isolation'
require 'active_support/testing/constant_lookup' require 'active_support/testing/constant_lookup'
require 'active_support/core_ext/kernel/reporting' require 'active_support/core_ext/kernel/reporting'
@ -42,25 +43,7 @@ module ActiveSupport
include ActiveSupport::Testing::Assertions include ActiveSupport::Testing::Assertions
include ActiveSupport::Testing::Deprecation include ActiveSupport::Testing::Deprecation
include ActiveSupport::Testing::Pending include ActiveSupport::Testing::Pending
extend ActiveSupport::Testing::Declarative
def self.describe(text)
if block_given?
super
else
message = "`describe` without a block is deprecated, please switch to: `def self.name; #{text.inspect}; end`\n"
ActiveSupport::Deprecation.warn message
class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
def self.name
"#{text}"
end
RUBY_EVAL
end
end
class << self
alias :test :it
end
# test/unit backwards compatibility methods # test/unit backwards compatibility methods
alias :assert_raise :assert_raises alias :assert_raise :assert_raises

View file

@ -0,0 +1,40 @@
module ActiveSupport
module Testing
module Declarative
def self.extended(klass) #:nodoc:
klass.class_eval do
unless method_defined?(:describe)
def self.describe(text)
class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
def self.name
"#{text}"
end
RUBY_EVAL
end
end
end
end
unless defined?(Spec)
# test "verify something" do
# ...
# end
def test(name, &block)
test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym
defined = instance_method(test_name) rescue false
raise "#{test_name} is already defined in #{self}" if defined
if block_given?
define_method(test_name, &block)
else
define_method(test_name) do
flunk "No implementation provided for #{name}"
end
end
end
end
end
end
end