summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-08-27 20:37:05 +0000
committerryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-08-27 20:37:05 +0000
commit344849694ac75672a34c11985314d03da5781c9e (patch)
tree4148b2f62384b3ca20addb6c771d571475d1fd90 /test
parentee760a5d662ea7adc3dba7df24dc6a26e9373f87 (diff)
backported 33102 from trunk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@33104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/minitest/test_minitest_spec.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/test/minitest/test_minitest_spec.rb b/test/minitest/test_minitest_spec.rb
index 26dd4ec46a..d9f6368a80 100644
--- a/test/minitest/test_minitest_spec.rb
+++ b/test/minitest/test_minitest_spec.rb
@@ -7,6 +7,11 @@
require 'minitest/autorun'
require 'stringio'
+class MiniSpecA < MiniTest::Spec; end
+class MiniSpecB < MiniTest::Spec; end
+class ExampleA; end
+class ExampleB < ExampleA; end
+
describe MiniTest::Spec do
before do
@assertion_count = 4
@@ -279,6 +284,38 @@ class TestMeta < MiniTest::Unit::TestCase
return x, y, z, before_list, after_list
end
+ def test_register_spec_type
+ original_types = MiniTest::Spec::TYPES.dup
+
+ assert_equal [[//, MiniTest::Spec]], MiniTest::Spec::TYPES
+
+ MiniTest::Spec.register_spec_type(/woot/, TestMeta)
+
+ p = lambda do |x| true end
+ MiniTest::Spec.register_spec_type TestMeta, &p
+
+ keys = MiniTest::Spec::TYPES.map(&:first)
+
+ assert_includes keys, /woot/
+ assert_includes keys, p
+ ensure
+ MiniTest::Spec::TYPES.replace original_types
+ end
+
+ def test_spec_type
+ original_types = MiniTest::Spec::TYPES.dup
+
+ MiniTest::Spec.register_spec_type(/A$/, MiniSpecA)
+ MiniTest::Spec.register_spec_type MiniSpecB do |desc|
+ desc.superclass == ExampleA
+ end
+
+ assert_equal MiniSpecA, MiniTest::Spec.spec_type(ExampleA)
+ assert_equal MiniSpecB, MiniTest::Spec.spec_type(ExampleB)
+ ensure
+ MiniTest::Spec::TYPES.replace original_types
+ end
+
def test_structure
x, y, z, * = util_structure