From 9694bb8cac12969300692dac5a1cf7aa4e3a46cd Mon Sep 17 00:00:00 2001 From: drbrain Date: Thu, 29 Nov 2012 06:52:18 +0000 Subject: * lib/rubygems*: Updated to RubyGems 2.0 * test/rubygems*: ditto. * common.mk (prelude): Updated for RubyGems 2.0 source rearrangement. * tool/change_maker.rb: Allow invalid UTF-8 characters in source files. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/rubygems/test_deprecate.rb | 76 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 test/rubygems/test_deprecate.rb (limited to 'test/rubygems/test_deprecate.rb') diff --git a/test/rubygems/test_deprecate.rb b/test/rubygems/test_deprecate.rb new file mode 100644 index 0000000000..ed4e9aa5ff --- /dev/null +++ b/test/rubygems/test_deprecate.rb @@ -0,0 +1,76 @@ +require 'rubygems/test_case' +# require 'rubygems/builder' +# require 'rubygems/package' +require 'rubygems/deprecate' + +class TestDeprecate < Gem::TestCase + + def setup + super + + # Gem::Deprecate.saved_warnings.clear + @original_skip = Gem::Deprecate.skip + Gem::Deprecate.skip = false + end + + def teardown + super + + # Gem::Deprecate.saved_warnings.clear + Gem::Deprecate.skip = @original_skip + end + + def test_defaults + assert_equal false, @original_skip + end + + def test_assignment + Gem::Deprecate.skip = false + assert_equal false, Gem::Deprecate.skip + + Gem::Deprecate.skip = true + assert_equal true, Gem::Deprecate.skip + + Gem::Deprecate.skip = nil + assert([true,false].include? Gem::Deprecate.skip) + end + + def test_skip + Gem::Deprecate.skip_during do + assert_equal true, Gem::Deprecate.skip + end + + Gem::Deprecate.skip = nil + end + + class Thing + extend Gem::Deprecate + attr_accessor :message + def foo + @message = "foo" + end + def bar + @message = "bar" + end + deprecate :foo, :bar, 2099, 3 + end + + def test_deprecated_method_calls_the_old_method + capture_io do + thing = Thing.new + thing.foo + assert_equal "foo", thing.message + end + end + + def test_deprecated_method_outputs_a_warning + out, err = capture_io do + thing = Thing.new + thing.foo + end + + assert_equal "", out + assert_match(/Thing#foo is deprecated; use bar instead\./, err) + assert_match(/on or after 2099-03-01/, err) + end +end -- cgit v1.2.3