diff options
author | ryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-12-01 05:33:32 +0000 |
---|---|---|
committer | ryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-12-01 05:33:32 +0000 |
commit | d264d3cc38696d8b66d7261ae75a96fb8bdf2729 (patch) | |
tree | c4db29fe9f04a410c985174f39bcb494adf9204d /lib/minitest/spec.rb | |
parent | ed22b0ecee668cbd58d469c05b10e74cd6f604ab (diff) | |
download | ruby-d264d3cc38696d8b66d7261ae75a96fb8bdf2729.tar.gz |
Imported minitest 2.0.0 r5952. Fixed test/unit.rb to work with changes
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/minitest/spec.rb')
-rw-r--r-- | lib/minitest/spec.rb | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/minitest/spec.rb b/lib/minitest/spec.rb index 2050337015..8e2412e5ea 100644 --- a/lib/minitest/spec.rb +++ b/lib/minitest/spec.rb @@ -66,10 +66,13 @@ module Kernel def describe desc, &block stack = MiniTest::Spec.describe_stack - name = desc.to_s.split(/\W+/).map { |s| s.capitalize }.join + "Spec" - prev = stack.last - name = "#{prev == MiniTest::Spec ? nil : prev}::#{name}" - cls = Object.class_eval "class #{name} < #{prev}; end; #{name}" + name = [stack.last, desc].compact.join("::") + cls = Class.new(stack.last || MiniTest::Spec) + + # :stopdoc: + # omg this sucks + (class << cls; self; end).send(:define_method, :to_s) { name } + # :startdoc: cls.nuke_test_methods! @@ -96,7 +99,7 @@ end class MiniTest::Spec < MiniTest::Unit::TestCase - @@describe_stack = [MiniTest::Spec] + @@describe_stack = [] def self.describe_stack # :nodoc: @@describe_stack end |