diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2012-07-09 13:11:05 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2012-07-09 13:13:59 -0700 |
commit | d4811702510bf289bb07ce93263cd04d49e96bea (patch) | |
tree | 9dd556b8f0f7d2e037db167d302eb849f0275bc7 /activesupport/lib | |
parent | d1c4acc669ac1c908cb6fab6e0be5d5c2f310272 (diff) | |
download | rails-d4811702510bf289bb07ce93263cd04d49e96bea.tar.gz rails-d4811702510bf289bb07ce93263cd04d49e96bea.tar.bz2 rails-d4811702510bf289bb07ce93263cd04d49e96bea.zip |
deprecate `describe` without a block.
minitest/spec provides `describe`, so deprecate the rails version and
have people use the superclass version
Diffstat (limited to 'activesupport/lib')
-rw-r--r-- | activesupport/lib/active_support/test_case.rb | 19 | ||||
-rw-r--r-- | activesupport/lib/active_support/testing/declarative.rb | 22 |
2 files changed, 16 insertions, 25 deletions
diff --git a/activesupport/lib/active_support/test_case.rb b/activesupport/lib/active_support/test_case.rb index e5e9aa8cc7..d2b8e602f9 100644 --- a/activesupport/lib/active_support/test_case.rb +++ b/activesupport/lib/active_support/test_case.rb @@ -3,10 +3,10 @@ require 'minitest/spec' require 'active_support/testing/setup_and_teardown' require 'active_support/testing/assertions' require 'active_support/testing/deprecation' -require 'active_support/testing/declarative' require 'active_support/testing/isolation' require 'active_support/testing/mocha_module' require 'active_support/core_ext/kernel/reporting' +require 'active_support/deprecation' module ActiveSupport class TestCase < ::MiniTest::Spec @@ -15,7 +15,7 @@ module ActiveSupport # Use AS::TestCase for the base class when describing a model register_spec_type(self) do |desc| - desc < ActiveRecord::Model + Class === desc && desc < ActiveRecord::Model end Assertion = MiniTest::Assertion @@ -35,7 +35,20 @@ module ActiveSupport include ActiveSupport::Testing::SetupAndTeardown include ActiveSupport::Testing::Assertions include ActiveSupport::Testing::Deprecation - extend ActiveSupport::Testing::Declarative + + 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 class << self alias :test :it diff --git a/activesupport/lib/active_support/testing/declarative.rb b/activesupport/lib/active_support/testing/declarative.rb deleted file mode 100644 index db554a9542..0000000000 --- a/activesupport/lib/active_support/testing/declarative.rb +++ /dev/null @@ -1,22 +0,0 @@ -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 - end - end -end |