From 26cf11dded94416b6a2ac192378993a77c07f3c6 Mon Sep 17 00:00:00 2001 From: Krekoten' Marjan Date: Fri, 24 Sep 2010 04:17:52 +0800 Subject: [PATCH] Ruby >= 1.9.1 compatibility --- lib/test_declarative.rb | 12 +++++++++++- test/test_declarative_test.rb | 3 ++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/test_declarative.rb b/lib/test_declarative.rb index df11d57..34ae02b 100644 --- a/lib/test_declarative.rb +++ b/lib/test_declarative.rb @@ -17,4 +17,14 @@ def test(name, &block) end end end -end \ No newline at end of file + + target.instance_eval do + alias :orig_test_methods :test_methods + + def test_methods + methods = orig_test_methods + methods.delete('test') + methods + end + end if target.respond_to?(:test_methods) +end diff --git a/test/test_declarative_test.rb b/test/test_declarative_test.rb index 6cf98d7..a166582 100644 --- a/test/test_declarative_test.rb +++ b/test/test_declarative_test.rb @@ -11,7 +11,8 @@ def test_responds_to_test def test_adds_a_test_method called = false assert_nothing_raised { Test::Unit::TestCase.test('some test') { called = true } } - Test::Unit::TestCase.new(:'test_some_test').run(Test::Unit::TestResult.new) {} + puts Test::Unit::TestCase.public_instance_methods(true).grep(/^test/).map { |m| m.to_s } + Test::Unit::TestCase.new(:'test_some_test').run((RUBY_VERSION < '1.9.1' ? Test::Unit::TestResult : MiniTest::Unit).new) {} assert called end end \ No newline at end of file