summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_command_manager.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_command_manager.rb')
-rw-r--r--test/rubygems/test_gem_command_manager.rb41
1 files changed, 37 insertions, 4 deletions
diff --git a/test/rubygems/test_gem_command_manager.rb b/test/rubygems/test_gem_command_manager.rb
index 45be9f01be..c6aaff291a 100644
--- a/test/rubygems/test_gem_command_manager.rb
+++ b/test/rubygems/test_gem_command_manager.rb
@@ -224,26 +224,34 @@ class TestGemCommandManager < Gem::TestCase
end
#check defaults
- @command_manager.process_args %w[query]
+ Gem::Deprecate.skip_during do
+ @command_manager.process_args %w[query]
+ end
assert_equal(//, check_options[:name])
assert_equal :local, check_options[:domain]
assert_equal false, check_options[:details]
#check settings
check_options = nil
- @command_manager.process_args %w[query --name foobar --local --details]
+ Gem::Deprecate.skip_during do
+ @command_manager.process_args %w[query --name foobar --local --details]
+ end
assert_equal(/foobar/i, check_options[:name])
assert_equal :local, check_options[:domain]
assert_equal true, check_options[:details]
#remote domain
check_options = nil
- @command_manager.process_args %w[query --remote]
+ Gem::Deprecate.skip_during do
+ @command_manager.process_args %w[query --remote]
+ end
assert_equal :remote, check_options[:domain]
#both (local/remote) domains
check_options = nil
- @command_manager.process_args %w[query --both]
+ Gem::Deprecate.skip_during do
+ @command_manager.process_args %w[query --both]
+ end
assert_equal :both, check_options[:domain]
end
@@ -268,4 +276,29 @@ class TestGemCommandManager < Gem::TestCase
assert_equal Dir.pwd, check_options[:install_dir]
end
+ def test_deprecated_command
+ require 'rubygems/command'
+ foo_command = Class.new(Gem::Command) do
+ extend Gem::Deprecate
+
+ deprecate_command(2099, 4)
+
+ def execute
+ say "pew pew!"
+ end
+ end
+
+ Gem::Commands.send(:const_set, :FooCommand, foo_command)
+ @command_manager.register_command(:foo, foo_command.new("foo"))
+
+ use_ui @ui do
+ @command_manager.process_args(%w[foo])
+ end
+
+ assert_equal "pew pew!\n", @ui.output
+ assert_equal("WARNING: foo command is deprecated. It will be removed on or after 2099-04-01.\n", @ui.error)
+ ensure
+ Gem::Commands.send(:remove_const, :FooCommand)
+ end
+
end