Skip to content
Permalink
Browse files
Revert "minitest provides "it" and "describe""
This reverts commit 22bc12e.

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

Conflicts:
	activesupport/lib/active_support/test_case.rb
  • Loading branch information
rafaelfranca committed Dec 31, 2012
1 parent 5e51074 commit d58d71f565848cccc1a3fa4ae504559042146c42
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 19 deletions.
@@ -5,6 +5,7 @@
require 'active_support/testing/assertions'
require 'active_support/testing/deprecation'
require 'active_support/testing/pending'
require 'active_support/testing/declarative'
require 'active_support/testing/isolation'
require 'active_support/testing/constant_lookup'
require 'active_support/core_ext/kernel/reporting'
@@ -42,25 +43,7 @@ def self.test_order # :nodoc:
include ActiveSupport::Testing::Assertions
include ActiveSupport::Testing::Deprecation
include ActiveSupport::Testing::Pending

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
extend ActiveSupport::Testing::Declarative

# test/unit backwards compatibility methods
alias :assert_raise :assert_raises
@@ -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

0 comments on commit d58d71f

Please sign in to comment.